Ignore:
Timestamp:
Oct 21, 2020 2:55:41 PM (4 years ago)
Author:
raasch
Message:

files re-formatted to follow the PALM coding standard

File:
1 edited

Legend:

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

    r4731 r4753  
    11!> @file module_interface.f90
    2 !------------------------------------------------------------------------------!
    3 ! This file is part of PALM.
    4 !
    5 ! PALM is free software: you can redistribute it and/or modify it under the
    6 ! terms of the GNU General Public License as published by the Free Software
    7 ! Foundation, either version 3 of the License, or (at your option) any later
    8 ! version.
    9 !
    10 ! PALM is distributed in the hope that it will be useful, but WITHOUT ANY
    11 ! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
    12 ! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
    13 !
    14 ! You should have received a copy of the GNU General Public License along with
    15 ! PALM. If not, see <http://www.gnu.org/licenses/>.
     2!--------------------------------------------------------------------------------------------------!
     3! This file is part of the PALM model system.
     4!
     5! PALM is free software: you can redistribute it and/or modify it under the terms of the GNU General
     6! Public License as published by the Free Software Foundation, either version 3 of the License, or
     7! (at your option) any later version.
     8!
     9! PALM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
     10! implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
     11! Public License for more details.
     12!
     13! You should have received a copy of the GNU General Public License along with PALM. If not, see
     14! <http://www.gnu.org/licenses/>.
    1615!
    1716! Copyright 1997-2020 Leibniz Universitaet Hannover
    18 !------------------------------------------------------------------------------!
     17!--------------------------------------------------------------------------------------------------!
    1918!
    2019! Current revisions:
     
    2524! -----------------
    2625! $Id$
     26! file re-formatted to follow the PALM coding standard
     27!
     28! 4731 2020-10-07 13:25:11Z schwenkel
    2729! Move exchange_horiz from time_integration to modules
    2830!
     
    3234! 4590 2020-07-06 14:34:59Z suehring
    3335! Enable mpi-io for biomet
    34 ! 
     36!
    3537! 4525 2020-05-10 17:05:07Z raasch
    3638! added restart I/O for global salsa data,
    3739! added restart with MPI-IO for salsa
    38 ! 
     40!
    3941! 4518 2020-05-04 15:44:28Z suehring
    4042! Call of doq_rrd_local enabled
    41 ! 
     43!
    4244! 4517 2020-05-03 14:29:30Z raasch
    4345! added restart with MPI-IO for reading local arrays
    44 ! 
     46!
    4547! 4514 2020-04-30 16:29:59Z suehring
    4648! Added global restart routines for plant-canopy model
    47 ! 
     49!
    4850! 4495 2020-04-13 20:11:20Z raasch
    4951! restart data handling with MPI-IO added
    50 ! 
     52!
    5153! 4414 2020-02-19 20:16:04Z suehring
    5254! Add module interface for basic initialization of numerics.
    53 ! 
     55!
    5456! 4411 2020-02-18 14:28:02Z maronga
    5557! Added output routines for WTM
    56 ! 
     58!
    5759! 4407 2020-02-13 20:31:44Z knoop
    5860! Changed program_debug_output_unit to 9 in dom_init call
    59 ! 
     61!
    6062! 4400 2020-02-10 20:32:41Z suehring
    6163! - Use data-output module for virtual measurement output
    6264! - Remove deprecated routines for virtual measurement module
    63 ! 
     65!
    6466! 4361 2020-01-07 12:22:38Z suehring
    6567! Remove unused arrays in pmc_rrd_local
    66 ! 
     68!
    6769! 4360 2020-01-07 11:25:50Z suehring
    6870! Add pcm_rrd_local and pcm_wrd_local
    69 ! 
     71!
    7072! 4331 2019-12-10 18:25:02Z suehring
    71 ! Change interface for doq_check_data_output, in order to perform further
    72 ! output checks.
    73 !
     73! Change interface for doq_check_data_output, in order to perform further output checks.
     74!
    7475! 4281 2019-10-29 15:15:39Z schwenkel
    7576! Added dynamics boundary conditions
    76 ! 
     77!
    7778! 4272 2019-10-23 15:18:57Z schwenkel
    78 ! Further modularization of boundary conditions: moved boundary conditions to
    79 ! respective modules
     79! Further modularization of boundary conditions: moved boundary conditions to respective modules
    8080!
    8181! 4268 2019-10-17 11:29:38Z schwenkel
    8282! Introduction of module_interface_boundary_conditions
    83 ! 
     83!
    8484! 4182 2019-08-22 15:20:23Z scharf
    8585! Corrected "Former revisions" section
    86 ! 
     86!
    8787! 4173 2019-08-20 12:04:06Z gronemeier
    8888! add vdi_internal_controls
    89 ! 
     89!
    9090! 4157 2019-08-14 09:19:12Z suehring
    9191! Call doq_init from module interface
    92 ! 
     92!
    9393! 4132 2019-08-02 12:34:17Z suehring
    9494! Bugfix in masked data output for diagnostic quantities
    95 ! 
     95!
    9696! 4131 2019-08-02 11:06:18Z monakurppa
    9797! Add output of 3D plant-canopy outputs (merge from branch resler)
    98 ! 
     98!
    9999! 4048 2019-06-21 21:00:21Z knoop
    100100! Moved turbulence_closure_mod calls into this module_interface
    101 ! 
     101!
    102102! 4047 2019-06-21 18:58:09Z knoop
    103103! Introduction of the dynamics module
     
    110110!
    111111! 4017 2019-06-06 12:16:46Z schwenkel
    112 ! local_pf need INTENT(INOUT) attribute rather than INTENT(OUT). This is
    113 ! because INTENT(OUT) sets the array to not-defined. Especially for outputs that
    114 ! are not defined everywhere, e.g. land-surface outputs, this will be
    115 ! problematic as NaN will be output.
     112! local_pf need INTENT(INOUT) attribute rather than INTENT(OUT). This is because INTENT(OUT) sets
     113! the array to not-defined. Especially for outputs that are not defined everywhere, e.g.
     114! land-surface outputs, this will be problematic as NaN will be output.
    116115!
    117116! 3987 2019-05-22 09:52:13Z kanani
     
    119118!
    120119! 3956 2019-05-07 12:32:52Z monakurppa
    121 ! - Added calls for salsa_non_advective_processes and
    122 !   salsa_exchange_horiz_bounds
    123 ! - Moved the call for salsa_data_output_2d/3d before that of
    124 !   radiation_data_output_2d/3d. radiation_data_output_2d/3d tries to read a
    125 !   salsa output variable and encounters a segmentation fault for "Ntot" due
    126 !   to the shortoutput name
     120! - Added calls for salsa_non_advective_processes and salsa_exchange_horiz_bounds
     121! - Moved the call for salsa_data_output_2d/3d before that of radiation_data_output_2d/3d.
     122!   radiation_data_output_2d/3d tries to read a salsa output variable and encounters a segmentation
     123!   fault for "Ntot" due to the shortoutput name
    127124!
    128125! 3931 2019-04-24 16:34:28Z schwenkel
     
    133130!
    134131! 3887 2019 -04-12 08:47:41Z schwenkel
    135 ! Changes related to global restructuring of location messages and introduction
    136 ! of additional debug messages
     132! Changes related to global restructuring of location messages and introduction of additional debug
     133! messages
    137134!
    138135! 3880 2019 -04-08 21:43:02Z knoop
     
    149146!
    150147! 3766 2019-02-26 16:23:41Z raasch
    151 ! first argument removed from module_interface_rrd_*, statement added to avoid
    152 ! compiler warning about unused variable, file reformatted with respect to coding
    153 ! standards
     148! first argument removed from module_interface_rrd_*, statement added to avoid compiler warning
     149! about unused variable, file reformatted with respect to coding standards
    154150!
    155151! 3762 2019-02-25 16:54:16Z suehring
     
    166162!
    167163! 3735 2019-02-12 09:52:40Z dom_dwd_user
    168 ! Accepting variable j from check_parameters and passing it to
    169 ! bio_check_data_output
     164! Accepting variable j from check_parameters and passing it to bio_check_data_output
    170165! Add required restart data for surface output module
    171166!
     
    189184!
    190185! 3649 2019-01-02 16:52:21Z suehring
    191 ! Initialize strings, in order to avoid compiler warnings for non-initialized
    192 ! characters with intent(out) attribute
     186! Initialize strings, in order to avoid compiler warnings for non-initialized characters with
     187! intent(out) attribute
    193188!
    194189! 3648 2019-01-02 16:35:46Z suehring
     
    202197!>
    203198!> @todo Re-format module to be consistent with coding standard
    204 !------------------------------------------------------------------------------!
     199!--------------------------------------------------------------------------------------------------!
    205200 MODULE module_interface
    206201
    207     USE indices,                                                               &
     202    USE indices,                                                                                   &
    208203        ONLY:  nbgp, nxl, nxlg, nxr, nxrg, nys, nysg, nyn, nyng, nzb, nzt
    209204
    210205    USE kinds
    211206
    212     USE pegrid,                                                                &
     207    USE pegrid,                                                                                    &
    213208        ONLY:  comm2d
    214209
     
    216211!-- load module-specific control parameters.
    217212!-- ToDo: move all of them to respective module or a dedicated central module
    218     USE data_output_module,                                                    &
    219         ONLY:  dom_def_end,                                                    &
    220                dom_finalize_output,                                            &
     213    USE data_output_module,                                                                        &
     214        ONLY:  dom_def_end,                                                                        &
     215               dom_finalize_output,                                                                &
    221216               dom_init
    222217
    223     USE dynamics_mod, &
    224         ONLY:  dynamics_parin, &
    225                dynamics_check_parameters, &
    226                dynamics_check_data_output_ts, &
    227                dynamics_check_data_output_pr, &
    228                dynamics_check_data_output, &
    229                dynamics_init_masks, &
    230                dynamics_define_netcdf_grid, &
    231                dynamics_init_arrays, &
    232                dynamics_init, &
    233                dynamics_init_checks, &
    234                dynamics_header, &
    235                dynamics_actions, &
    236                dynamics_non_advective_processes, &
    237                dynamics_exchange_horiz, &
    238                dynamics_prognostic_equations, &
    239                dynamics_boundary_conditions, &
    240                dynamics_swap_timelevel, &
    241                dynamics_3d_data_averaging, &
    242                dynamics_data_output_2d, &
    243                dynamics_data_output_3d, &
    244                dynamics_statistics, &
    245                dynamics_rrd_global, &
    246                dynamics_rrd_local, &
    247                dynamics_wrd_global, &
    248                dynamics_wrd_local, &
    249                dynamics_last_actions
    250 
    251     USE turbulence_closure_mod, &
    252         ONLY:  tcm_check_parameters, &
    253                tcm_check_data_output, &
    254                tcm_init_arrays, &
    255                tcm_init, &
    256                tcm_actions, &
    257                tcm_prognostic_equations, &
    258                tcm_boundary_conds, &
    259                tcm_swap_timelevel, &
    260                tcm_3d_data_averaging, &
    261                tcm_data_output_2d, &
    262                tcm_data_output_3d
    263 
    264     USE control_parameters,                                                    &
    265         ONLY:  air_chemistry,                                                  &
    266                biometeorology,                                                 &
    267                coupling_char,                                                  &
    268                debug_output,                                                   &
    269                debug_output_timestep,                                          &
    270                indoor_model,                                                   &
    271                land_surface,                                                   &
    272                large_scale_forcing,                                            &
    273                nesting_offline,                                                &
    274                nudging,                                                        &
    275                ocean_mode,                                                     &
    276                plant_canopy,                                                   &
    277                salsa,                                                          &
    278                surface_output,                                                 &
    279                syn_turb_gen,                                                   &
    280                urban_surface,                                                  &
    281                vdi_checks,                                                     &
    282                virtual_flight,                                                 &
    283                virtual_measurement,                                            &
     218    USE dynamics_mod,                                                                              &
     219        ONLY:  dynamics_3d_data_averaging,                                                        &
     220               dynamics_actions,                                                                  &
     221               dynamics_boundary_conditions,                                                      &
     222               dynamics_check_data_output,                                                        &
     223               dynamics_check_data_output_pr,                                                      &
     224               dynamics_check_data_output_ts,                                                      &
     225               dynamics_check_parameters,                                                          &
     226               dynamics_data_output_2d,                                                            &
     227               dynamics_data_output_3d,                                                            &
     228               dynamics_define_netcdf_grid,                                                        &
     229               dynamics_exchange_horiz,                                                            &
     230               dynamics_header,                                                                    &
     231               dynamics_init,                                                                      &
     232               dynamics_init_arrays,                                                              &
     233               dynamics_init_checks,                                                              &
     234               dynamics_init_masks,                                                                &
     235               dynamics_last_actions,                                                              &
     236               dynamics_non_advective_processes,                                                  &
     237               dynamics_parin,                                                                    &
     238               dynamics_prognostic_equations,                                                      &
     239               dynamics_rrd_global,                                                                &
     240               dynamics_rrd_local,                                                                &
     241               dynamics_statistics,                                                                &
     242               dynamics_swap_timelevel,                                                            &
     243               dynamics_wrd_global,                                                                &
     244               dynamics_wrd_local
     245
     246    USE turbulence_closure_mod,                                                                    &
     247        ONLY:  tcm_3d_data_averaging,                                                              &
     248               tcm_actions,                                                                        &
     249               tcm_boundary_conds,                                                                &
     250               tcm_check_data_output,                                                              &
     251               tcm_check_parameters,                                                              &
     252               tcm_data_output_2d,                                                                &
     253               tcm_data_output_3d,                                                                &
     254               tcm_init,                                                                          &
     255               tcm_init_arrays,                                                                    &
     256               tcm_prognostic_equations,                                                          &
     257               tcm_swap_timelevel
     258
     259    USE control_parameters,                                                                        &
     260        ONLY:  air_chemistry,                                                                      &
     261               biometeorology,                                                                     &
     262               coupling_char,                                                                      &
     263               debug_output,                                                                       &
     264               debug_output_timestep,                                                              &
     265               indoor_model,                                                                       &
     266               land_surface,                                                                       &
     267               large_scale_forcing,                                                                &
     268               nesting_offline,                                                                    &
     269               nudging,                                                                            &
     270               ocean_mode,                                                                         &
     271               plant_canopy,                                                                       &
     272               salsa,                                                                              &
     273               surface_output,                                                                     &
     274               syn_turb_gen,                                                                       &
     275               urban_surface,                                                                      &
     276               vdi_checks,                                                                         &
     277               virtual_flight,                                                                     &
     278               virtual_measurement,                                                                &
    284279               wind_turbine
    285280
    286281!
    287 !-- load interface routines of all PALM modules
    288     USE biometeorology_mod,                                                    &
    289         ONLY:  bio_parin,                                                      &
    290                bio_check_data_output,                                          &
    291                bio_init,                                                       &
    292                bio_init_checks,                                                &
    293                bio_header,                                                     &
    294                bio_3d_data_averaging,                                          &
    295                bio_data_output_2d,                                             &
    296                bio_data_output_3d,                                             &
    297                bio_rrd_global,                                                 &
    298                bio_rrd_local,                                                  &
    299                bio_wrd_global,                                                 &
     282!-- Load interface routines of all PALM modules
     283    USE biometeorology_mod,                                                                        &
     284        ONLY:  bio_3d_data_averaging,                                                              &
     285               bio_check_data_output,                                                              &
     286               bio_data_output_2d,                                                                 &
     287               bio_data_output_3d,                                                                 &
     288               bio_init,                                                                           &
     289               bio_init_checks,                                                                    &
     290               bio_header,                                                                         &
     291               bio_parin,                                                                          &
     292               bio_rrd_global,                                                                     &
     293               bio_rrd_local,                                                                      &
     294               bio_wrd_global,                                                                     &
    300295               bio_wrd_local
    301296
    302     USE bulk_cloud_model_mod,                                                  &
    303         ONLY:  bulk_cloud_model,                                               &
    304                bcm_parin,                                                      &
    305                bcm_check_parameters,                                           &
    306                bcm_check_data_output_pr,                                       &
    307                bcm_check_data_output,                                          &
    308                bcm_init_arrays,                                                &
    309                bcm_init,                                                       &
    310                bcm_header,                                                     &
    311                bcm_actions,                                                    &
    312                bcm_non_advective_processes,                                    &
    313                bcm_exchange_horiz,                                             &
    314                bcm_prognostic_equations,                                       &
    315                bcm_boundary_conditions,                                        &
    316                bcm_swap_timelevel,                                             &
    317                bcm_3d_data_averaging,                                          &
    318                bcm_data_output_2d,                                             &
    319                bcm_data_output_3d,                                             &
    320                bcm_rrd_global,                                                 &
    321                bcm_wrd_global,                                                 &
    322                bcm_rrd_local,                                                  &
    323                bcm_wrd_local
    324 
    325    USE chemistry_model_mod,                                                    &
    326        ONLY:  chem_parin,                                                      &
    327               chem_check_parameters,                                           &
    328               chem_check_data_output_pr,                                       &
    329               chem_check_data_output,                                          &
    330               chem_exchange_horiz_bounds,                                      &
    331               chem_init_arrays,                                                &
    332               chem_init,                                                       &
    333               chem_header,                                                     &
    334               chem_actions,                                                    &
    335               chem_non_advective_processes,                                    &
    336               chem_prognostic_equations,                                       &
    337               chem_boundary_conditions,                                        &
    338               chem_swap_timelevel,                                             &
    339               chem_3d_data_averaging,                                          &
    340               chem_data_output_2d,                                             &
    341               chem_data_output_3d,                                             &
    342               chem_statistics,                                                 &
    343               chem_rrd_local,                                                  &
     297    USE bulk_cloud_model_mod,                                                                      &
     298        ONLY:  bcm_3d_data_averaging,                                                              &
     299               bcm_actions,                                                                        &
     300               bcm_boundary_conditions,                                                            &
     301               bcm_check_data_output_pr,                                                           &
     302               bcm_check_data_output,                                                              &
     303               bcm_check_parameters,                                                               &
     304               bcm_data_output_2d,                                                                 &
     305               bcm_data_output_3d,                                                                 &
     306               bcm_exchange_horiz,                                                                 &
     307               bcm_header,                                                                         &
     308               bcm_init_arrays,                                                                    &
     309               bcm_init,                                                                           &
     310               bcm_non_advective_processes,                                                        &
     311               bcm_parin,                                                                          &
     312               bcm_prognostic_equations,                                                           &
     313               bcm_rrd_global,                                                                     &
     314               bcm_rrd_local,                                                                      &
     315               bcm_swap_timelevel,                                                                 &
     316               bcm_wrd_global,                                                                     &
     317               bcm_wrd_local,                                                                      &
     318               bulk_cloud_model
     319
     320   USE chemistry_model_mod,                                                                        &
     321       ONLY:  chem_3d_data_averaging,                                                              &
     322              chem_actions,                                                                        &
     323              chem_boundary_conditions,                                                            &
     324              chem_check_data_output,                                                              &
     325              chem_check_data_output_pr,                                                           &
     326              chem_check_parameters,                                                               &
     327              chem_data_output_2d,                                                                 &
     328              chem_data_output_3d,                                                                 &
     329              chem_exchange_horiz_bounds,                                                          &
     330              chem_header,                                                                         &
     331              chem_init,                                                                           &
     332              chem_init_arrays,                                                                    &
     333              chem_non_advective_processes,                                                        &
     334              chem_parin,                                                                          &
     335              chem_prognostic_equations,                                                           &
     336              chem_rrd_local,                                                                      &
     337              chem_statistics,                                                                     &
     338              chem_swap_timelevel,                                                                 &
    344339              chem_wrd_local
    345340
    346     USE diagnostic_output_quantities_mod,                                      &
    347         ONLY:  doq_3d_data_averaging,                                          &
    348                doq_check_data_output,                                          &
    349                doq_define_netcdf_grid,                                         &
    350                doq_init,                                                       &
    351                doq_output_2d,                                                  &
    352                doq_output_3d,                                                  &
    353                doq_rrd_local,                                                  &
     341    USE diagnostic_output_quantities_mod,                                                          &
     342        ONLY:  doq_3d_data_averaging,                                                              &
     343               doq_check_data_output,                                                              &
     344               doq_define_netcdf_grid,                                                             &
     345               doq_init,                                                                           &
     346               doq_output_2d,                                                                      &
     347               doq_output_3d,                                                                      &
     348               doq_rrd_local,                                                                      &
    354349               doq_wrd_local
    355350
    356     USE flight_mod,                                                            &
    357         ONLY:  flight_parin,                                                   &
    358                flight_header,                                                  &
    359                flight_init,                                                    &
    360                flight_rrd_global,                                              &
     351    USE flight_mod,                                                                                &
     352        ONLY:  flight_header,                                                                      &
     353               flight_init,                                                                        &
     354               flight_parin,                                                                       &
     355               flight_rrd_global,                                                                  &
    361356               flight_wrd_global
    362357
    363     USE gust_mod,                                                              &
    364         ONLY:  gust_module_enabled,                                            &
    365                gust_parin,                                                     &
    366                gust_check_parameters,                                          &
    367                gust_check_data_output_pr,                                      &
    368                gust_check_data_output,                                         &
    369                gust_init_arrays,                                               &
    370                gust_init,                                                      &
    371                gust_header,                                                    &
    372                gust_actions,                                                   &
    373                gust_prognostic_equations,                                      &
    374                gust_swap_timelevel,                                            &
    375                gust_3d_data_averaging,                                         &
    376                gust_data_output_2d,                                            &
    377                gust_data_output_3d,                                            &
    378                gust_statistics,                                                &
    379                gust_rrd_global,                                                &
    380                gust_wrd_global,                                                &
    381                gust_rrd_local,                                                 &
     358    USE gust_mod,                                                                                  &
     359        ONLY:  gust_3d_data_averaging,                                                             &
     360               gust_actions,                                                                       &
     361               gust_check_parameters,                                                              &
     362               gust_check_data_output,                                                             &
     363               gust_check_data_output_pr,                                                          &
     364               gust_data_output_2d,                                                                &
     365               gust_data_output_3d,                                                                &
     366               gust_header,                                                                        &
     367               gust_init,                                                                          &
     368               gust_init_arrays,                                                                   &
     369               gust_module_enabled,                                                                &
     370               gust_parin,                                                                         &
     371               gust_prognostic_equations,                                                          &
     372               gust_rrd_global,                                                                    &
     373               gust_rrd_local,                                                                     &
     374               gust_statistics,                                                                    &
     375               gust_swap_timelevel,                                                                &
     376               gust_wrd_global,                                                                    &
    382377               gust_wrd_local
    383378
    384     USE indoor_model_mod,                                                      &
    385         ONLY:  im_parin,                                                       &
    386                im_check_data_output,                                           &
    387                im_check_parameters,                                            &
    388                im_data_output_3d,                                              &
    389                im_init
    390 
    391     USE lagrangian_particle_model_mod,                                         &
    392         ONLY:  lpm_parin,                                                      &
    393                lpm_header,                                                     &
    394                lpm_check_parameters,                                           &
    395                lpm_exchange_horiz_bounds,                                      &
    396                lpm_init_arrays,                                                &
    397                lpm_init,                                                       &
    398                lpm_actions,                                                    &
    399                lpm_rrd_global,                                                 &
    400                lpm_rrd_local,                                                  &
    401                lpm_wrd_local,                                                  &
     379    USE indoor_model_mod,                                                                          &
     380        ONLY:  im_check_data_output,                                                               &
     381               im_check_parameters,                                                                &
     382               im_data_output_3d,                                                                  &
     383               im_init,                                                                            &
     384               im_parin
     385
     386    USE lagrangian_particle_model_mod,                                                             &
     387        ONLY:  lpm_actions,                                                                        &
     388               lpm_check_parameters,                                                               &
     389               lpm_exchange_horiz_bounds,                                                          &
     390               lpm_header,                                                                         &
     391               lpm_init,                                                                           &
     392               lpm_init_arrays,                                                                    &
     393               lpm_parin,                                                                          &
     394               lpm_rrd_global,                                                                     &
     395               lpm_rrd_local,                                                                      &
     396               lpm_wrd_local,                                                                      &
    402397               lpm_wrd_global
    403398
    404     USE land_surface_model_mod,                                                &
    405         ONLY:  lsm_parin,                                                      &
    406                lsm_check_parameters,                                           &
    407                lsm_check_data_output_pr,                                       &
    408                lsm_check_data_output,                                          &
    409                lsm_init_arrays,                                                &
    410                lsm_init,                                                       &
    411                lsm_header,                                                     &
    412                lsm_swap_timelevel,                                             &
    413                lsm_3d_data_averaging,                                          &
    414                lsm_data_output_2d,                                             &
    415                lsm_rrd_local,                                                  &
     399    USE land_surface_model_mod,                                                                    &
     400        ONLY:  lsm_3d_data_averaging,                                                              &
     401               lsm_check_parameters,                                                               &
     402               lsm_check_data_output,                                                              &
     403               lsm_check_data_output_pr,                                                           &
     404               lsm_data_output_2d,                                                                 &
     405               lsm_header,                                                                         &
     406               lsm_init,                                                                           &
     407               lsm_init_arrays,                                                                    &
     408               lsm_parin,                                                                          &
     409               lsm_rrd_local,                                                                      &
     410               lsm_swap_timelevel,                                                                 &
    416411               lsm_wrd_local
    417412
    418     USE lsf_nudging_mod,                                                       &
    419         ONLY:  lsf_nudging_check_parameters,                                   &
    420                lsf_nudging_check_data_output_pr,                               &
    421                lsf_init,                                                       &
    422                nudge_init,                                                     &
    423                lsf_nudging_header
    424 
    425     USE multi_agent_system_mod,                                                &
     413    USE lsf_nudging_mod,                                                                           &
     414        ONLY:  lsf_nudging_check_parameters,                                                       &
     415               lsf_nudging_check_data_output_pr,                                                   &
     416               lsf_nudging_header,                                                                 &
     417               lsf_init,                                                                           &
     418               nudge_init
     419
     420    USE multi_agent_system_mod,                                                                    &
    426421        ONLY:  mas_parin
    427422
    428     USE nesting_offl_mod,                                                      &
    429         ONLY:  nesting_offl_parin,                                             &
    430                nesting_offl_check_parameters,                                  &
    431                nesting_offl_header
    432 
    433     USE ocean_mod,                                                             &
    434         ONLY:  ocean_parin,                                                    &
    435                ocean_check_parameters,                                         &
    436                ocean_check_data_output_pr,                                     &
    437                ocean_check_data_output,                                        &
    438                ocean_exchange_horiz,                                           &
    439                ocean_init_arrays,                                              &
    440                ocean_init,                                                     &
    441                ocean_header,                                                   &
    442                ocean_actions,                                                  &
    443                ocean_prognostic_equations,                                     &
    444                ocean_boundary_conditions,                                      &
    445                ocean_swap_timelevel,                                           &
    446                ocean_3d_data_averaging,                                        &
    447                ocean_data_output_2d,                                           &
    448                ocean_data_output_3d,                                           &
    449                ocean_rrd_global,                                               &
    450                ocean_wrd_global,                                               &
    451                ocean_rrd_local,                                                &
     423    USE nesting_offl_mod,                                                                          &
     424        ONLY:  nesting_offl_check_parameters,                                                      &
     425               nesting_offl_header,                                                                &
     426               nesting_offl_parin
     427
     428    USE ocean_mod,                                                                                 &
     429        ONLY:  ocean_3d_data_averaging,                                                            &
     430               ocean_actions,                                                                      &
     431               ocean_boundary_conditions,                                                          &
     432               ocean_check_parameters,                                                             &
     433               ocean_check_data_output,                                                            &
     434               ocean_check_data_output_pr,                                                         &
     435               ocean_data_output_2d,                                                               &
     436               ocean_data_output_3d,                                                               &
     437               ocean_exchange_horiz,                                                               &
     438               ocean_init_arrays,                                                                  &
     439               ocean_init,                                                                         &
     440               ocean_header,                                                                       &
     441               ocean_parin,                                                                        &
     442               ocean_prognostic_equations,                                                         &
     443               ocean_rrd_global,                                                                   &
     444               ocean_rrd_local,                                                                    &
     445               ocean_swap_timelevel,                                                               &
     446               ocean_wrd_global,                                                                   &
    452447               ocean_wrd_local
    453448
    454     USE particle_attributes,                                                   &
     449    USE particle_attributes,                                                                       &
    455450        ONLY:  particle_advection
    456451
    457     USE poismg_noopt_mod,                                                      &
     452    USE poismg_noopt_mod,                                                                          &
    458453        ONLY:  poismg_noopt_init
    459454
    460     USE plant_canopy_model_mod,                                                &
    461          ONLY: pcm_parin,                                                      &
    462                pcm_check_parameters,                                           &
    463                pcm_check_data_output,                                          &
    464                pcm_init,                                                       &
    465                pcm_header,                                                     &
    466                pcm_3d_data_averaging,                                          &
    467                pcm_data_output_3d,                                             &
    468                pcm_rrd_global,                                                 &
    469                pcm_rrd_local,                                                  &
    470                pcm_wrd_global,                                                 &
     455    USE plant_canopy_model_mod,                                                                    &
     456         ONLY: pcm_3d_data_averaging,                                                              &
     457               pcm_check_parameters,                                                               &
     458               pcm_check_data_output,                                                              &
     459               pcm_data_output_3d,                                                                 &
     460               pcm_header,                                                                         &
     461               pcm_init,                                                                           &
     462               pcm_parin,                                                                          &
     463               pcm_rrd_global,                                                                     &
     464               pcm_rrd_local,                                                                      &
     465               pcm_wrd_global,                                                                     &
    471466               pcm_wrd_local
    472467
    473     USE radiation_model_mod,                                                   &
    474         ONLY:  radiation,                                                      &
    475                radiation_parin,                                                &
    476                radiation_check_parameters,                                     &
    477                radiation_check_data_output_ts,                                 &
    478                radiation_check_data_output_pr,                                 &
    479                radiation_check_data_output,                                    &
    480                radiation_init,                                                 &
    481                radiation_header,                                               &
    482                radiation_3d_data_averaging,                                    &
    483                radiation_data_output_2d,                                       &
    484                radiation_data_output_3d,                                       &
    485                radiation_rrd_local,                                            &
     468    USE radiation_model_mod,                                                                       &
     469        ONLY:  radiation,                                                                          &
     470               radiation_3d_data_averaging,                                                        &
     471               radiation_check_parameters,                                                         &
     472               radiation_check_data_output,                                                        &
     473               radiation_check_data_output_pr,                                                     &
     474               radiation_check_data_output_ts,                                                     &
     475               radiation_data_output_2d,                                                           &
     476               radiation_data_output_3d,                                                           &
     477               radiation_header,                                                                   &
     478               radiation_init,                                                                     &
     479               radiation_parin,                                                                    &
     480               radiation_rrd_local,                                                                &
    486481               radiation_wrd_local
    487482
    488     USE salsa_mod,                                                             &
    489         ONLY:  salsa_parin,                                                    &
    490                salsa_check_parameters,                                         &
    491                salsa_check_data_output_pr,                                     &
    492                salsa_check_data_output,                                        &
    493                salsa_init_arrays,                                              &
    494                salsa_init,                                                     &
    495                salsa_header,                                                   &
    496                salsa_actions,                                                  &
    497                salsa_non_advective_processes,                                  &
    498                salsa_exchange_horiz_bounds,                                    &
    499                salsa_prognostic_equations,                                     &
    500                salsa_boundary_conditions,                                      &
    501                salsa_swap_timelevel,                                           &
    502                salsa_3d_data_averaging,                                        &
    503                salsa_data_output_2d,                                           &
    504                salsa_data_output_3d,                                           &
    505                salsa_statistics,                                               &
    506                salsa_rrd_global,                                               &
    507                salsa_rrd_local,                                                &
    508                salsa_wrd_global,                                               &
     483    USE salsa_mod,                                                                                 &
     484        ONLY:  salsa_3d_data_averaging,                                                            &
     485               salsa_actions,                                                                      &
     486               salsa_boundary_conditions,                                                          &
     487               salsa_check_data_output,                                                            &
     488               salsa_check_data_output_pr,                                                         &
     489               salsa_check_parameters,                                                             &
     490               salsa_data_output_2d,                                                               &
     491               salsa_data_output_3d,                                                               &
     492               salsa_exchange_horiz_bounds,                                                        &
     493               salsa_header,                                                                       &
     494               salsa_init,                                                                         &
     495               salsa_init_arrays,                                                                  &
     496               salsa_non_advective_processes,                                                      &
     497               salsa_parin,                                                                        &
     498               salsa_prognostic_equations,                                                         &
     499               salsa_rrd_global,                                                                   &
     500               salsa_rrd_local,                                                                    &
     501               salsa_statistics,                                                                   &
     502               salsa_swap_timelevel,                                                               &
     503               salsa_wrd_global,                                                                   &
    509504               salsa_wrd_local
    510505
    511     USE spectra_mod,                                                           &
    512         ONLY:  calculate_spectra,                                              &
    513                spectra_parin,                                                  &
    514                spectra_check_parameters,                                       &
    515                spectra_header
    516 
    517     USE surface_data_output_mod,                                               &
    518         ONLY:  surface_data_output_parin,                                      &
    519                surface_data_output_check_parameters,                           &
    520                surface_data_output_init_arrays,                                &
    521                surface_data_output_rrd_local,                                  &
    522                surface_data_output_rrd_global,                                 &
    523                surface_data_output_wrd_local,                                  &
    524                surface_data_output_wrd_global
    525 
    526     USE surface_mod,                                                           &
     506    USE spectra_mod,                                                                               &
     507        ONLY:  calculate_spectra,                                                                  &
     508               spectra_check_parameters,                                                           &
     509               spectra_header,                                                                     &
     510               spectra_parin
     511
     512    USE surface_data_output_mod,                                                                   &
     513        ONLY:  surface_data_output_check_parameters,                                               &
     514               surface_data_output_init_arrays,                                                    &
     515               surface_data_output_parin,                                                          &
     516               surface_data_output_rrd_global,                                                     &
     517               surface_data_output_rrd_local,                                                      &
     518               surface_data_output_wrd_global,                                                     &
     519               surface_data_output_wrd_local
     520
     521    USE surface_mod,                                                                               &
    527522        ONLY:  init_bc
    528523
    529     USE synthetic_turbulence_generator_mod,                                    &
    530         ONLY:  stg_parin,                                                      &
    531                stg_check_parameters,                                           &
    532                stg_header,                                                     &
    533                stg_rrd_global,                                                 &
     524    USE synthetic_turbulence_generator_mod,                                                        &
     525        ONLY:  stg_check_parameters,                                                               &
     526               stg_header,                                                                         &
     527               stg_parin,                                                                          &
     528               stg_rrd_global,                                                                     &
    534529               stg_wrd_global
    535530
    536     USE urban_surface_mod,                                                     &
    537         ONLY:  usm_parin,                                                      &
    538                usm_check_parameters,                                           &
    539                usm_check_data_output,                                          &
    540                usm_init_arrays,                                                &
    541                usm_init,                                                       &
    542                usm_swap_timelevel,                                             &
    543                usm_3d_data_averaging,                                          &
    544                usm_rrd_local,                                                  &
     531    USE urban_surface_mod,                                                                         &
     532        ONLY:  usm_3d_data_averaging,                                                              &
     533               usm_check_data_output,                                                              &
     534               usm_check_parameters,                                                               &
     535               usm_init,                                                                           &
     536               usm_init_arrays,                                                                    &
     537               usm_parin,                                                                          &
     538               usm_swap_timelevel,                                                                 &
     539               usm_rrd_local,                                                                      &
    545540               usm_wrd_local
    546541
    547     USE vdi_internal_controls,                                                 &
     542    USE vdi_internal_controls,                                                                     &
    548543        ONLY:  vdi_actions
    549                
    550     USE virtual_measurement_mod,                                               &
    551         ONLY:  vm_check_parameters,                                            &
    552                vm_init,                                                        &
    553                vm_init_output,                                                 &
     544
     545    USE virtual_measurement_mod,                                                                   &
     546        ONLY:  vm_check_parameters,                                                                &
     547               vm_init,                                                                            &
     548               vm_init_output,                                                                     &
    554549               vm_parin
    555550
    556     USE wind_turbine_model_mod,                                                &
    557         ONLY:  wtm_parin,                                                      &
    558                wtm_check_parameters,                                           &
    559                wtm_init,                                                       &
    560                wtm_init_arrays,                                                &
    561                wtm_init_output,                                                &
    562                wtm_actions,                                                    &
    563                wtm_rrd_global,                                                 &
     551    USE wind_turbine_model_mod,                                                                    &
     552        ONLY:  wtm_actions,                                                                        &
     553               wtm_check_parameters,                                                               &
     554               wtm_init,                                                                           &
     555               wtm_init_arrays,                                                                    &
     556               wtm_init_output,                                                                    &
     557               wtm_parin,                                                                          &
     558               wtm_rrd_global,                                                                     &
    564559               wtm_wrd_global
    565560
    566     USE user,                                                                  &
    567         ONLY:  user_module_enabled,                                            &
    568                user_parin,                                                     &
    569                user_check_parameters,                                          &
    570                user_check_data_output_ts,                                      &
    571                user_check_data_output_pr,                                      &
    572                user_check_data_output,                                         &
    573                user_init,                                                      &
    574                user_init_arrays,                                               &
    575                user_header,                                                    &
    576                user_actions,                                                   &
    577                user_3d_data_averaging,                                         &
    578                user_data_output_2d,                                            &
    579                user_data_output_3d,                                            &
    580                user_statistics,                                                &
    581                user_rrd_global,                                                &
    582                user_rrd_local,                                                 &
    583                user_wrd_global,                                                &
    584                user_wrd_local,                                                 &
    585                user_last_actions
     561    USE user,                                                                                      &
     562        ONLY:  user_3d_data_averaging,                                                             &
     563               user_actions,                                                                       &
     564               user_check_data_output,                                                             &
     565               user_check_data_output_pr,                                                          &
     566               user_check_data_output_ts,                                                          &
     567               user_check_parameters,                                                              &
     568               user_data_output_2d,                                                                &
     569               user_data_output_3d,                                                                &
     570               user_header,                                                                        &
     571               user_init,                                                                          &
     572               user_init_arrays,                                                                   &
     573               user_last_actions,                                                                  &
     574               user_module_enabled,                                                                &
     575               user_parin,                                                                         &
     576               user_statistics,                                                                    &
     577               user_rrd_global,                                                                    &
     578               user_rrd_local,                                                                     &
     579               user_wrd_global,                                                                    &
     580               user_wrd_local
    586581
    587582    IMPLICIT NONE
     
    591586!
    592587!-- Public functions
    593     PUBLIC                                                                     &
    594        module_interface_parin,                                                 &
    595        module_interface_check_parameters,                                      &
    596        module_interface_check_data_output_ts,                                  &
    597        module_interface_check_data_output_pr,                                  &
    598        module_interface_check_data_output,                                     &
    599        module_interface_init_masks,                                            &
    600        module_interface_define_netcdf_grid,                                    &
    601        module_interface_init_arrays,                                           &
    602        module_interface_init,                                                  &
    603        module_interface_init_checks,                                           &
    604        module_interface_init_numerics,                                         &
    605        module_interface_init_output,                                           &
    606        module_interface_header,                                                &
    607        module_interface_actions,                                               &
    608        module_interface_non_advective_processes,                               &
    609        module_interface_exchange_horiz,                                        &
    610        module_interface_prognostic_equations,                                  &
    611        module_interface_boundary_conditions,                                   &
    612        module_interface_swap_timelevel,                                        &
    613        module_interface_3d_data_averaging,                                     &
    614        module_interface_data_output_2d,                                        &
    615        module_interface_data_output_3d,                                        &
    616        module_interface_statistics,                                            &
    617        module_interface_rrd_global,                                            &
    618        module_interface_wrd_global,                                            &
    619        module_interface_rrd_local,                                             &
    620        module_interface_wrd_local,                                             &
     588    PUBLIC                                                                                         &
     589       module_interface_parin,                                                                     &
     590       module_interface_check_parameters,                                                          &
     591       module_interface_check_data_output_ts,                                                      &
     592       module_interface_check_data_output_pr,                                                      &
     593       module_interface_check_data_output,                                                         &
     594       module_interface_init_masks,                                                                &
     595       module_interface_define_netcdf_grid,                                                        &
     596       module_interface_init_arrays,                                                               &
     597       module_interface_init,                                                                      &
     598       module_interface_init_checks,                                                               &
     599       module_interface_init_numerics,                                                             &
     600       module_interface_init_output,                                                               &
     601       module_interface_header,                                                                    &
     602       module_interface_actions,                                                                   &
     603       module_interface_non_advective_processes,                                                   &
     604       module_interface_exchange_horiz,                                                            &
     605       module_interface_prognostic_equations,                                                      &
     606       module_interface_boundary_conditions,                                                       &
     607       module_interface_swap_timelevel,                                                            &
     608       module_interface_3d_data_averaging,                                                         &
     609       module_interface_data_output_2d,                                                            &
     610       module_interface_data_output_3d,                                                            &
     611       module_interface_statistics,                                                                &
     612       module_interface_rrd_global,                                                                &
     613       module_interface_wrd_global,                                                                &
     614       module_interface_rrd_local,                                                                 &
     615       module_interface_wrd_local,                                                                 &
    621616       module_interface_last_actions
    622617
     
    743738
    744739
    745 !------------------------------------------------------------------------------!
     740!--------------------------------------------------------------------------------------------------!
    746741! Description:
    747742! ------------
    748743!> Read module-specific parameter namelists
    749 !------------------------------------------------------------------------------!
     744!------------------------------------------------------------------------------                    !
    750745 SUBROUTINE module_interface_parin
    751746
     
    785780
    786781
    787 !------------------------------------------------------------------------------!
     782!--------------------------------------------------------------------------------------------------!
    788783! Description:
    789784! ------------
    790785!> Perform module-specific initialization checks
    791 !------------------------------------------------------------------------------!
     786!--------------------------------------------------------------------------------------------------!
    792787 SUBROUTINE module_interface_check_parameters
    793788
     
    825820
    826821
    827 !------------------------------------------------------------------------------!
     822!--------------------------------------------------------------------------------------------------!
    828823! Description:
    829824! ------------
    830825!> Check module-specific data output of timeseries
    831 !------------------------------------------------------------------------------!
     826!--------------------------------------------------------------------------------------------------!
    832827 SUBROUTINE module_interface_check_data_output_ts( dots_max, dots_num, dots_label, dots_unit )
    833828
    834 
    835     INTEGER(iwp),      INTENT(IN)    ::  dots_max !< variable output array index
     829    INTEGER(iwp),      INTENT(IN)       ::  dots_max !< variable output array index
    836830    INTEGER(iwp),      INTENT(INOUT)    ::  dots_num !< variable output array index
     831
    837832    CHARACTER (LEN=*), DIMENSION(dots_max), INTENT(INOUT) :: dots_label
    838833    CHARACTER (LEN=*), DIMENSION(dots_max), INTENT(INOUT) :: dots_unit
     
    857852
    858853
    859 !------------------------------------------------------------------------------!
     854!--------------------------------------------------------------------------------------------------!
    860855! Description:
    861856! ------------
    862857!> Check module-specific data output of profiles
    863 !------------------------------------------------------------------------------!
    864  SUBROUTINE module_interface_check_data_output_pr( variable, var_count, unit,  &
    865                                                    dopr_unit )
     858!--------------------------------------------------------------------------------------------------!
     859 SUBROUTINE module_interface_check_data_output_pr( variable, var_count, unit, dopr_unit )
    866860
    867861
    868862    CHARACTER (LEN=*), INTENT(IN)    ::  variable  !< variable name
    869     INTEGER(iwp),      INTENT(IN)    ::  var_count !< variable output array index
    870863    CHARACTER (LEN=*), INTENT(INOUT) ::  unit      !< physical unit of variable
    871864    CHARACTER (LEN=*), INTENT(OUT)   ::  dopr_unit !< local value of dopr_unit
    872865
     866    INTEGER(iwp),      INTENT(IN)    ::  var_count !< variable output array index
     867
    873868
    874869    IF ( debug_output )  CALL debug_message( 'checking module-specific data output pr', 'start' )
     
    876871    CALL dynamics_check_data_output_pr( variable, var_count, unit, dopr_unit )
    877872
    878     IF ( unit == 'illegal' .AND.  bulk_cloud_model )  THEN
     873    IF ( unit == 'illegal'  .AND.  bulk_cloud_model )  THEN
    879874       CALL bcm_check_data_output_pr( variable, var_count, unit, dopr_unit )
    880875    ENDIF
    881876
    882     IF ( unit == 'illegal' .AND.  air_chemistry )  THEN
     877    IF ( unit == 'illegal'  .AND.  air_chemistry )  THEN
    883878       CALL chem_check_data_output_pr( variable, var_count, unit, dopr_unit )
    884879    ENDIF
     
    918913 END SUBROUTINE module_interface_check_data_output_pr
    919914
    920 !------------------------------------------------------------------------------!
     915!--------------------------------------------------------------------------------------------------!
    921916! Description:
    922917! ------------
    923918!> Check module-specific 2D and 3D data output
    924 !------------------------------------------------------------------------------!
     919!--------------------------------------------------------------------------------------------------!
    925920 SUBROUTINE module_interface_check_data_output( variable, unit, i, j, ilen, k )
    926921
     
    949944    ENDIF
    950945
    951     IF ( unit == 'illegal'  .AND.  air_chemistry                               &
    952          .AND.  (variable(1:3) == 'kc_' .OR. variable(1:3) == 'em_') )  THEN  ! ToDo: remove aditional conditions
     946    IF ( unit == 'illegal'  .AND.  air_chemistry  .AND.  (variable(1:3) == 'kc_'  .OR.             &
     947         variable(1:3) == 'em_') )  THEN  ! ToDo: remove aditional conditions
    953948       CALL chem_check_data_output( variable, unit, i, ilen, k )
    954949    ENDIF
     
    970965    ENDIF
    971966
    972     IF ( unit == 'illegal'  .AND.  plant_canopy                                &
    973          .AND.  variable(1:4) == 'pcm_' )  THEN  ! ToDo: remove aditional conditions
     967    IF ( unit == 'illegal'  .AND.  plant_canopy  .AND.  variable(1:4) == 'pcm_' )  THEN  ! ToDo: remove aditional conditions
    974968       CALL pcm_check_data_output( variable, unit )
    975969    ENDIF
     
    987981    ENDIF
    988982
    989     IF ( unit == 'illegal'  .AND.  urban_surface                      &
    990         .AND.  variable(1:4) == 'usm_' )  THEN  ! ToDo: remove aditional conditions
     983    IF ( unit == 'illegal'  .AND.  urban_surface  .AND.  variable(1:4) == 'usm_' )  THEN  ! ToDo: remove aditional conditions
    991984       CALL usm_check_data_output( variable, unit )
    992985    ENDIF
     
    1003996
    1004997
    1005 !------------------------------------------------------------------------------!
     998!--------------------------------------------------------------------------------------------------!
    1006999!
    10071000! Description:
    10081001! ------------
    10091002!> Interface for init_masks. ToDo: get rid of these redundant calls!
    1010 !------------------------------------------------------------------------------!
     1003!--------------------------------------------------------------------------------------------------!
    10111004 SUBROUTINE module_interface_init_masks( variable, unit )
    10121005
     
    10201013    CALL dynamics_init_masks( variable, unit )
    10211014
    1022     IF ( unit == 'illegal'  .AND.  air_chemistry                               &
    1023          .AND.  (variable(1:3) == 'kc_' .OR. variable(1:3) == 'em_') )  THEN  ! ToDo: remove aditional conditions
     1015    IF ( unit == 'illegal'  .AND.  air_chemistry  .AND.  (variable(1:3) == 'kc_'  .OR.             &
     1016         variable(1:3) == 'em_') )  THEN  ! ToDo: remove aditional conditions
    10241017       CALL chem_check_data_output( variable, unit, 0, 0, 0 )
    10251018    ENDIF
    1026    
     1019
    10271020    IF ( unit == 'illegal' )  THEN
    10281021       CALL doq_check_data_output( variable, unit )
     
    10481041
    10491042
    1050 !------------------------------------------------------------------------------!
     1043!--------------------------------------------------------------------------------------------------!
    10511044!
    10521045! Description:
    10531046! ------------
    10541047!> Define appropriate grid for module-specific netcdf output variables.
    1055 !------------------------------------------------------------------------------!
    1056  SUBROUTINE module_interface_define_netcdf_grid( var, found,                   &
    1057                                                  grid_x, grid_y, grid_z )
     1048!--------------------------------------------------------------------------------------------------!
     1049 SUBROUTINE module_interface_define_netcdf_grid( var, found, grid_x, grid_y, grid_z )
    10581050
    10591051
    10601052    CHARACTER (LEN=*), INTENT(IN)  ::  var    !< variable name
    1061     LOGICAL,           INTENT(OUT) ::  found  !< indicates if variable was found
    10621053    CHARACTER (LEN=*), INTENT(OUT) ::  grid_x !< netcdf dimension in x-direction
    10631054    CHARACTER (LEN=*), INTENT(OUT) ::  grid_y !< netcdf dimension in y-direction
    10641055    CHARACTER (LEN=*), INTENT(OUT) ::  grid_z !< netcdf dimension in z-direction
    10651056
     1057    LOGICAL,           INTENT(OUT) ::  found  !< indicates if variable was found
     1058
    10661059
    10671060    IF ( debug_output )  CALL debug_message( 'defining module-specific netcdf grids', 'start' )
    10681061!
    1069 !-- As long as no action is done in this subroutine, initialize strings with
    1070 !-- intent(out) attribute, in order to avoid compiler warnings.
     1062!-- As long as no action is done in this subroutine, initialize strings with intent(out) attribute,
     1063!-- in order to avoid compiler warnings.
    10711064    found  = .FALSE.
    10721065    grid_x = 'none'
     
    10831076
    10841077
    1085 !------------------------------------------------------------------------------!
     1078!--------------------------------------------------------------------------------------------------!
    10861079! Description:
    10871080! ------------
    10881081!> Allocate module-specific arrays and pointers
    1089 !------------------------------------------------------------------------------!
     1082!--------------------------------------------------------------------------------------------------!
    10901083 SUBROUTINE module_interface_init_arrays
    10911084
     
    11151108
    11161109
    1117 !------------------------------------------------------------------------------!
     1110!--------------------------------------------------------------------------------------------------!
    11181111! Description:
    11191112! ------------
    11201113!> Perform module-specific initialization
    1121 !------------------------------------------------------------------------------!
     1114!--------------------------------------------------------------------------------------------------!
    11221115 SUBROUTINE module_interface_init
    11231116
     
    11541147 END SUBROUTINE module_interface_init
    11551148
    1156 !------------------------------------------------------------------------------!
     1149!--------------------------------------------------------------------------------------------------!
    11571150! Description:
    11581151! ------------
    11591152!> Initialize boundary conditions and numerical schemes.
    1160 !------------------------------------------------------------------------------!
     1153!--------------------------------------------------------------------------------------------------!
    11611154 SUBROUTINE module_interface_init_numerics
    11621155
     
    11681161!-- Please note, wall flags are only applied in the non-optimized version.
    11691162    CALL poismg_noopt_init
    1170  
     1163
    11711164 END SUBROUTINE module_interface_init_numerics
    11721165
    1173  
    1174 !------------------------------------------------------------------------------!
     1166
     1167!--------------------------------------------------------------------------------------------------!
    11751168! Description:
    11761169! ------------
    11771170!> Initialize data output
    1178 !------------------------------------------------------------------------------!
     1171!--------------------------------------------------------------------------------------------------!
    11791172 SUBROUTINE module_interface_init_output
    11801173
     
    11831176!
    11841177!-- Initialize data-output module
    1185     CALL dom_init( file_suffix_of_output_group=coupling_char,                  &
    1186                    mpi_comm_of_output_group=comm2d,                            &
    1187                    program_debug_output_unit=9,                                &
     1178    CALL dom_init( file_suffix_of_output_group=coupling_char,                                      &
     1179                   mpi_comm_of_output_group=comm2d,                                                &
     1180                   program_debug_output_unit=9,                                                    &
    11881181                   debug_output=debug_output )
    11891182!
     
    11971190 END SUBROUTINE module_interface_init_output
    11981191
    1199 !------------------------------------------------------------------------------!
     1192!--------------------------------------------------------------------------------------------------!
    12001193! Description:
    12011194! ------------
    12021195!> Perform module-specific post-initialization checks
    1203 !------------------------------------------------------------------------------!
     1196!--------------------------------------------------------------------------------------------------!
    12041197 SUBROUTINE module_interface_init_checks
    12051198
     
    12091202    CALL dynamics_init_checks
    12101203
    1211     IF ( biometeorology      )  CALL bio_init_checks
     1204    IF ( biometeorology )  CALL bio_init_checks
    12121205
    12131206    IF ( debug_output )  CALL debug_message( 'module-specific post-initialization checks', 'end' )
     
    12171210
    12181211
    1219 !------------------------------------------------------------------------------!
     1212!--------------------------------------------------------------------------------------------------!
    12201213! Description:
    12211214! ------------
    12221215!> Gather module-specific header output
    1223 !------------------------------------------------------------------------------!
     1216!--------------------------------------------------------------------------------------------------!
    12241217 SUBROUTINE module_interface_header( io )
    12251218
     
    12561249
    12571250
    1258 !------------------------------------------------------------------------------!
     1251!--------------------------------------------------------------------------------------------------!
    12591252! Description:
    12601253! ------------
    12611254!> Perform module-specific actions while in time-integration (vector-optimized)
    1262 !------------------------------------------------------------------------------!
     1255!--------------------------------------------------------------------------------------------------!
    12631256 SUBROUTINE module_interface_actions( location )
    12641257
     
    12841277
    12851278
    1286 !------------------------------------------------------------------------------!
     1279!--------------------------------------------------------------------------------------------------!
    12871280! Description:
    12881281! ------------
    12891282!> Perform module-specific actions while in time-integration (cache-optimized)
    1290 !------------------------------------------------------------------------------!
     1283!--------------------------------------------------------------------------------------------------!
    12911284 SUBROUTINE module_interface_actions_ij( i, j, location )
    12921285
     1286    CHARACTER (LEN=*), INTENT(IN) ::  location  !< call location string
    12931287
    12941288    INTEGER(iwp),      INTENT(IN) ::  i         !< grid index in x-direction
    12951289    INTEGER(iwp),      INTENT(IN) ::  j         !< grid index in y-direction
    1296     CHARACTER (LEN=*), INTENT(IN) ::  location  !< call location string
    12971290
    12981291    CALL dynamics_actions( i, j, location )
     
    13121305
    13131306
    1314 !------------------------------------------------------------------------------!
     1307!--------------------------------------------------------------------------------------------------!
    13151308! Description:
    13161309! ------------
    13171310!> Compute module-specific non_advective_processes (vector-optimized)
    1318 !------------------------------------------------------------------------------!
     1311!--------------------------------------------------------------------------------------------------!
    13191312 SUBROUTINE module_interface_non_advective_processes
    13201313
     
    13301323
    13311324
    1332 !------------------------------------------------------------------------------!
     1325!--------------------------------------------------------------------------------------------------!
    13331326! Description:
    13341327! ------------
    13351328!> Compute module-specific non_advective_processes (cache-optimized)
    1336 !------------------------------------------------------------------------------!
     1329!--------------------------------------------------------------------------------------------------!
    13371330 SUBROUTINE module_interface_non_advective_processes_ij( i, j )
    13381331
     
    13501343 END SUBROUTINE module_interface_non_advective_processes_ij
    13511344
    1352 !------------------------------------------------------------------------------!
     1345!--------------------------------------------------------------------------------------------------!
    13531346! Description:
    13541347! ------------
    13551348!> Exchange horiz for module-specific quantities
    1356 !------------------------------------------------------------------------------!
     1349!--------------------------------------------------------------------------------------------------!
    13571350 SUBROUTINE module_interface_exchange_horiz( location )
    13581351
    13591352    CHARACTER (LEN=*), INTENT(IN) ::  location !< call location string
     1353
    13601354
    13611355    IF ( debug_output_timestep )  CALL debug_message( 'module-specific exchange_horiz', 'start' )
     
    13661360    IF ( air_chemistry       )  CALL chem_exchange_horiz_bounds( location )
    13671361    IF ( ocean_mode          )  CALL ocean_exchange_horiz( location )
    1368     IF ( particle_advection  )  CALL lpm_exchange_horiz_bounds ( location )
     1362    IF ( particle_advection  )  CALL lpm_exchange_horiz_bounds( location )
    13691363    IF ( salsa               )  CALL salsa_exchange_horiz_bounds( location )
    13701364
     
    13751369
    13761370
    1377 !------------------------------------------------------------------------------!
     1371!--------------------------------------------------------------------------------------------------!
    13781372! Description:
    13791373! ------------
    13801374!> Compute module-specific prognostic_equations (vector-optimized)
    1381 !------------------------------------------------------------------------------!
     1375!--------------------------------------------------------------------------------------------------!
    13821376 SUBROUTINE module_interface_prognostic_equations
    13831377
     
    13961390
    13971391
    1398 !------------------------------------------------------------------------------!
     1392!--------------------------------------------------------------------------------------------------!
    13991393! Description:
    14001394! ------------
    14011395!> Compute module-specific prognostic_equations (cache-optimized)
    1402 !------------------------------------------------------------------------------!
     1396!--------------------------------------------------------------------------------------------------!
    14031397 SUBROUTINE module_interface_prognostic_equations_ij( i, j, i_omp_start, tn )
    14041398
     
    14211415 END SUBROUTINE module_interface_prognostic_equations_ij
    14221416
    1423 !------------------------------------------------------------------------------!
     1417!--------------------------------------------------------------------------------------------------!
    14241418! Description:
    14251419! ------------
    14261420!> Compute module-specific boundary conditions
    1427 !------------------------------------------------------------------------------!
     1421!--------------------------------------------------------------------------------------------------!
    14281422 SUBROUTINE module_interface_boundary_conditions
    14291423
     
    14441438 END SUBROUTINE module_interface_boundary_conditions
    14451439
    1446 !------------------------------------------------------------------------------!
     1440!--------------------------------------------------------------------------------------------------!
    14471441! Description:
    14481442! ------------
    14491443!> Swap the timelevel pointers for module-specific arrays
    1450 !------------------------------------------------------------------------------!
     1444!--------------------------------------------------------------------------------------------------!
    14511445 SUBROUTINE module_interface_swap_timelevel ( swap_mode )
    14521446
     
    14741468
    14751469
    1476 !------------------------------------------------------------------------------!
     1470!--------------------------------------------------------------------------------------------------!
    14771471!
    14781472! Description:
    14791473! ------------
    14801474!> Perform module-specific averaging of 3D data
    1481 !------------------------------------------------------------------------------!
     1475!--------------------------------------------------------------------------------------------------!
    14821476 SUBROUTINE module_interface_3d_data_averaging( mode, variable )
    14831477
     
    15111505 END SUBROUTINE module_interface_3d_data_averaging
    15121506
    1513 !------------------------------------------------------------------------------!
     1507!--------------------------------------------------------------------------------------------------!
    15141508!
    15151509! Description:
    15161510! ------------
    15171511!> Define module-specific 2D output variables
    1518 !------------------------------------------------------------------------------!
    1519  SUBROUTINE module_interface_data_output_2d( av, variable, found, grid, mode,  &
    1520                                              local_pf, two_d, nzb_do, nzt_do,  &
    1521                                              fill_value )
     1512!--------------------------------------------------------------------------------------------------!
     1513 SUBROUTINE module_interface_data_output_2d( av, variable, found, grid, mode, local_pf, two_d,     &
     1514                                             nzb_do, nzt_do, fill_value )
     1515
     1516    CHARACTER (LEN=*), INTENT(IN)    ::  mode       !< either 'xy', 'xz' or 'yz'
     1517    CHARACTER (LEN=*), INTENT(IN)    ::  variable   !< variable name
     1518    CHARACTER (LEN=*), INTENT(INOUT) ::  grid       !< name of vertical grid
    15221519
    15231520    INTEGER(iwp),      INTENT(IN)    ::  av         !< flag for (non-)average output
    1524     CHARACTER (LEN=*), INTENT(IN)    ::  variable   !< variable name
    1525     LOGICAL,           INTENT(INOUT) ::  found      !< flag if output variable is found
    1526     CHARACTER (LEN=*), INTENT(INOUT) ::  grid       !< name of vertical grid
    1527     CHARACTER (LEN=*), INTENT(IN)    ::  mode       !< either 'xy', 'xz' or 'yz'
    1528     LOGICAL,           INTENT(OUT)   ::  two_d      !< flag for 2D variables
    15291521    INTEGER(iwp),      INTENT(IN)    ::  nzb_do     !< vertical output index (bottom) (usually 0)
    15301522    INTEGER(iwp),      INTENT(IN)    ::  nzt_do     !< vertical output index (top) (usually nz_do3d)
     1523
     1524    LOGICAL,           INTENT(INOUT) ::  found      !< flag if output variable is found
     1525    LOGICAL,           INTENT(OUT)   ::  two_d      !< flag for 2D variables
     1526
    15311527    REAL(wp),          INTENT(IN)    ::  fill_value !< to be removed
    15321528
     
    15361532    IF ( debug_output_timestep )  CALL debug_message( 'module-specific 2d data output', 'start' )
    15371533
    1538     CALL dynamics_data_output_2d(                                                  &
    1539                av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do, fill_value &
    1540             )
     1534    CALL dynamics_data_output_2d( av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do,&
     1535                                  fill_value )
    15411536
    15421537    IF ( .NOT. found )  THEN
    1543        CALL tcm_data_output_2d(                                                  &
    1544                av, variable, found, grid, mode, local_pf, nzb_do, nzt_do &
    1545             )
     1538       CALL tcm_data_output_2d( av, variable, found, grid, mode, local_pf, nzb_do, nzt_do )
    15461539    ENDIF
    15471540
    15481541    IF ( .NOT. found  .AND.  biometeorology )  THEN
    1549        CALL bio_data_output_2d(                                                &
    1550                av, variable, found, grid, local_pf, two_d, nzb_do, nzt_do      &
    1551             )
     1542       CALL bio_data_output_2d( av, variable, found, grid, local_pf, two_d, nzb_do, nzt_do )
    15521543    ENDIF
    15531544
    15541545    IF ( .NOT. found  .AND.  bulk_cloud_model )  THEN
    1555        CALL bcm_data_output_2d(                                                &
    1556                av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do&
    1557             )
     1546       CALL bcm_data_output_2d( av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do )
    15581547    ENDIF
    15591548
    15601549    IF ( .NOT. found  .AND.  air_chemistry )  THEN
    1561        CALL chem_data_output_2d(                                               &
    1562                av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do, fill_value &
    1563             )
     1550       CALL chem_data_output_2d( av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do, &
     1551                                 fill_value )
    15641552    ENDIF
    15651553
    15661554    IF ( .NOT. found )  THEN
    1567        CALL doq_output_2d(                                                     &
    1568                av, variable, found, grid, mode, local_pf, two_d,               &
    1569                nzb_do, nzt_do, fill_value )
     1555       CALL doq_output_2d( av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do,       &
     1556                           fill_value )
    15701557    ENDIF
    15711558
    15721559    IF ( .NOT. found  .AND.  gust_module_enabled )  THEN
    1573        CALL gust_data_output_2d(                                               &
    1574                av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do, fill_value &
    1575             )
     1560       CALL gust_data_output_2d( av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do, &
     1561                                 fill_value )
    15761562    ENDIF
    15771563
    15781564    IF ( .NOT. found  .AND.  land_surface )  THEN
    1579        CALL lsm_data_output_2d(                                                &
    1580                av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do&
    1581             )
     1565       CALL lsm_data_output_2d( av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do )
    15821566    ENDIF
    15831567
    15841568    IF ( .NOT. found  .AND.  ocean_mode )  THEN
    1585        CALL ocean_data_output_2d(                                              &
    1586                av, variable, found, grid, mode, local_pf, nzb_do, nzt_do       &
    1587             )
     1569       CALL ocean_data_output_2d( av, variable, found, grid, mode, local_pf, nzb_do, nzt_do )
    15881570    ENDIF
    15891571
    15901572    IF ( .NOT. found  .AND.  radiation )  THEN
    1591        CALL radiation_data_output_2d(                                                       &
    1592                av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do, fill_value &
    1593             )
     1573       CALL radiation_data_output_2d( av, variable, found, grid, mode, local_pf, two_d, nzb_do,    &
     1574                                      nzt_do, fill_value )
    15941575    ENDIF
    15951576
    15961577    IF ( .NOT. found  .AND.  salsa )  THEN
    1597        CALL salsa_data_output_2d(                                              &
    1598                av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do&
    1599             )
     1578       CALL salsa_data_output_2d( av, variable, found, grid, mode, local_pf, two_d, nzb_do, nzt_do )
    16001579    ENDIF
    16011580
    16021581    IF ( .NOT. found  .AND.  user_module_enabled )  THEN
    1603        CALL user_data_output_2d(                                               &
    1604                av, variable, found, grid, local_pf, two_d, nzb_do, nzt_do      &
    1605             )
     1582       CALL user_data_output_2d( av, variable, found, grid, local_pf, two_d, nzb_do, nzt_do )
    16061583    ENDIF
    16071584
     
    16121589
    16131590
    1614 !------------------------------------------------------------------------------!
     1591!--------------------------------------------------------------------------------------------------!
    16151592!
    16161593! Description:
    16171594! ------------
    16181595!> Define module-specific 3D output variables
    1619 !------------------------------------------------------------------------------!
    1620  SUBROUTINE module_interface_data_output_3d( av, variable, found, local_pf,    &
    1621                                              fill_value, resorted, nzb_do, nzt_do )
    1622 
     1596!--------------------------------------------------------------------------------------------------!
     1597 SUBROUTINE module_interface_data_output_3d( av, variable, found, local_pf, fill_value, resorted,  &
     1598                                             nzb_do, nzt_do )
     1599
     1600    CHARACTER (LEN=*), INTENT(IN)    ::  variable   !< variable name
    16231601
    16241602    INTEGER(iwp),      INTENT(IN)    ::  av         !< flag for (non-)average output
    1625     CHARACTER (LEN=*), INTENT(IN)    ::  variable   !< variable name
    1626     LOGICAL,           INTENT(INOUT) ::  found      !< flag if output variable is found
    1627     REAL(wp),          INTENT(IN)    ::  fill_value !< ToDo: refactor
    1628     LOGICAL,           INTENT(OUT)   ::  resorted   !< flag if output has been resorted
    16291603    INTEGER(iwp),      INTENT(IN)    ::  nzb_do     !< vertical output index (bottom) (usually 0)
    16301604    INTEGER(iwp),      INTENT(IN)    ::  nzt_do     !< vertical output index (top) (usually nz_do3d)
     1605
     1606    LOGICAL,           INTENT(INOUT) ::  found      !< flag if output variable is found
     1607    LOGICAL,           INTENT(OUT)   ::  resorted   !< flag if output has been resorted
     1608
     1609    REAL(wp),          INTENT(IN)    ::  fill_value !< ToDo: refactor
    16311610
    16321611    REAL(sp), DIMENSION(nxl:nxr,nys:nyn,nzb_do:nzt_do), INTENT(INOUT) ::  local_pf
     
    17041683
    17051684
    1706 !------------------------------------------------------------------------------!
     1685!--------------------------------------------------------------------------------------------------!
    17071686! Description:
    17081687! ------------
    17091688!> Compute module-specific profile and timeseries data
    1710 !------------------------------------------------------------------------------!
     1689!--------------------------------------------------------------------------------------------------!
    17111690 SUBROUTINE module_interface_statistics( mode, sr, tn, dots_max )
    17121691
    17131692
    17141693    CHARACTER (LEN=*), INTENT(IN) ::  mode     !< statistical analysis mode
     1694
     1695    INTEGER(iwp),      INTENT(IN) ::  dots_max !< maximum number of timeseries
    17151696    INTEGER(iwp),      INTENT(IN) ::  sr       !<
    17161697    INTEGER(iwp),      INTENT(IN) ::  tn       !<
    1717     INTEGER(iwp),      INTENT(IN) ::  dots_max !< maximum number of timeseries
    17181698
    17191699
     
    18011781
    18021782
    1803 !------------------------------------------------------------------------------!
     1783!--------------------------------------------------------------------------------------------------!
    18041784! Description:
    18051785! ------------
    18061786!> Write module-specific restart data globaly shared by all MPI ranks
    1807 !------------------------------------------------------------------------------!
     1787!--------------------------------------------------------------------------------------------------!
    18081788 SUBROUTINE module_interface_wrd_global
    18091789
     
    18331813
    18341814
    1835 !------------------------------------------------------------------------------!
     1815!--------------------------------------------------------------------------------------------------!
    18361816! Description:
    18371817! ------------
    18381818!> Read module-specific local restart data arrays (Fortran binary format).
    1839 !------------------------------------------------------------------------------!
    1840  SUBROUTINE module_interface_rrd_local_ftn( map_index,                             &
    1841                                            nxlf, nxlc, nxl_on_file,               &
    1842                                            nxrf, nxrc, nxr_on_file,               &
    1843                                            nynf, nync, nyn_on_file,               &
    1844                                            nysf, nysc, nys_on_file,               &
    1845                                            tmp_2d, tmp_3d, found )
     1819!--------------------------------------------------------------------------------------------------!
     1820 SUBROUTINE module_interface_rrd_local_ftn( map_index,                                             &
     1821                                            nxlf, nxlc, nxl_on_file,                               &
     1822                                            nxrf, nxrc, nxr_on_file,                               &
     1823                                            nynf, nync, nyn_on_file,                               &
     1824                                            nysf, nysc, nys_on_file,                               &
     1825                                            tmp_2d, tmp_3d, found )
    18461826
    18471827
     
    18591839    INTEGER(iwp), INTENT(IN)  ::  nysf         !<
    18601840    INTEGER(iwp), INTENT(IN)  ::  nys_on_file  !<
     1841
    18611842    LOGICAL,      INTENT(INOUT) ::  found        !< flag if variable was found
    18621843
    1863     REAL(wp), &
    1864        DIMENSION(nys_on_file-nbgp:nyn_on_file+nbgp,nxl_on_file-nbgp:nxr_on_file+nbgp), &
     1844    REAL(wp),                                                                                      &
     1845       DIMENSION(nys_on_file-nbgp:nyn_on_file+nbgp,nxl_on_file-nbgp:nxr_on_file+nbgp),             &
    18651846       INTENT(OUT) :: tmp_2d   !<
    1866     REAL(wp), &
    1867        DIMENSION(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp,nxl_on_file-nbgp:nxr_on_file+nbgp), &
     1847    REAL(wp),                                                                                      &
     1848       DIMENSION(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp,nxl_on_file-nbgp:nxr_on_file+nbgp),   &
    18681849       INTENT(OUT) :: tmp_3d   !<
    18691850
     
    18731854    ENDIF
    18741855
    1875     CALL dynamics_rrd_local(                                                   &
    1876            map_index,                                                          &
    1877            nxlf, nxlc, nxl_on_file,                                            &
    1878            nxrf, nxrc, nxr_on_file,                                            &
    1879            nynf, nync, nyn_on_file,                                            &
    1880            nysf, nysc, nys_on_file,                                            &
    1881            tmp_2d, tmp_3d, found                                               &
    1882         ) ! ToDo: change interface to pass variable
    1883 
    1884     IF ( .NOT. found )  CALL bio_rrd_local(                                    &
    1885                                found                                           &
    1886                             )
    1887 
    1888     IF ( .NOT. found )  CALL bcm_rrd_local(                                    &
    1889                                map_index,                                      &
    1890                                nxlf, nxlc, nxl_on_file,                        &
    1891                                nxrf, nxrc, nxr_on_file,                        &
    1892                                nynf, nync, nyn_on_file,                        &
    1893                                nysf, nysc, nys_on_file,                        &
    1894                                tmp_2d, tmp_3d, found                           &
    1895                             ) ! ToDo: change interface to pass variable
    1896 
    1897     IF ( .NOT. found )  CALL chem_rrd_local(                                   &
    1898                                map_index,                                      &
    1899                                nxlf, nxlc, nxl_on_file,                        &
    1900                                nxrf, nxrc, nxr_on_file,                        &
    1901                                nynf, nync, nyn_on_file,                        &
    1902                                nysf, nysc, nys_on_file,                        &
    1903                                tmp_3d, found                                   &
    1904                             ) ! ToDo: change interface to pass variable
    1905 
    1906     IF ( .NOT. found )  CALL doq_rrd_local(                                    &
    1907                                map_index,                                      &
    1908                                nxlf, nxlc, nxl_on_file,                        &
    1909                                nxrf, nxrc, nxr_on_file,                        &
    1910                                nynf, nync, nyn_on_file,                        &
    1911                                nysf, nysc, nys_on_file,                        &
    1912                                tmp_2d, tmp_3d, found                           &
    1913                             ) ! ToDo: change interface to pass variable
    1914 
    1915     IF ( .NOT. found )  CALL gust_rrd_local(                                   &
    1916                                map_index,                                      &
    1917                                nxlf, nxlc, nxl_on_file,                        &
    1918                                nxrf, nxrc, nxr_on_file,                        &
    1919                                nynf, nync, nyn_on_file,                        &
    1920                                nysf, nysc, nys_on_file,                        &
    1921                                tmp_2d, tmp_3d, found                           &
    1922                             ) ! ToDo: change interface to pass variable
    1923 
    1924     IF ( .NOT. found )  CALL lpm_rrd_local(                                    &
    1925                                map_index,                                      &
    1926                                nxlf, nxlc, nxl_on_file,                        &
    1927                                nxrf, nxrc, nxr_on_file,                        &
    1928                                nynf, nync, nyn_on_file,                        &
    1929                                nysf, nysc, nys_on_file,                        &
    1930                                tmp_3d, found                                   &
    1931                             ) ! ToDo: change interface to pass variable
    1932 
    1933     IF ( .NOT. found )  CALL lsm_rrd_local(                                    &
    1934                                map_index,                                      &
    1935                                nxlf, nxlc, nxl_on_file,                        &
    1936                                nxrf, nxrc, nxr_on_file,                        &
    1937                                nynf, nync, nyn_on_file,                        &
    1938                                nysf, nysc, nys_on_file,                        &
    1939                                tmp_2d, found                                   &
    1940                             ) ! ToDo: change interface to pass variable
    1941 
    1942      IF ( .NOT. found )  CALL pcm_rrd_local(                                   &
    1943                                map_index,                                      &
    1944                                nxlf, nxlc, nxl_on_file,                        &
    1945                                nxrf, nxrc, nxr_on_file,                        &
    1946                                nynf, nync, nyn_on_file,                        &
    1947                                nysf, nysc, nys_on_file,                        &
    1948                                found                                           &
     1856    CALL dynamics_rrd_local( map_index,                                                            &
     1857                             nxlf, nxlc, nxl_on_file,                                              &
     1858                             nxrf, nxrc, nxr_on_file,                                              &
     1859                             nynf, nync, nyn_on_file,                                              &
     1860                             nysf, nysc, nys_on_file,                                              &
     1861                             tmp_2d, tmp_3d, found                                                 &
     1862                           ) ! ToDo: change interface to pass variable
     1863
     1864    IF ( .NOT. found )  CALL bio_rrd_local( found )
     1865
     1866    IF ( .NOT. found )  CALL bcm_rrd_local( map_index,                                             &
     1867                                            nxlf, nxlc, nxl_on_file,                               &
     1868                                            nxrf, nxrc, nxr_on_file,                               &
     1869                                            nynf, nync, nyn_on_file,                               &
     1870                                            nysf, nysc, nys_on_file,                               &
     1871                                            tmp_2d, tmp_3d, found                                  &
     1872                                          ) ! ToDo: change interface to pass variable
     1873
     1874    IF ( .NOT. found )  CALL chem_rrd_local( map_index,                                            &
     1875                                             nxlf, nxlc, nxl_on_file,                              &
     1876                                             nxrf, nxrc, nxr_on_file,                              &
     1877                                             nynf, nync, nyn_on_file,                              &
     1878                                             nysf, nysc, nys_on_file,                              &
     1879                                             tmp_3d, found                                         &
     1880                                           ) ! ToDo: change interface to pass variable
     1881
     1882    IF ( .NOT. found )  CALL doq_rrd_local( map_index,                                             &
     1883                                            nxlf, nxlc, nxl_on_file,                               &
     1884                                            nxrf, nxrc, nxr_on_file,                               &
     1885                                            nynf, nync, nyn_on_file,                               &
     1886                                            nysf, nysc, nys_on_file,                               &
     1887                                            tmp_2d, tmp_3d, found                                  &
     1888                                          ) ! ToDo: change interface to pass variable
     1889
     1890    IF ( .NOT. found )  CALL gust_rrd_local( map_index,                                            &
     1891                                             nxlf, nxlc, nxl_on_file,                              &
     1892                                             nxrf, nxrc, nxr_on_file,                              &
     1893                                             nynf, nync, nyn_on_file,                              &
     1894                                             nysf, nysc, nys_on_file,                              &
     1895                                             tmp_2d, tmp_3d, found                                 &
     1896                                           ) ! ToDo: change interface to pass variable
     1897
     1898    IF ( .NOT. found )  CALL lpm_rrd_local( map_index,                                             &
     1899                                            nxlf, nxlc, nxl_on_file,                               &
     1900                                            nxrf, nxrc, nxr_on_file,                               &
     1901                                            nynf, nync, nyn_on_file,                               &
     1902                                            nysf, nysc, nys_on_file,                               &
     1903                                            tmp_3d, found                                          &
     1904                                          ) ! ToDo: change interface to pass variable
     1905
     1906    IF ( .NOT. found )  CALL lsm_rrd_local( map_index,                                             &
     1907                                            nxlf, nxlc, nxl_on_file,                               &
     1908                                            nxrf, nxrc, nxr_on_file,                               &
     1909                                            nynf, nync, nyn_on_file,                               &
     1910                                            nysf, nysc, nys_on_file,                               &
     1911                                            tmp_2d, found                                          &
     1912                                          ) ! ToDo: change interface to pass variable
     1913
     1914     IF ( .NOT. found )  CALL pcm_rrd_local( map_index,                                            &
     1915                                             nxlf, nxlc, nxl_on_file,                              &
     1916                                             nxrf, nxrc, nxr_on_file,                              &
     1917                                             nynf, nync, nyn_on_file,                              &
     1918                                             nysf, nysc, nys_on_file,                              &
     1919                                             found                                                 &
    19491920                                           )
    19501921
    1951     IF ( .NOT. found )  CALL ocean_rrd_local(                                  &
    1952                                map_index,                                      &
    1953                                nxlf, nxlc, nxl_on_file,                        &
    1954                                nxrf, nxrc, nxr_on_file,                        &
    1955                                nynf, nync, nyn_on_file,                        &
    1956                                nysf, nysc, nys_on_file,                        &
    1957                                tmp_3d, found                                   &
    1958                             ) ! ToDo: change interface to pass variable
    1959 
    1960     IF ( .NOT. found )  CALL radiation_rrd_local(                              &
    1961                                map_index,                                      &
    1962                                nxlf, nxlc, nxl_on_file,                        &
    1963                                nxrf, nxrc, nxr_on_file,                        &
    1964                                nynf, nync, nyn_on_file,                        &
    1965                                nysf, nysc, nys_on_file,                        &
    1966                                tmp_2d, tmp_3d, found                           &
    1967                             ) ! ToDo: change interface to pass variable
    1968 
    1969     IF ( .NOT. found )  CALL salsa_rrd_local(                                  &
    1970                                map_index,                                      &
    1971                                nxlf, nxlc, nxl_on_file,                        &
    1972                                nxrf, nxrc, nxr_on_file,                        &
    1973                                nynf, nync, nyn_on_file,                        &
    1974                                nysf, nysc, nys_on_file,                        &
    1975                                tmp_3d, found                                   &
    1976                             ) ! ToDo: change interface to pass variable
    1977 
    1978     IF ( .NOT. found )  CALL usm_rrd_local(                                    &
    1979                                map_index,                                      &
    1980                                nxlf, nxlc, nxl_on_file,                        &
    1981                                nxrf, nxr_on_file,                              &
    1982                                nynf, nyn_on_file,                              &
    1983                                nysf, nysc, nys_on_file,                        &
    1984                                found                                           &
    1985                             ) ! ToDo: change interface to pass variable
     1922    IF ( .NOT. found )  CALL ocean_rrd_local( map_index,                                           &
     1923                                              nxlf, nxlc, nxl_on_file,                             &
     1924                                              nxrf, nxrc, nxr_on_file,                             &
     1925                                              nynf, nync, nyn_on_file,                             &
     1926                                              nysf, nysc, nys_on_file,                             &
     1927                                              tmp_3d, found                                        &
     1928                                            ) ! ToDo: change interface to pass variable
     1929
     1930    IF ( .NOT. found )  CALL radiation_rrd_local( map_index,                                       &
     1931                                                  nxlf, nxlc, nxl_on_file,                         &
     1932                                                  nxrf, nxrc, nxr_on_file,                         &
     1933                                                  nynf, nync, nyn_on_file,                         &
     1934                                                  nysf, nysc, nys_on_file,                         &
     1935                                                  tmp_2d, tmp_3d, found                            &
     1936                                                ) ! ToDo: change interface to pass variable
     1937
     1938    IF ( .NOT. found )  CALL salsa_rrd_local( map_index,                                           &
     1939                                              nxlf, nxlc, nxl_on_file,                             &
     1940                                              nxrf, nxrc, nxr_on_file,                             &
     1941                                              nynf, nync, nyn_on_file,                             &
     1942                                              nysf, nysc, nys_on_file,                             &
     1943                                              tmp_3d, found                                        &
     1944                                            ) ! ToDo: change interface to pass variable
     1945
     1946    IF ( .NOT. found )  CALL usm_rrd_local( map_index,                                             &
     1947                                            nxlf, nxlc, nxl_on_file,                               &
     1948                                            nxrf, nxr_on_file,                                     &
     1949                                            nynf, nyn_on_file,                                     &
     1950                                            nysf, nysc, nys_on_file,                               &
     1951                                            found                                                  &
     1952                                          ) ! ToDo: change interface to pass variable
    19861953!
    19871954!-- Surface data do not need overlap data, so do not pass these information.
    19881955    IF ( .NOT. found )  CALL surface_data_output_rrd_local( found )
    19891956
    1990     IF ( .NOT. found )  CALL user_rrd_local(                                   &
    1991                                map_index,                                      &
    1992                                nxlf, nxlc, nxl_on_file,                        &
    1993                                nxrf, nxrc, nxr_on_file,                        &
    1994                                nynf, nync, nyn_on_file,                        &
    1995                                nysf, nysc, nys_on_file,                        &
    1996                                tmp_3d, found                                   &
    1997                             ) ! ToDo: change interface to pass variable
     1957    IF ( .NOT. found )  CALL user_rrd_local( map_index,                                            &
     1958                                             nxlf, nxlc, nxl_on_file,                              &
     1959                                             nxrf, nxrc, nxr_on_file,                              &
     1960                                             nynf, nync, nyn_on_file,                              &
     1961                                             nysf, nysc, nys_on_file,                              &
     1962                                             tmp_3d, found                                         &
     1963                                           ) ! ToDo: change interface to pass variable
    19981964
    19991965    IF ( debug_output )  THEN
     
    20041970
    20051971
    2006 !------------------------------------------------------------------------------!
     1972!--------------------------------------------------------------------------------------------------!
    20071973! Description:
    20081974! ------------
    20091975!> Read module-specific local restart data arrays (MPI-IO).
    2010 !------------------------------------------------------------------------------!
     1976!--------------------------------------------------------------------------------------------------!
    20111977 SUBROUTINE module_interface_rrd_local_mpi
    20121978
     
    20402006
    20412007
    2042 !------------------------------------------------------------------------------!
     2008!--------------------------------------------------------------------------------------------------!
    20432009! Description:
    20442010! ------------
    20452011!> Write module-specific restart data specific to local MPI ranks
    2046 !------------------------------------------------------------------------------!
     2012!--------------------------------------------------------------------------------------------------!
    20472013 SUBROUTINE module_interface_wrd_local
    20482014
     
    20742040
    20752041
    2076 !------------------------------------------------------------------------------!
     2042!--------------------------------------------------------------------------------------------------!
    20772043! Description:
    20782044! ------------
    20792045!> Perform module-specific last actions before the program terminates
    2080 !------------------------------------------------------------------------------!
     2046!--------------------------------------------------------------------------------------------------!
    20812047 SUBROUTINE module_interface_last_actions
    20822048
Note: See TracChangeset for help on using the changeset viewer.