Changeset 1682


Ignore:
Timestamp:
Oct 7, 2015 11:56:08 PM (6 years ago)
Author:
knoop
Message:

Code annotations made doxygen readable

Location:
palm/trunk/SOURCE
Files:
166 edited

Legend:

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

    r1518 r1682  
    1 MODULE advec_s_bc_mod
    2 
     1!> @file advec_s_bc.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    6867! Description:
    6968! ------------
    70 ! Advection term for scalar quantities using the Bott-Chlond scheme.
    71 ! Computation in individual steps for each of the three dimensions.
    72 ! Limiting assumptions:
    73 ! So far the scheme has been assuming equidistant grid spacing. As this is not
    74 ! the case in the stretched portion of the z-direction, there dzw(k) is used as
    75 ! a substitute for a constant grid length. This certainly causes incorrect
    76 ! results; however, it is hoped that they are not too apparent for weakly
    77 ! stretched grids.
    78 ! NOTE: This is a provisional, non-optimised version!
     69!> Advection term for scalar quantities using the Bott-Chlond scheme.
     70!> Computation in individual steps for each of the three dimensions.
     71!> Limiting assumptions:
     72!> So far the scheme has been assuming equidistant grid spacing. As this is not
     73!> the case in the stretched portion of the z-direction, there dzw(k) is used as
     74!> a substitute for a constant grid length. This certainly causes incorrect
     75!> results; however, it is hoped that they are not too apparent for weakly
     76!> stretched grids.
     77!> NOTE: This is a provisional, non-optimised version!
    7978!------------------------------------------------------------------------------!
     79MODULE advec_s_bc_mod
     80 
    8081
    8182    PRIVATE
     
    8889 CONTAINS
    8990
     91!------------------------------------------------------------------------------!
     92! Description:
     93! ------------
     94!> @todo Missing subroutine description.
     95!------------------------------------------------------------------------------!
    9096    SUBROUTINE advec_s_bc( sk, sk_char )
    9197
     
    120126       IMPLICIT NONE
    121127
    122        CHARACTER (LEN=*) ::  sk_char !:
    123 
    124        INTEGER(iwp) ::  i         !:
    125        INTEGER(iwp) ::  ix        !:
    126        INTEGER(iwp) ::  j         !:
    127        INTEGER(iwp) ::  k         !:
    128        INTEGER(iwp) ::  ngp       !:
    129        INTEGER(iwp) ::  sr        !:
    130        INTEGER(iwp) ::  type_xz_2 !:
    131 
    132        REAL(wp) ::  cim    !:
    133        REAL(wp) ::  cimf   !:
    134        REAL(wp) ::  cip    !:
    135        REAL(wp) ::  cipf   !:
    136        REAL(wp) ::  d_new  !:
    137        REAL(wp) ::  denomi !: denominator
    138        REAL(wp) ::  fminus !:
    139        REAL(wp) ::  fplus  !:
    140        REAL(wp) ::  f2     !:
    141        REAL(wp) ::  f4     !:
    142        REAL(wp) ::  f8     !:
    143        REAL(wp) ::  f12    !:
    144        REAL(wp) ::  f24    !:
    145        REAL(wp) ::  f48    !:
    146        REAL(wp) ::  f1920  !:
    147        REAL(wp) ::  im     !:
    148        REAL(wp) ::  ip     !:
    149        REAL(wp) ::  m2     !:
    150        REAL(wp) ::  m3     !:
    151        REAL(wp) ::  numera !: numerator
    152        REAL(wp) ::  snenn  !:
    153        REAL(wp) ::  sterm  !:
    154        REAL(wp) ::  tendcy !:
    155        REAL(wp) ::  t1     !:
    156        REAL(wp) ::  t2     !:
    157 
    158        REAL(wp) ::  fmax(2)   !:
    159        REAL(wp) ::  fmax_l(2) !:
     128       CHARACTER (LEN=*) ::  sk_char !<
     129
     130       INTEGER(iwp) ::  i         !<
     131       INTEGER(iwp) ::  ix        !<
     132       INTEGER(iwp) ::  j         !<
     133       INTEGER(iwp) ::  k         !<
     134       INTEGER(iwp) ::  ngp       !<
     135       INTEGER(iwp) ::  sr        !<
     136       INTEGER(iwp) ::  type_xz_2 !<
     137
     138       REAL(wp) ::  cim    !<
     139       REAL(wp) ::  cimf   !<
     140       REAL(wp) ::  cip    !<
     141       REAL(wp) ::  cipf   !<
     142       REAL(wp) ::  d_new  !<
     143       REAL(wp) ::  denomi !< denominator
     144       REAL(wp) ::  fminus !<
     145       REAL(wp) ::  fplus  !<
     146       REAL(wp) ::  f2     !<
     147       REAL(wp) ::  f4     !<
     148       REAL(wp) ::  f8     !<
     149       REAL(wp) ::  f12    !<
     150       REAL(wp) ::  f24    !<
     151       REAL(wp) ::  f48    !<
     152       REAL(wp) ::  f1920  !<
     153       REAL(wp) ::  im     !<
     154       REAL(wp) ::  ip     !<
     155       REAL(wp) ::  m2     !<
     156       REAL(wp) ::  m3     !<
     157       REAL(wp) ::  numera !< numerator
     158       REAL(wp) ::  snenn  !<
     159       REAL(wp) ::  sterm  !<
     160       REAL(wp) ::  tendcy !<
     161       REAL(wp) ::  t1     !<
     162       REAL(wp) ::  t2     !<
     163
     164       REAL(wp) ::  fmax(2)   !<
     165       REAL(wp) ::  fmax_l(2) !<
    160166       
    161167#if defined( __nopointer )
    162        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
     168       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
    163169#else
    164170       REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
    165171#endif
    166172
    167        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a0   !:
    168        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a1   !:
    169        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a12  !:
    170        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a2   !:
    171        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a22  !:
    172        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  immb !:
    173        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  imme !:
    174        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  impb !:
    175        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  impe !:
    176        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ipmb !:
    177        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ipme !:
    178        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ippb !:
    179        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ippe !:
     173       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a0   !<
     174       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a1   !<
     175       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a12  !<
     176       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a2   !<
     177       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  a22  !<
     178       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  immb !<
     179       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  imme !<
     180       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  impb !<
     181       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  impe !<
     182       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ipmb !<
     183       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ipme !<
     184       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ippb !<
     185       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ippe !<
    180186       
    181        REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  sk_p !:
     187       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  sk_p !<
    182188
    183189#if defined( __nec )
    184        REAL(sp) ::  m1n, m1z  !Wichtig: Division !:
    185        REAL(sp), DIMENSION(:,:), ALLOCATABLE :: m1, sw !:
     190       REAL(sp) ::  m1n, m1z  !Wichtig: Division !<
     191       REAL(sp), DIMENSION(:,:), ALLOCATABLE :: m1, sw !<
    186192#else
    187193       REAL(wp) ::  m1n, m1z
  • palm/trunk/SOURCE/advec_s_pw.f90

    r1375 r1682  
    1  MODULE advec_s_pw_mod
    2 
     1!> @file advec_s_pw.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5251! Description:
    5352! ------------
    54 ! Advection term for scalar variables using the Piacsek and Williams scheme
    55 ! (form C3). Contrary to PW itself, for reasons of accuracy their scheme is
    56 ! slightly modified as follows: the values of those scalars that are used for
    57 ! the computation of the flux divergence are reduced by the value of the
    58 ! relevant scalar at the location where the difference is computed (sk(k,j,i)).
    59 ! NOTE: at the first grid point above the surface computation still takes place!
     53!> Advection term for scalar variables using the Piacsek and Williams scheme
     54!> (form C3). Contrary to PW itself, for reasons of accuracy their scheme is
     55!> slightly modified as follows: the values of those scalars that are used for
     56!> the computation of the flux divergence are reduced by the value of the
     57!> relevant scalar at the location where the difference is computed (sk(k,j,i)).
     58!> NOTE: at the first grid point above the surface computation still takes place!
    6059!------------------------------------------------------------------------------!
     60 MODULE advec_s_pw_mod
     61 
    6162
    6263    PRIVATE
     
    7273
    7374!------------------------------------------------------------------------------!
    74 ! Call for all grid points
     75! Description:
     76! ------------
     77!> Call for all grid points
    7578!------------------------------------------------------------------------------!
    7679    SUBROUTINE advec_s_pw( sk )
     
    9497       IMPLICIT NONE
    9598
    96        INTEGER(iwp) ::  i !:
    97        INTEGER(iwp) ::  j !:
    98        INTEGER(iwp) ::  k !:
     99       INTEGER(iwp) ::  i !<
     100       INTEGER(iwp) ::  j !<
     101       INTEGER(iwp) ::  k !<
    99102
    100103#if defined( __nopointer )
    101        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
     104       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
    102105#else
    103106       REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
     
    126129
    127130!------------------------------------------------------------------------------!
    128 ! Call for grid point i,j
     131! Description:
     132! ------------
     133!> Call for grid point i,j
    129134!------------------------------------------------------------------------------!
    130135    SUBROUTINE advec_s_pw_ij( i, j, sk )
     
    147152       IMPLICIT NONE
    148153
    149        INTEGER(iwp) ::  i !:
    150        INTEGER(iwp) ::  j !:
    151        INTEGER(iwp) ::  k !:
     154       INTEGER(iwp) ::  i !<
     155       INTEGER(iwp) ::  j !<
     156       INTEGER(iwp) ::  k !<
    152157
    153158#if defined( __nopointer )
    154        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
     159       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
    155160#else
    156161       REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
  • palm/trunk/SOURCE/advec_s_up.f90

    r1375 r1682  
    1  MODULE advec_s_up_mod
    2 
     1!> @file advec_s_up.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5554! Description:
    5655! ------------
    57 ! Advection term for scalar quantities using the Upstream scheme.
    58 ! NOTE: vertical advection at k=1 still has wrong grid spacing for w>0!
    59 !       The same problem occurs for all topography boundaries!
    60 !------------------------------------------------------------------------------!
     56!> Advection term for scalar quantities using the Upstream scheme.
     57!> NOTE: vertical advection at k=1 still has wrong grid spacing for w>0!
     58!>       The same problem occurs for all topography boundaries!
     59!------------------------------------------------------------------------------!
     60 MODULE advec_s_up_mod
     61 
    6162
    6263    PRIVATE
     
    7273
    7374!------------------------------------------------------------------------------!
    74 ! Call for all grid points
     75! Description:
     76! ------------
     77!> Call for all grid points
    7578!------------------------------------------------------------------------------!
    7679    SUBROUTINE advec_s_up( sk )
     
    9497       IMPLICIT NONE
    9598
    96        INTEGER(iwp) ::  i !:
    97        INTEGER(iwp) ::  j !:
    98        INTEGER(iwp) ::  k !:
    99 
    100        REAL(wp) ::  ukomp !:
    101        REAL(wp) ::  vkomp !:
    102        REAL(wp) ::  wkomp !:
     99       INTEGER(iwp) ::  i !<
     100       INTEGER(iwp) ::  j !<
     101       INTEGER(iwp) ::  k !<
     102
     103       REAL(wp) ::  ukomp !<
     104       REAL(wp) ::  vkomp !<
     105       REAL(wp) ::  wkomp !<
    103106#if defined( __nopointer )
    104        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
     107       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
    105108#else
    106109       REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
     
    150153
    151154!------------------------------------------------------------------------------!
    152 ! Call for grid point i,j
     155! Description:
     156! ------------
     157!> Call for grid point i,j
    153158!------------------------------------------------------------------------------!
    154159    SUBROUTINE advec_s_up_ij( i, j, sk )
     
    171176       IMPLICIT NONE
    172177
    173        INTEGER(iwp) ::  i !:
    174        INTEGER(iwp) ::  j !:
    175        INTEGER(iwp) ::  k !:
    176 
    177        REAL(wp) ::  ukomp !:
    178        REAL(wp) ::  vkomp !:
    179        REAL(wp) ::  wkomp !:
     178       INTEGER(iwp) ::  i !<
     179       INTEGER(iwp) ::  j !<
     180       INTEGER(iwp) ::  k !<
     181
     182       REAL(wp) ::  ukomp !<
     183       REAL(wp) ::  vkomp !<
     184       REAL(wp) ::  wkomp !<
    180185       
    181186#if defined( __nopointer )
    182        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
     187       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
    183188#else
    184189       REAL(wp), DIMENSION(:,:,:), POINTER ::  sk
  • palm/trunk/SOURCE/advec_u_pw.f90

    r1354 r1682  
    1  MODULE advec_u_pw_mod
    2 
     1!> @file advec_u_pw.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4645! Description:
    4746! ------------
    48 ! Advection term for u velocity-component using Piacsek and Williams.
    49 ! Vertical advection at the first grid point above the surface is done with
    50 ! normal centred differences, because otherwise no information from the surface
    51 ! would be communicated upwards due to w=0 at K=nzb.
     47!> Advection term for u velocity-component using Piacsek and Williams.
     48!> Vertical advection at the first grid point above the surface is done with
     49!> normal centred differences, because otherwise no information from the surface
     50!> would be communicated upwards due to w=0 at K=nzb.
    5251!------------------------------------------------------------------------------!
     52 MODULE advec_u_pw_mod
     53 
    5354
    5455    PRIVATE
     
    6465
    6566!------------------------------------------------------------------------------!
    66 ! Call for all grid points
     67! Description:
     68! ------------
     69!> Call for all grid points
    6770!------------------------------------------------------------------------------!
    6871    SUBROUTINE advec_u_pw
     
    8588       IMPLICIT NONE
    8689
    87        INTEGER(iwp) ::  i !:
    88        INTEGER(iwp) ::  j !:
    89        INTEGER(iwp) ::  k !:
     90       INTEGER(iwp) ::  i !<
     91       INTEGER(iwp) ::  j !<
     92       INTEGER(iwp) ::  k !<
    9093       
    91        REAL(wp)    ::  gu !:
    92        REAL(wp)    ::  gv !:
     94       REAL(wp)    ::  gu !<
     95       REAL(wp)    ::  gv !<
    9396 
    9497       gu = 2.0_wp * u_gtrans
     
    114117
    115118!------------------------------------------------------------------------------!
    116 ! Call for grid point i,j
     119! Description:
     120! ------------
     121!> Call for grid point i,j
    117122!------------------------------------------------------------------------------!
    118123    SUBROUTINE advec_u_pw_ij( i, j )
     
    135140       IMPLICIT NONE
    136141
    137        INTEGER(iwp) ::  i !:
    138        INTEGER(iwp) ::  j !:
    139        INTEGER(iwp) ::  k !:
     142       INTEGER(iwp) ::  i !<
     143       INTEGER(iwp) ::  j !<
     144       INTEGER(iwp) ::  k !<
    140145       
    141        REAL(wp)    ::  gu !:
    142        REAL(wp)    ::  gv !:
     146       REAL(wp)    ::  gu !<
     147       REAL(wp)    ::  gv !<
    143148
    144149       gu = 2.0_wp * u_gtrans
  • palm/trunk/SOURCE/advec_u_up.f90

    r1354 r1682  
    1  MODULE advec_u_up_mod
    2 
     1!> @file advec_u_up.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4645! Description:
    4746! ------------
    48 ! Advection term for the u velocity-component using upstream scheme.
    49 ! NOTE: vertical advection at k=1 still has wrong grid spacing for w>0!
    50 !       The same problem occurs for all topography boundaries!
    51 !------------------------------------------------------------------------------!
     47!> Advection term for the u velocity-component using upstream scheme.
     48!> NOTE: vertical advection at k=1 still has wrong grid spacing for w>0!
     49!>       The same problem occurs for all topography boundaries!
     50!------------------------------------------------------------------------------!
     51 MODULE advec_u_up_mod
     52 
    5253
    5354    PRIVATE
     
    6364
    6465!------------------------------------------------------------------------------!
    65 ! Call for all grid points
     66! Description:
     67! ------------
     68!> Call for all grid points
    6669!------------------------------------------------------------------------------!
    6770    SUBROUTINE advec_u_up
     
    8487       IMPLICIT NONE
    8588
    86        INTEGER(iwp) ::  i !:
    87        INTEGER(iwp) ::  j !:
    88        INTEGER(iwp) ::  k !:
    89 
    90        REAL(wp) ::  ukomp !:
    91        REAL(wp) ::  vkomp !:
    92        REAL(wp) ::  wkomp !:
     89       INTEGER(iwp) ::  i !<
     90       INTEGER(iwp) ::  j !<
     91       INTEGER(iwp) ::  k !<
     92
     93       REAL(wp) ::  ukomp !<
     94       REAL(wp) ::  vkomp !<
     95       REAL(wp) ::  wkomp !<
    9396
    9497       
     
    137140
    138141!------------------------------------------------------------------------------!
    139 ! Call for grid point i,j
     142! Description:
     143! ------------
     144!> Call for grid point i,j
    140145!------------------------------------------------------------------------------!
    141146    SUBROUTINE advec_u_up_ij( i, j )
     
    158163       IMPLICIT NONE
    159164
    160        INTEGER(iwp) ::  i !:
    161        INTEGER(iwp) ::  j !:
    162        INTEGER(iwp) ::  k !:
    163 
    164        REAL(wp) ::  ukomp !:
    165        REAL(wp) ::  vkomp !:
    166        REAL(wp) ::  wkomp !:
     165       INTEGER(iwp) ::  i !<
     166       INTEGER(iwp) ::  j !<
     167       INTEGER(iwp) ::  k !<
     168
     169       REAL(wp) ::  ukomp !<
     170       REAL(wp) ::  vkomp !<
     171       REAL(wp) ::  wkomp !<
    167172
    168173
  • palm/trunk/SOURCE/advec_v_pw.f90

    r1354 r1682  
    1  MODULE advec_v_pw_mod
    2 
     1!> @file advec_v_pw.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4645! Description:
    4746! ------------
    48 ! Advection term for v velocity-component using Piacsek and Williams.
    49 ! Vertical advection at the first grid point above the surface is done with
    50 ! normal centred differences, because otherwise no information from the surface
    51 ! would be communicated upwards due to w=0 at K=nzb.
     47!> Advection term for v velocity-component using Piacsek and Williams.
     48!> Vertical advection at the first grid point above the surface is done with
     49!> normal centred differences, because otherwise no information from the surface
     50!> would be communicated upwards due to w=0 at K=nzb.
    5251!------------------------------------------------------------------------------!
     52 MODULE advec_v_pw_mod
     53 
    5354
    5455    PRIVATE
     
    6465
    6566!------------------------------------------------------------------------------!
    66 ! Call for all grid points
     67! Description:
     68! ------------
     69!> Call for all grid points
    6770!------------------------------------------------------------------------------!
    6871    SUBROUTINE advec_v_pw
     
    8588       IMPLICIT NONE
    8689
    87        INTEGER(iwp) ::  i !:
    88        INTEGER(iwp) ::  j !:
    89        INTEGER(iwp) ::  k !:
     90       INTEGER(iwp) ::  i !<
     91       INTEGER(iwp) ::  j !<
     92       INTEGER(iwp) ::  k !<
    9093       
    91        REAL(wp)    ::  gu !:
    92        REAL(wp)    ::  gv !:
     94       REAL(wp)    ::  gu !<
     95       REAL(wp)    ::  gv !<
    9396 
    9497
     
    115118
    116119!------------------------------------------------------------------------------!
    117 ! Call for grid point i,j
     120! Description:
     121! ------------
     122!> Call for grid point i,j
    118123!------------------------------------------------------------------------------!
    119124    SUBROUTINE advec_v_pw_ij( i, j )
     
    136141       IMPLICIT NONE
    137142
    138        INTEGER(iwp) ::  i !:
    139        INTEGER(iwp) ::  j !:
    140        INTEGER(iwp) ::  k !:
     143       INTEGER(iwp) ::  i !<
     144       INTEGER(iwp) ::  j !<
     145       INTEGER(iwp) ::  k !<
    141146       
    142        REAL(wp)    ::  gu !:
    143        REAL(wp)    ::  gv !:
     147       REAL(wp)    ::  gu !<
     148       REAL(wp)    ::  gv !<
    144149
    145150
  • palm/trunk/SOURCE/advec_v_up.f90

    r1354 r1682  
    1  MODULE advec_v_up_mod
    2 
     1!> @file advec_v_up.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4645! Description:
    4746! ------------
    48 ! Advection term for the v velocity-component using upstream scheme.
    49 ! NOTE: vertical advection at k=1 still has wrong grid spacing for w>0!
    50 !       The same problem occurs for all topography boundaries!
    51 !------------------------------------------------------------------------------!
     47!> Advection term for the v velocity-component using upstream scheme.
     48!> NOTE: vertical advection at k=1 still has wrong grid spacing for w>0!
     49!>       The same problem occurs for all topography boundaries!
     50!------------------------------------------------------------------------------!
     51 MODULE advec_v_up_mod
     52 
    5253
    5354    PRIVATE
     
    6364
    6465!------------------------------------------------------------------------------!
    65 ! Call for all grid points
     66! Description:
     67! ------------
     68!> Call for all grid points
    6669!------------------------------------------------------------------------------!
    6770    SUBROUTINE advec_v_up
     
    8487       IMPLICIT NONE
    8588
    86        INTEGER(iwp) ::  i !:
    87        INTEGER(iwp) ::  j !:
    88        INTEGER(iwp) ::  k !:
    89 
    90        REAL(wp) ::  ukomp !:
    91        REAL(wp) ::  vkomp !:
    92        REAL(wp) ::  wkomp !:       
     89       INTEGER(iwp) ::  i !<
     90       INTEGER(iwp) ::  j !<
     91       INTEGER(iwp) ::  k !<
     92
     93       REAL(wp) ::  ukomp !<
     94       REAL(wp) ::  vkomp !<
     95       REAL(wp) ::  wkomp !<       
    9396
    9497
     
    137140
    138141!------------------------------------------------------------------------------!
    139 ! Call for grid point i,j
     142! Description:
     143! ------------
     144!> Call for grid point i,j
    140145!------------------------------------------------------------------------------!
    141146    SUBROUTINE advec_v_up_ij( i, j )
     
    158163       IMPLICIT NONE
    159164
    160        INTEGER(iwp) ::  i !:
    161        INTEGER(iwp) ::  j !:
    162        INTEGER(iwp) ::  k !:
    163 
    164        REAL(wp) ::  ukomp !:
    165        REAL(wp) ::  vkomp !:
    166        REAL(wp) ::  wkomp !:
     165       INTEGER(iwp) ::  i !<
     166       INTEGER(iwp) ::  j !<
     167       INTEGER(iwp) ::  k !<
     168
     169       REAL(wp) ::  ukomp !<
     170       REAL(wp) ::  vkomp !<
     171       REAL(wp) ::  wkomp !<
    167172
    168173
  • palm/trunk/SOURCE/advec_w_pw.f90

    r1354 r1682  
    1  MODULE advec_w_pw_mod
    2 
     1!> @file advec_w_pw.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4645! Description:
    4746! ------------
    48 ! Advection term for w velocity-component using Piacsek and Williams.
    49 ! Vertical advection at the first grid point above the surface is done with
    50 ! normal centred differences, because otherwise no information from the surface
    51 ! would be communicated upwards due to w=0 at k=nzb.
     47!> Advection term for w velocity-component using Piacsek and Williams.
     48!> Vertical advection at the first grid point above the surface is done with
     49!> normal centred differences, because otherwise no information from the surface
     50!> would be communicated upwards due to w=0 at k=nzb.
    5251!------------------------------------------------------------------------------!
     52 MODULE advec_w_pw_mod
     53 
    5354
    5455    PRIVATE
     
    6465
    6566!------------------------------------------------------------------------------!
    66 ! Call for all grid points
     67! Description:
     68! ------------
     69!> Call for all grid points
    6770!------------------------------------------------------------------------------!
    6871    SUBROUTINE advec_w_pw
     
    8588       IMPLICIT NONE
    8689
    87        INTEGER(iwp) ::  i !:
    88        INTEGER(iwp) ::  j !:
    89        INTEGER(iwp) ::  k !:
     90       INTEGER(iwp) ::  i !<
     91       INTEGER(iwp) ::  j !<
     92       INTEGER(iwp) ::  k !<
    9093       
    91        REAL(wp)    ::  gu !:
    92        REAL(wp)    ::  gv !:
     94       REAL(wp)    ::  gu !<
     95       REAL(wp)    ::  gv !<
    9396
    9497 
     
    115118
    116119!------------------------------------------------------------------------------!
    117 ! Call for grid point i,j
     120! Description:
     121! ------------
     122!> Call for grid point i,j
    118123!------------------------------------------------------------------------------!
    119124    SUBROUTINE advec_w_pw_ij( i, j )
     
    136141       IMPLICIT NONE
    137142
    138        INTEGER(iwp) ::  i !:
    139        INTEGER(iwp) ::  j !:
    140        INTEGER(iwp) ::  k !:
     143       INTEGER(iwp) ::  i !<
     144       INTEGER(iwp) ::  j !<
     145       INTEGER(iwp) ::  k !<
    141146       
    142        REAL(wp)    ::  gu !:
    143        REAL(wp)    ::  gv !:
     147       REAL(wp)    ::  gu !<
     148       REAL(wp)    ::  gv !<
    144149
    145150       gu = 2.0_wp * u_gtrans
  • palm/trunk/SOURCE/advec_w_up.f90

    r1354 r1682  
    1  MODULE advec_w_up_mod
    2 
     1!> @file advec_w_up.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4645! Description:
    4746! ------------
    48 ! Advection term for the w velocity-component using upstream scheme.
    49 ! NOTE: vertical advection at k=1 still has wrong grid spacing for w>0
    50 !       The same problem occurs for all topography boundaries!
    51 !------------------------------------------------------------------------------!
     47!> Advection term for the w velocity-component using upstream scheme.
     48!> NOTE: vertical advection at k=1 still has wrong grid spacing for w>0
     49!>       The same problem occurs for all topography boundaries!
     50!------------------------------------------------------------------------------!
     51 MODULE advec_w_up_mod
     52 
    5253
    5354    PRIVATE
     
    6364
    6465!------------------------------------------------------------------------------!
    65 ! Call for all grid points
     66! Description:
     67! ------------
     68!> Call for all grid points
    6669!------------------------------------------------------------------------------!
    6770    SUBROUTINE advec_w_up
     
    8487       IMPLICIT NONE
    8588
    86        INTEGER(iwp) ::  i !:
    87        INTEGER(iwp) ::  j !:
    88        INTEGER(iwp) ::  k !:
    89 
    90        REAL(wp) ::  ukomp !:
    91        REAL(wp) ::  vkomp !:
     89       INTEGER(iwp) ::  i !<
     90       INTEGER(iwp) ::  j !<
     91       INTEGER(iwp) ::  k !<
     92
     93       REAL(wp) ::  ukomp !<
     94       REAL(wp) ::  vkomp !<
    9295
    9396
     
    135138
    136139!------------------------------------------------------------------------------!
    137 ! Call for grid point i,j
     140! Description:
     141! ------------
     142!> Call for grid point i,j
    138143!------------------------------------------------------------------------------!
    139144    SUBROUTINE advec_w_up_ij( i, j )
     
    156161       IMPLICIT NONE
    157162
    158        INTEGER(iwp) ::  i !:
    159        INTEGER(iwp) ::  j !:
    160        INTEGER(iwp) ::  k !:
    161 
    162        REAL(wp) ::  ukomp !:
    163        REAL(wp) ::  vkomp !:
     163       INTEGER(iwp) ::  i !<
     164       INTEGER(iwp) ::  j !<
     165       INTEGER(iwp) ::  k !<
     166
     167       REAL(wp) ::  ukomp !<
     168       REAL(wp) ::  vkomp !<
    164169
    165170
  • palm/trunk/SOURCE/advec_ws.f90

    r1640 r1682  
    1  MODULE advec_ws
    2 
     1!> @file advec_ws.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! ------------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    136135! Description:
    137136! ------------
    138 ! Advection scheme for scalars and momentum using the flux formulation of
    139 ! Wicker and Skamarock 5th order. Additionally the module contains of a
    140 ! routine using for initialisation and steering of the statical evaluation.
    141 ! The computation of turbulent fluxes takes place inside the advection
    142 ! routines.
    143 ! Near non-cyclic boundaries the order of the applied advection scheme is
    144 ! degraded.
    145 ! A divergence correction is applied. It is necessary for topography, since
    146 ! the divergence is not sufficiently reduced, resulting in erroneous fluxes and
    147 ! partly numerical instabilities.
     137!> Advection scheme for scalars and momentum using the flux formulation of
     138!> Wicker and Skamarock 5th order. Additionally the module contains of a
     139!> routine using for initialisation and steering of the statical evaluation.
     140!> The computation of turbulent fluxes takes place inside the advection
     141!> routines.
     142!> Near non-cyclic boundaries the order of the applied advection scheme is
     143!> degraded.
     144!> A divergence correction is applied. It is necessary for topography, since
     145!> the divergence is not sufficiently reduced, resulting in erroneous fluxes and
     146!> partly numerical instabilities.
    148147!-----------------------------------------------------------------------------!
     148 MODULE advec_ws
     149
     150 
    149151
    150152    PRIVATE
     
    197199
    198200!------------------------------------------------------------------------------!
    199 ! Initialization of WS-scheme
     201! Description:
     202! ------------
     203!> Initialization of WS-scheme
    200204!------------------------------------------------------------------------------!
    201205    SUBROUTINE ws_init
     
    351355
    352356!------------------------------------------------------------------------------!
    353 ! Initialize variables used for storing statistic quantities (fluxes, variances)
     357! Description:
     358! ------------
     359!> Initialize variables used for storing statistic quantities (fluxes, variances)
    354360!------------------------------------------------------------------------------!
    355361    SUBROUTINE ws_statistics
     
    395401
    396402!------------------------------------------------------------------------------!
    397 ! Scalar advection - Call for grid point i,j
     403! Description:
     404! ------------
     405!> Scalar advection - Call for grid point i,j
    398406!------------------------------------------------------------------------------!
    399407    SUBROUTINE advec_s_ws_ij( i, j, sk, sk_char, swap_flux_y_local,            &
     
    428436       IMPLICIT NONE
    429437
    430        CHARACTER (LEN = *), INTENT(IN) ::  sk_char !:
     438       CHARACTER (LEN = *), INTENT(IN) ::  sk_char !<
    431439       
    432        INTEGER(iwp) ::  i     !:
    433        INTEGER(iwp) ::  ibit0 !:
    434        INTEGER(iwp) ::  ibit1 !:
    435        INTEGER(iwp) ::  ibit2 !:
    436        INTEGER(iwp) ::  ibit3 !:
    437        INTEGER(iwp) ::  ibit4 !:
    438        INTEGER(iwp) ::  ibit5 !:
    439        INTEGER(iwp) ::  ibit6 !:
    440        INTEGER(iwp) ::  ibit7 !:
    441        INTEGER(iwp) ::  ibit8 !:
    442        INTEGER(iwp) ::  i_omp !:
    443        INTEGER(iwp) ::  j     !:
    444        INTEGER(iwp) ::  k     !:
    445        INTEGER(iwp) ::  k_mm  !:
    446        INTEGER(iwp) ::  k_mmm !:
    447        INTEGER(iwp) ::  k_pp  !:
    448        INTEGER(iwp) ::  k_ppp !:
    449        INTEGER(iwp) ::  tn    !:
     440       INTEGER(iwp) ::  i     !<
     441       INTEGER(iwp) ::  ibit0 !<
     442       INTEGER(iwp) ::  ibit1 !<
     443       INTEGER(iwp) ::  ibit2 !<
     444       INTEGER(iwp) ::  ibit3 !<
     445       INTEGER(iwp) ::  ibit4 !<
     446       INTEGER(iwp) ::  ibit5 !<
     447       INTEGER(iwp) ::  ibit6 !<
     448       INTEGER(iwp) ::  ibit7 !<
     449       INTEGER(iwp) ::  ibit8 !<
     450       INTEGER(iwp) ::  i_omp !<
     451       INTEGER(iwp) ::  j     !<
     452       INTEGER(iwp) ::  k     !<
     453       INTEGER(iwp) ::  k_mm  !<
     454       INTEGER(iwp) ::  k_mmm !<
     455       INTEGER(iwp) ::  k_pp  !<
     456       INTEGER(iwp) ::  k_ppp !<
     457       INTEGER(iwp) ::  tn    !<
    450458       
    451        REAL(wp)     ::  diss_d !:
    452        REAL(wp)     ::  div    !:
    453        REAL(wp)     ::  flux_d !:
    454        REAL(wp)     ::  fd_1   !:
    455        REAL(wp)     ::  fl_1   !:
    456        REAL(wp)     ::  fn_1   !:
    457        REAL(wp)     ::  fr_1   !:
    458        REAL(wp)     ::  fs_1   !:
    459        REAL(wp)     ::  ft_1   !:
    460        REAL(wp)     ::  phi_d  !:
    461        REAL(wp)     ::  phi_l  !:
    462        REAL(wp)     ::  phi_n  !:
    463        REAL(wp)     ::  phi_r  !:
    464        REAL(wp)     ::  phi_s  !:
    465        REAL(wp)     ::  phi_t  !:
    466        REAL(wp)     ::  rd     !:
    467        REAL(wp)     ::  rl     !:
    468        REAL(wp)     ::  rn     !:
    469        REAL(wp)     ::  rr     !:
    470        REAL(wp)     ::  rs     !:
    471        REAL(wp)     ::  rt     !:
    472        REAL(wp)     ::  u_comp !:
    473        REAL(wp)     ::  v_comp !:
     459       REAL(wp)     ::  diss_d !<
     460       REAL(wp)     ::  div    !<
     461       REAL(wp)     ::  flux_d !<
     462       REAL(wp)     ::  fd_1   !<
     463       REAL(wp)     ::  fl_1   !<
     464       REAL(wp)     ::  fn_1   !<
     465       REAL(wp)     ::  fr_1   !<
     466       REAL(wp)     ::  fs_1   !<
     467       REAL(wp)     ::  ft_1   !<
     468       REAL(wp)     ::  phi_d  !<
     469       REAL(wp)     ::  phi_l  !<
     470       REAL(wp)     ::  phi_n  !<
     471       REAL(wp)     ::  phi_r  !<
     472       REAL(wp)     ::  phi_s  !<
     473       REAL(wp)     ::  phi_t  !<
     474       REAL(wp)     ::  rd     !<
     475       REAL(wp)     ::  rl     !<
     476       REAL(wp)     ::  rn     !<
     477       REAL(wp)     ::  rr     !<
     478       REAL(wp)     ::  rs     !<
     479       REAL(wp)     ::  rt     !<
     480       REAL(wp)     ::  u_comp !<
     481       REAL(wp)     ::  v_comp !<
    474482       
    475483#if defined( __nopointer )
    476        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
     484       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
    477485#else
    478        REAL(wp), DIMENSION(:,:,:), POINTER    ::  sk     !:
     486       REAL(wp), DIMENSION(:,:,:), POINTER    ::  sk     !<
    479487#endif
    480        REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_n !:
    481        REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_r !:
    482        REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_t !:
    483        REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_n !:
    484        REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_r !:
    485        REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_t !:
     488       REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_n !<
     489       REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_r !<
     490       REAL(wp), DIMENSION(nzb:nzt+1)         ::  diss_t !<
     491       REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_n !<
     492       REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_r !<
     493       REAL(wp), DIMENSION(nzb:nzt+1)         ::  flux_t !<
    486494       
    487        REAL(wp), DIMENSION(nzb+1:nzt,0:threads_per_task-1) ::  swap_diss_y_local !:
    488        REAL(wp), DIMENSION(nzb+1:nzt,0:threads_per_task-1) ::  swap_flux_y_local !:
     495       REAL(wp), DIMENSION(nzb+1:nzt,0:threads_per_task-1) ::  swap_diss_y_local !<
     496       REAL(wp), DIMENSION(nzb+1:nzt,0:threads_per_task-1) ::  swap_flux_y_local !<
    489497       
    490        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn,0:threads_per_task-1) ::  swap_diss_x_local !:
    491        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn,0:threads_per_task-1) ::  swap_flux_x_local !:
     498       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn,0:threads_per_task-1) ::  swap_diss_x_local !<
     499       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn,0:threads_per_task-1) ::  swap_flux_x_local !<
    492500       
    493501
     
    12001208
    12011209!------------------------------------------------------------------------------!
    1202 ! Advection of u-component - Call for grid point i,j
     1210! Description:
     1211! ------------
     1212!> Advection of u-component - Call for grid point i,j
    12031213!------------------------------------------------------------------------------!
    12041214    SUBROUTINE advec_u_ws_ij( i, j, i_omp, tn )
     
    12261236       IMPLICIT NONE
    12271237
    1228        INTEGER(iwp) ::  i      !:
    1229        INTEGER(iwp) ::  ibit9  !:
    1230        INTEGER(iwp) ::  ibit10 !:
    1231        INTEGER(iwp) ::  ibit11 !:
    1232        INTEGER(iwp) ::  ibit12 !:
    1233        INTEGER(iwp) ::  ibit13 !:
    1234        INTEGER(iwp) ::  ibit14 !:
    1235        INTEGER(iwp) ::  ibit15 !:
    1236        INTEGER(iwp) ::  ibit16 !:
    1237        INTEGER(iwp) ::  ibit17 !:
    1238        INTEGER(iwp) ::  i_omp  !:
    1239        INTEGER(iwp) ::  j      !:
    1240        INTEGER(iwp) ::  k      !:
    1241        INTEGER(iwp) ::  k_mm   !:
    1242        INTEGER(iwp) ::  k_pp   !:
    1243        INTEGER(iwp) ::  k_ppp  !:
    1244        INTEGER(iwp) ::  tn     !:
     1238       INTEGER(iwp) ::  i      !<
     1239       INTEGER(iwp) ::  ibit9  !<
     1240       INTEGER(iwp) ::  ibit10 !<
     1241       INTEGER(iwp) ::  ibit11 !<
     1242       INTEGER(iwp) ::  ibit12 !<
     1243       INTEGER(iwp) ::  ibit13 !<
     1244       INTEGER(iwp) ::  ibit14 !<
     1245       INTEGER(iwp) ::  ibit15 !<
     1246       INTEGER(iwp) ::  ibit16 !<
     1247       INTEGER(iwp) ::  ibit17 !<
     1248       INTEGER(iwp) ::  i_omp  !<
     1249       INTEGER(iwp) ::  j      !<
     1250       INTEGER(iwp) ::  k      !<
     1251       INTEGER(iwp) ::  k_mm   !<
     1252       INTEGER(iwp) ::  k_pp   !<
     1253       INTEGER(iwp) ::  k_ppp  !<
     1254       INTEGER(iwp) ::  tn     !<
    12451255       
    1246        REAL(wp)    ::  diss_d   !:
    1247        REAL(wp)    ::  div      !:
    1248        REAL(wp)    ::  flux_d   !:
    1249        REAL(wp)    ::  gu       !:
    1250        REAL(wp)    ::  gv       !:
    1251        REAL(wp)    ::  u_comp_l !:
    1252        REAL(wp)    ::  v_comp   !:
    1253        REAL(wp)    ::  w_comp   !:
     1256       REAL(wp)    ::  diss_d   !<
     1257       REAL(wp)    ::  div      !<
     1258       REAL(wp)    ::  flux_d   !<
     1259       REAL(wp)    ::  gu       !<
     1260       REAL(wp)    ::  gv       !<
     1261       REAL(wp)    ::  u_comp_l !<
     1262       REAL(wp)    ::  v_comp   !<
     1263       REAL(wp)    ::  w_comp   !<
    12541264       
    1255        REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_n !:
    1256        REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_r !:
    1257        REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_t !:
    1258        REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_n !:
    1259        REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_r !:
    1260        REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_t !:
    1261        REAL(wp), DIMENSION(nzb:nzt+1) ::  u_comp !:
     1265       REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_n !<
     1266       REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_r !<
     1267       REAL(wp), DIMENSION(nzb:nzt+1) ::  diss_t !<
     1268       REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_n !<
     1269       REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_r !<
     1270       REAL(wp), DIMENSION(nzb:nzt+1) ::  flux_t !<
     1271       REAL(wp), DIMENSION(nzb:nzt+1) ::  u_comp !<
    12621272
    12631273       gu = 2.0_wp * u_gtrans
     
    16731683
    16741684!-----------------------------------------------------------------------------!
    1675 ! Advection of v-component - Call for grid point i,j
     1685! Description:
     1686! ------------
     1687!> Advection of v-component - Call for grid point i,j
    16761688!-----------------------------------------------------------------------------!
    16771689   SUBROUTINE advec_v_ws_ij( i, j, i_omp, tn )
     
    16991711       IMPLICIT NONE
    17001712
    1701        INTEGER(iwp)  ::  i      !:
    1702        INTEGER(iwp)  ::  ibit18 !:
    1703        INTEGER(iwp)  ::  ibit19 !:
    1704        INTEGER(iwp)  ::  ibit20 !:
    1705        INTEGER(iwp)  ::  ibit21 !:
    1706        INTEGER(iwp)  ::  ibit22 !:
    1707        INTEGER(iwp)  ::  ibit23 !:
    1708        INTEGER(iwp)  ::  ibit24 !:
    1709        INTEGER(iwp)  ::  ibit25 !:
    1710        INTEGER(iwp)  ::  ibit26 !:
    1711        INTEGER(iwp)  ::  i_omp  !:
    1712        INTEGER(iwp)  ::  j      !:
    1713        INTEGER(iwp)  ::  k      !:
    1714        INTEGER(iwp)  ::  k_mm   !:
    1715        INTEGER(iwp)  ::  k_pp   !:
    1716        INTEGER(iwp)  ::  k_ppp  !:
    1717        INTEGER(iwp)  ::  tn     !:
     1713       INTEGER(iwp)  ::  i      !<
     1714       INTEGER(iwp)  ::  ibit18 !<
     1715       INTEGER(iwp)  ::  ibit19 !<
     1716       INTEGER(iwp)  ::  ibit20 !<
     1717       INTEGER(iwp)  ::  ibit21 !<
     1718       INTEGER(iwp)  ::  ibit22 !<
     1719       INTEGER(iwp)  ::  ibit23 !<
     1720       INTEGER(iwp)  ::  ibit24 !<
     1721       INTEGER(iwp)  ::  ibit25 !<
     1722       INTEGER(iwp)  ::  ibit26 !<
     1723       INTEGER(iwp)  ::  i_omp  !<
     1724       INTEGER(iwp)  ::  j      !<
     1725       INTEGER(iwp)  ::  k      !<
     1726       INTEGER(iwp)  ::  k_mm   !<
     1727       INTEGER(iwp)  ::  k_pp   !<
     1728       INTEGER(iwp)  ::  k_ppp  !<
     1729       INTEGER(iwp)  ::  tn     !<
    17181730       
    1719        REAL(wp)     ::  diss_d   !:
    1720        REAL(wp)     ::  div      !:
    1721        REAL(wp)     ::  flux_d   !:
    1722        REAL(wp)     ::  gu       !:
    1723        REAL(wp)     ::  gv       !:
    1724        REAL(wp)     ::  u_comp   !:
    1725        REAL(wp)     ::  v_comp_l !:
    1726        REAL(wp)     ::  w_comp   !:
     1731       REAL(wp)     ::  diss_d   !<
     1732       REAL(wp)     ::  div      !<
     1733       REAL(wp)     ::  flux_d   !<
     1734       REAL(wp)     ::  gu       !<
     1735       REAL(wp)     ::  gv       !<
     1736       REAL(wp)     ::  u_comp   !<
     1737       REAL(wp)     ::  v_comp_l !<
     1738       REAL(wp)     ::  w_comp   !<
    17271739       
    1728        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_n !:
    1729        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_r !:
    1730        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_t !:
    1731        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_n !:
    1732        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_r !:
    1733        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_t !:
    1734        REAL(wp), DIMENSION(nzb:nzt+1)  ::  v_comp !:
     1740       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_n !<
     1741       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_r !<
     1742       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_t !<
     1743       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_n !<
     1744       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_r !<
     1745       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_t !<
     1746       REAL(wp), DIMENSION(nzb:nzt+1)  ::  v_comp !<
    17351747
    17361748       gu = 2.0_wp * u_gtrans
     
    21562168
    21572169!------------------------------------------------------------------------------!
    2158 ! Advection of w-component - Call for grid point i,j
     2170! Description:
     2171! ------------
     2172!> Advection of w-component - Call for grid point i,j
    21592173!------------------------------------------------------------------------------!
    21602174    SUBROUTINE advec_w_ws_ij( i, j, i_omp, tn )
     
    21832197       IMPLICIT NONE
    21842198
    2185        INTEGER(iwp) ::  i      !:
    2186        INTEGER(iwp) ::  ibit27 !:
    2187        INTEGER(iwp) ::  ibit28 !:
    2188        INTEGER(iwp) ::  ibit29 !:
    2189        INTEGER(iwp) ::  ibit30 !:
    2190        INTEGER(iwp) ::  ibit31 !:
    2191        INTEGER(iwp) ::  ibit32 !:
    2192        INTEGER(iwp) ::  ibit33 !:
    2193        INTEGER(iwp) ::  ibit34 !:
    2194        INTEGER(iwp) ::  ibit35 !:
    2195        INTEGER(iwp) ::  i_omp  !:
    2196        INTEGER(iwp) ::  j      !:
    2197        INTEGER(iwp) ::  k      !:
    2198        INTEGER(iwp) ::  k_mm   !:
    2199        INTEGER(iwp) ::  k_pp   !:
    2200        INTEGER(iwp) ::  k_ppp  !:
    2201        INTEGER(iwp) ::  tn     !:
     2199       INTEGER(iwp) ::  i      !<
     2200       INTEGER(iwp) ::  ibit27 !<
     2201       INTEGER(iwp) ::  ibit28 !<
     2202       INTEGER(iwp) ::  ibit29 !<
     2203       INTEGER(iwp) ::  ibit30 !<
     2204       INTEGER(iwp) ::  ibit31 !<
     2205       INTEGER(iwp) ::  ibit32 !<
     2206       INTEGER(iwp) ::  ibit33 !<
     2207       INTEGER(iwp) ::  ibit34 !<
     2208       INTEGER(iwp) ::  ibit35 !<
     2209       INTEGER(iwp) ::  i_omp  !<
     2210       INTEGER(iwp) ::  j      !<
     2211       INTEGER(iwp) ::  k      !<
     2212       INTEGER(iwp) ::  k_mm   !<
     2213       INTEGER(iwp) ::  k_pp   !<
     2214       INTEGER(iwp) ::  k_ppp  !<
     2215       INTEGER(iwp) ::  tn     !<
    22022216       
    2203        REAL(wp)    ::  diss_d  !:
    2204        REAL(wp)    ::  div     !:
    2205        REAL(wp)    ::  flux_d  !:
    2206        REAL(wp)    ::  gu      !:
    2207        REAL(wp)    ::  gv      !:
    2208        REAL(wp)    ::  u_comp  !:
    2209        REAL(wp)    ::  v_comp  !:
    2210        REAL(wp)    ::  w_comp  !:
     2217       REAL(wp)    ::  diss_d  !<
     2218       REAL(wp)    ::  div     !<
     2219       REAL(wp)    ::  flux_d  !<
     2220       REAL(wp)    ::  gu      !<
     2221       REAL(wp)    ::  gv      !<
     2222       REAL(wp)    ::  u_comp  !<
     2223       REAL(wp)    ::  v_comp  !<
     2224       REAL(wp)    ::  w_comp  !<
    22112225       
    2212        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_n !:
    2213        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_r !:
    2214        REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_t !:
    2215        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_n !:
    2216        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_r !:
    2217        REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_t !:
     2226       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_n !<
     2227       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_r !<
     2228       REAL(wp), DIMENSION(nzb:nzt+1)  ::  diss_t !<
     2229       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_n !<
     2230       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_r !<
     2231       REAL(wp), DIMENSION(nzb:nzt+1)  ::  flux_t !<
    22182232
    22192233       gu = 2.0_wp * u_gtrans
     
    26132627
    26142628!------------------------------------------------------------------------------!
    2615 ! Scalar advection - Call for all grid points
     2629! Description:
     2630! ------------
     2631!> Scalar advection - Call for all grid points
    26162632!------------------------------------------------------------------------------!
    26172633    SUBROUTINE advec_s_ws( sk, sk_char )
     
    26422658       IMPLICIT NONE
    26432659
    2644        CHARACTER (LEN = *), INTENT(IN)    ::  sk_char !:
     2660       CHARACTER (LEN = *), INTENT(IN)    ::  sk_char !<
    26452661       
    2646        INTEGER(iwp) ::  i      !:
    2647        INTEGER(iwp) ::  ibit0  !:
    2648        INTEGER(iwp) ::  ibit1  !:
    2649        INTEGER(iwp) ::  ibit2  !:
    2650        INTEGER(iwp) ::  ibit3  !:
    2651        INTEGER(iwp) ::  ibit4  !:
    2652        INTEGER(iwp) ::  ibit5  !:
    2653        INTEGER(iwp) ::  ibit6  !:
    2654        INTEGER(iwp) ::  ibit7  !:
    2655        INTEGER(iwp) ::  ibit8  !:
    2656        INTEGER(iwp) ::  j      !:
    2657        INTEGER(iwp) ::  k      !:
    2658        INTEGER(iwp) ::  k_mm   !:
    2659        INTEGER(iwp) ::  k_mmm  !:
    2660        INTEGER(iwp) ::  k_pp   !:
    2661        INTEGER(iwp) ::  k_ppp  !:
    2662        INTEGER(iwp) ::  tn = 0 !:
     2662       INTEGER(iwp) ::  i      !<
     2663       INTEGER(iwp) ::  ibit0  !<
     2664       INTEGER(iwp) ::  ibit1  !<
     2665       INTEGER(iwp) ::  ibit2  !<
     2666       INTEGER(iwp) ::  ibit3  !<
     2667       INTEGER(iwp) ::  ibit4  !<
     2668       INTEGER(iwp) ::  ibit5  !<
     2669       INTEGER(iwp) ::  ibit6  !<
     2670       INTEGER(iwp) ::  ibit7  !<
     2671       INTEGER(iwp) ::  ibit8  !<
     2672       INTEGER(iwp) ::  j      !<
     2673       INTEGER(iwp) ::  k      !<
     2674       INTEGER(iwp) ::  k_mm   !<
     2675       INTEGER(iwp) ::  k_mmm  !<
     2676       INTEGER(iwp) ::  k_pp   !<
     2677       INTEGER(iwp) ::  k_ppp  !<
     2678       INTEGER(iwp) ::  tn = 0 !<
    26632679       
    26642680#if defined( __nopointer )
    2665        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !:
     2681       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  sk !<
    26662682#else
    2667        REAL(wp), DIMENSION(:,:,:), POINTER ::  sk !:
     2683       REAL(wp), DIMENSION(:,:,:), POINTER ::  sk !<
    26682684#endif
    26692685
    2670        REAL(wp) ::  diss_d !:
    2671        REAL(wp) ::  div    !:
    2672        REAL(wp) ::  flux_d !:
    2673        REAL(wp) ::  fd_1   !:
    2674        REAL(wp) ::  fl_1   !:
    2675        REAL(wp) ::  fn_1   !:
    2676        REAL(wp) ::  fr_1   !:
    2677        REAL(wp) ::  fs_1   !:
    2678        REAL(wp) ::  ft_1   !:
    2679        REAL(wp) ::  phi_d  !:
    2680        REAL(wp) ::  phi_l  !:
    2681        REAL(wp) ::  phi_n  !:
    2682        REAL(wp) ::  phi_r  !:
    2683        REAL(wp) ::  phi_s  !:
    2684        REAL(wp) ::  phi_t  !:
    2685        REAL(wp) ::  rd     !:
    2686        REAL(wp) ::  rl     !:
    2687        REAL(wp) ::  rn     !:
    2688        REAL(wp) ::  rr     !:
    2689        REAL(wp) ::  rs     !:
    2690        REAL(wp) ::  rt     !:
    2691        REAL(wp) ::  u_comp !:
    2692        REAL(wp) ::  v_comp !:
     2686       REAL(wp) ::  diss_d !<
     2687       REAL(wp) ::  div    !<
     2688       REAL(wp) ::  flux_d !<
     2689       REAL(wp) ::  fd_1   !<
     2690       REAL(wp) ::  fl_1   !<
     2691       REAL(wp) ::  fn_1   !<
     2692       REAL(wp) ::  fr_1   !<
     2693       REAL(wp) ::  fs_1   !<
     2694       REAL(wp) ::  ft_1   !<
     2695       REAL(wp) ::  phi_d  !<
     2696       REAL(wp) ::  phi_l  !<
     2697       REAL(wp) ::  phi_n  !<
     2698       REAL(wp) ::  phi_r  !<
     2699       REAL(wp) ::  phi_s  !<
     2700       REAL(wp) ::  phi_t  !<
     2701       REAL(wp) ::  rd     !<
     2702       REAL(wp) ::  rl     !<
     2703       REAL(wp) ::  rn     !<
     2704       REAL(wp) ::  rr     !<
     2705       REAL(wp) ::  rs     !<
     2706       REAL(wp) ::  rt     !<
     2707       REAL(wp) ::  u_comp !<
     2708       REAL(wp) ::  v_comp !<
    26932709       
    2694        REAL(wp), DIMENSION(nzb:nzt)   ::  diss_n !:
    2695        REAL(wp), DIMENSION(nzb:nzt)   ::  diss_r !:
    2696        REAL(wp), DIMENSION(nzb:nzt)   ::  diss_t !:
    2697        REAL(wp), DIMENSION(nzb:nzt)   ::  flux_n !:
    2698        REAL(wp), DIMENSION(nzb:nzt)   ::  flux_r !:
    2699        REAL(wp), DIMENSION(nzb:nzt)   ::  flux_t !:
     2710       REAL(wp), DIMENSION(nzb:nzt)   ::  diss_n !<
     2711       REAL(wp), DIMENSION(nzb:nzt)   ::  diss_r !<
     2712       REAL(wp), DIMENSION(nzb:nzt)   ::  diss_t !<
     2713       REAL(wp), DIMENSION(nzb:nzt)   ::  flux_n !<
     2714       REAL(wp), DIMENSION(nzb:nzt)   ::  flux_r !<
     2715       REAL(wp), DIMENSION(nzb:nzt)   ::  flux_t !<
    27002716       
    2701        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local !:
    2702        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local !:
     2717       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local !<
     2718       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local !<
    27032719       
    2704        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local !:
    2705        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local !:
     2720       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local !<
     2721       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local !<
    27062722       
    27072723
     
    33943410
    33953411!------------------------------------------------------------------------------!
    3396 ! Scalar advection - Call for all grid points - accelerator version
     3412! Description:
     3413! ------------
     3414!> Scalar advection - Call for all grid points - accelerator version
    33973415!------------------------------------------------------------------------------!
    33983416    SUBROUTINE advec_s_ws_acc ( sk, sk_char )
     
    34233441       IMPLICIT NONE
    34243442
    3425        CHARACTER (LEN = *), INTENT(IN)    :: sk_char !:
    3426 
    3427        INTEGER(iwp) ::  i      !:
    3428        INTEGER(iwp) ::  ibit0  !:
    3429        INTEGER(iwp) ::  ibit1  !:
    3430        INTEGER(iwp) ::  ibit2  !:
    3431        INTEGER(iwp) ::  ibit3  !:
    3432        INTEGER(iwp) ::  ibit4  !:
    3433        INTEGER(iwp) ::  ibit5  !:
    3434        INTEGER(iwp) ::  ibit6  !:
    3435        INTEGER(iwp) ::  ibit7  !:
    3436        INTEGER(iwp) ::  ibit8  !:
    3437        INTEGER(iwp) ::  j      !:
    3438        INTEGER(iwp) ::  k      !:
    3439        INTEGER(iwp) ::  k_mm   !:
    3440        INTEGER(iwp) ::  k_mmm  !:
    3441        INTEGER(iwp) ::  k_pp   !:
    3442        INTEGER(iwp) ::  k_ppp  !:
    3443        INTEGER(iwp) ::  tn = 0 !:
    3444 
    3445        REAL(wp)    ::  diss_d !:
    3446        REAL(wp)    ::  diss_l !:
    3447        REAL(wp)    ::  diss_n !:
    3448        REAL(wp)    ::  diss_r !:
    3449        REAL(wp)    ::  diss_s !:
    3450        REAL(wp)    ::  diss_t !:
    3451        REAL(wp)    ::  div    !:
    3452        REAL(wp)    ::  flux_d !:
    3453        REAL(wp)    ::  flux_l !:
    3454        REAL(wp)    ::  flux_n !:
    3455        REAL(wp)    ::  flux_r !:
    3456        REAL(wp)    ::  flux_s !:
    3457        REAL(wp)    ::  flux_t !:
    3458        REAL(wp)    ::  fd_1   !:
    3459        REAL(wp)    ::  fl_1   !:
    3460        REAL(wp)    ::  fn_1   !:
    3461        REAL(wp)    ::  fr_1   !:
    3462        REAL(wp)    ::  fs_1   !:
    3463        REAL(wp)    ::  ft_1   !:
    3464        REAL(wp)    ::  phi_d  !:
    3465        REAL(wp)    ::  phi_l  !:
    3466        REAL(wp)    ::  phi_n  !:
    3467        REAL(wp)    ::  phi_r  !:
    3468        REAL(wp)    ::  phi_s  !:
    3469        REAL(wp)    ::  phi_t  !:
    3470        REAL(wp)    ::  rd     !:
    3471        REAL(wp)    ::  rl     !:
    3472        REAL(wp)    ::  rn     !:
    3473        REAL(wp)    ::  rr     !:
    3474        REAL(wp)    ::  rs     !:
    3475        REAL(wp)    ::  rt     !:
    3476        REAL(wp)    ::  u_comp !:
    3477        REAL(wp)    ::  v_comp !:
    3478 
    3479        REAL(wp), INTENT(IN), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg)  ::  sk !:
     3443       CHARACTER (LEN = *), INTENT(IN)    :: sk_char !<
     3444
     3445       INTEGER(iwp) ::  i      !<
     3446       INTEGER(iwp) ::  ibit0  !<
     3447       INTEGER(iwp) ::  ibit1  !<
     3448       INTEGER(iwp) ::  ibit2  !<
     3449       INTEGER(iwp) ::  ibit3  !<
     3450       INTEGER(iwp) ::  ibit4  !<
     3451       INTEGER(iwp) ::  ibit5  !<
     3452       INTEGER(iwp) ::  ibit6  !<
     3453       INTEGER(iwp) ::  ibit7  !<
     3454       INTEGER(iwp) ::  ibit8  !<
     3455       INTEGER(iwp) ::  j      !<
     3456       INTEGER(iwp) ::  k      !<
     3457       INTEGER(iwp) ::  k_mm   !<
     3458       INTEGER(iwp) ::  k_mmm  !<
     3459       INTEGER(iwp) ::  k_pp   !<
     3460       INTEGER(iwp) ::  k_ppp  !<
     3461       INTEGER(iwp) ::  tn = 0 !<
     3462
     3463       REAL(wp)    ::  diss_d !<
     3464       REAL(wp)    ::  diss_l !<
     3465       REAL(wp)    ::  diss_n !<
     3466       REAL(wp)    ::  diss_r !<
     3467       REAL(wp)    ::  diss_s !<
     3468       REAL(wp)    ::  diss_t !<
     3469       REAL(wp)    ::  div    !<
     3470       REAL(wp)    ::  flux_d !<
     3471       REAL(wp)    ::  flux_l !<
     3472       REAL(wp)    ::  flux_n !<
     3473       REAL(wp)    ::  flux_r !<
     3474       REAL(wp)    ::  flux_s !<
     3475       REAL(wp)    ::  flux_t !<
     3476       REAL(wp)    ::  fd_1   !<
     3477       REAL(wp)    ::  fl_1   !<
     3478       REAL(wp)    ::  fn_1   !<
     3479       REAL(wp)    ::  fr_1   !<
     3480       REAL(wp)    ::  fs_1   !<
     3481       REAL(wp)    ::  ft_1   !<
     3482       REAL(wp)    ::  phi_d  !<
     3483       REAL(wp)    ::  phi_l  !<
     3484       REAL(wp)    ::  phi_n  !<
     3485       REAL(wp)    ::  phi_r  !<
     3486       REAL(wp)    ::  phi_s  !<
     3487       REAL(wp)    ::  phi_t  !<
     3488       REAL(wp)    ::  rd     !<
     3489       REAL(wp)    ::  rl     !<
     3490       REAL(wp)    ::  rn     !<
     3491       REAL(wp)    ::  rr     !<
     3492       REAL(wp)    ::  rs     !<
     3493       REAL(wp)    ::  rt     !<
     3494       REAL(wp)    ::  u_comp !<
     3495       REAL(wp)    ::  v_comp !<
     3496
     3497       REAL(wp), INTENT(IN), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg)  ::  sk !<
    34803498
    34813499!
     
    38993917
    39003918!------------------------------------------------------------------------------!
    3901 ! Advection of u - Call for all grid points
     3919! Description:
     3920! ------------
     3921!> Advection of u - Call for all grid points
    39023922!------------------------------------------------------------------------------!
    39033923    SUBROUTINE advec_u_ws
     
    39253945       IMPLICIT NONE
    39263946
    3927        INTEGER(iwp) ::  i      !:
    3928        INTEGER(iwp) ::  ibit9  !:
    3929        INTEGER(iwp) ::  ibit10 !:
    3930        INTEGER(iwp) ::  ibit11 !:
    3931        INTEGER(iwp) ::  ibit12 !:
    3932        INTEGER(iwp) ::  ibit13 !:
    3933        INTEGER(iwp) ::  ibit14 !:
    3934        INTEGER(iwp) ::  ibit15 !:
    3935        INTEGER(iwp) ::  ibit16 !:
    3936        INTEGER(iwp) ::  ibit17 !:
    3937        INTEGER(iwp) ::  j      !:
    3938        INTEGER(iwp) ::  k      !:
    3939        INTEGER(iwp) ::  k_mm   !:
    3940        INTEGER(iwp) ::  k_pp   !:
    3941        INTEGER(iwp) ::  k_ppp  !:
    3942        INTEGER(iwp) ::  tn = 0 !:
     3947       INTEGER(iwp) ::  i      !<
     3948       INTEGER(iwp) ::  ibit9  !<
     3949       INTEGER(iwp) ::  ibit10 !<
     3950       INTEGER(iwp) ::  ibit11 !<
     3951       INTEGER(iwp) ::  ibit12 !<
     3952       INTEGER(iwp) ::  ibit13 !<
     3953       INTEGER(iwp) ::  ibit14 !<
     3954       INTEGER(iwp) ::  ibit15 !<
     3955       INTEGER(iwp) ::  ibit16 !<
     3956       INTEGER(iwp) ::  ibit17 !<
     3957       INTEGER(iwp) ::  j      !<
     3958       INTEGER(iwp) ::  k      !<
     3959       INTEGER(iwp) ::  k_mm   !<
     3960       INTEGER(iwp) ::  k_pp   !<
     3961       INTEGER(iwp) ::  k_ppp  !<
     3962       INTEGER(iwp) ::  tn = 0 !<
    39433963       
    3944        REAL(wp)    ::  diss_d !:
    3945        REAL(wp)    ::  div    !:
    3946        REAL(wp)    ::  flux_d !:
    3947        REAL(wp)    ::  gu     !:
    3948        REAL(wp)    ::  gv     !:
    3949        REAL(wp)    ::  v_comp !:
    3950        REAL(wp)    ::  w_comp !:
     3964       REAL(wp)    ::  diss_d !<
     3965       REAL(wp)    ::  div    !<
     3966       REAL(wp)    ::  flux_d !<
     3967       REAL(wp)    ::  gu     !<
     3968       REAL(wp)    ::  gv     !<
     3969       REAL(wp)    ::  v_comp !<
     3970       REAL(wp)    ::  w_comp !<
    39513971       
    3952        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local_u !:
    3953        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local_u !:
     3972       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local_u !<
     3973       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local_u !<
    39543974       
    3955        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_u !:
    3956        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_u !:
     3975       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_u !<
     3976       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_u !<
    39573977       
    3958        REAL(wp), DIMENSION(nzb:nzt) ::  diss_n !:
    3959        REAL(wp), DIMENSION(nzb:nzt) ::  diss_r !:
    3960        REAL(wp), DIMENSION(nzb:nzt) ::  diss_t !:
    3961        REAL(wp), DIMENSION(nzb:nzt) ::  flux_n !:
    3962        REAL(wp), DIMENSION(nzb:nzt) ::  flux_r !:
    3963        REAL(wp), DIMENSION(nzb:nzt) ::  flux_t !:
    3964        REAL(wp), DIMENSION(nzb:nzt) ::  u_comp !:
     3978       REAL(wp), DIMENSION(nzb:nzt) ::  diss_n !<
     3979       REAL(wp), DIMENSION(nzb:nzt) ::  diss_r !<
     3980       REAL(wp), DIMENSION(nzb:nzt) ::  diss_t !<
     3981       REAL(wp), DIMENSION(nzb:nzt) ::  flux_n !<
     3982       REAL(wp), DIMENSION(nzb:nzt) ::  flux_r !<
     3983       REAL(wp), DIMENSION(nzb:nzt) ::  flux_t !<
     3984       REAL(wp), DIMENSION(nzb:nzt) ::  u_comp !<
    39653985 
    39663986       gu = 2.0_wp * u_gtrans
     
    43794399   
    43804400!------------------------------------------------------------------------------!
    4381 ! Advection of u - Call for all grid points - accelerator version
     4401! Description:
     4402! ------------
     4403!> Advection of u - Call for all grid points - accelerator version
    43824404!------------------------------------------------------------------------------!
    43834405    SUBROUTINE advec_u_ws_acc
     
    44064428       IMPLICIT NONE
    44074429
    4408        INTEGER(iwp) ::  i      !:
    4409        INTEGER(iwp) ::  ibit9  !:
    4410        INTEGER(iwp) ::  ibit10 !:
    4411        INTEGER(iwp) ::  ibit11 !:
    4412        INTEGER(iwp) ::  ibit12 !:
    4413        INTEGER(iwp) ::  ibit13 !:
    4414        INTEGER(iwp) ::  ibit14 !:
    4415        INTEGER(iwp) ::  ibit15 !:
    4416        INTEGER(iwp) ::  ibit16 !:
    4417        INTEGER(iwp) ::  ibit17 !:
    4418        INTEGER(iwp) ::  j      !:
    4419        INTEGER(iwp) ::  k      !:
    4420        INTEGER(iwp) ::  k_mmm  !:
    4421        INTEGER(iwp) ::  k_mm   !:
    4422        INTEGER(iwp) ::  k_pp   !:
    4423        INTEGER(iwp) ::  k_ppp  !:
    4424        INTEGER(iwp) ::  tn = 0 !:
    4425 
    4426        REAL(wp)    ::  diss_d   !:
    4427        REAL(wp)    ::  diss_l   !:
    4428        REAL(wp)    ::  diss_n   !:
    4429        REAL(wp)    ::  diss_r   !:
    4430        REAL(wp)    ::  diss_s   !:
    4431        REAL(wp)    ::  diss_t   !:
    4432        REAL(wp)    ::  div      !:
    4433        REAL(wp)    ::  flux_d   !:
    4434        REAL(wp)    ::  flux_l   !:
    4435        REAL(wp)    ::  flux_n   !:
    4436        REAL(wp)    ::  flux_r   !:
    4437        REAL(wp)    ::  flux_s   !:
    4438        REAL(wp)    ::  flux_t   !:
    4439        REAL(wp)    ::  gu       !:
    4440        REAL(wp)    ::  gv       !:
    4441        REAL(wp)    ::  u_comp   !:
    4442        REAL(wp)    ::  u_comp_l !:
    4443        REAL(wp)    ::  v_comp   !:
    4444        REAL(wp)    ::  v_comp_s !:
    4445        REAL(wp)    ::  w_comp   !:
     4430       INTEGER(iwp) ::  i      !<
     4431       INTEGER(iwp) ::  ibit9  !<
     4432       INTEGER(iwp) ::  ibit10 !<
     4433       INTEGER(iwp) ::  ibit11 !<
     4434       INTEGER(iwp) ::  ibit12 !<
     4435       INTEGER(iwp) ::  ibit13 !<
     4436       INTEGER(iwp) ::  ibit14 !<
     4437       INTEGER(iwp) ::  ibit15 !<
     4438       INTEGER(iwp) ::  ibit16 !<
     4439       INTEGER(iwp) ::  ibit17 !<
     4440       INTEGER(iwp) ::  j      !<
     4441       INTEGER(iwp) ::  k      !<
     4442       INTEGER(iwp) ::  k_mmm  !<
     4443       INTEGER(iwp) ::  k_mm   !<
     4444       INTEGER(iwp) ::  k_pp   !<
     4445       INTEGER(iwp) ::  k_ppp  !<
     4446       INTEGER(iwp) ::  tn = 0 !<
     4447
     4448       REAL(wp)    ::  diss_d   !<
     4449       REAL(wp)    ::  diss_l   !<
     4450       REAL(wp)    ::  diss_n   !<
     4451       REAL(wp)    ::  diss_r   !<
     4452       REAL(wp)    ::  diss_s   !<
     4453       REAL(wp)    ::  diss_t   !<
     4454       REAL(wp)    ::  div      !<
     4455       REAL(wp)    ::  flux_d   !<
     4456       REAL(wp)    ::  flux_l   !<
     4457       REAL(wp)    ::  flux_n   !<
     4458       REAL(wp)    ::  flux_r   !<
     4459       REAL(wp)    ::  flux_s   !<
     4460       REAL(wp)    ::  flux_t   !<
     4461       REAL(wp)    ::  gu       !<
     4462       REAL(wp)    ::  gv       !<
     4463       REAL(wp)    ::  u_comp   !<
     4464       REAL(wp)    ::  u_comp_l !<
     4465       REAL(wp)    ::  v_comp   !<
     4466       REAL(wp)    ::  v_comp_s !<
     4467       REAL(wp)    ::  w_comp   !<
    44464468
    44474469
     
    47384760
    47394761!------------------------------------------------------------------------------!
    4740 ! Advection of v - Call for all grid points
     4762! Description:
     4763! ------------
     4764!> Advection of v - Call for all grid points
    47414765!------------------------------------------------------------------------------!
    47424766    SUBROUTINE advec_v_ws
     
    47654789
    47664790
    4767        INTEGER(iwp) ::  i      !:
    4768        INTEGER(iwp) ::  ibit18 !:
    4769        INTEGER(iwp) ::  ibit19 !:
    4770        INTEGER(iwp) ::  ibit20 !:
    4771        INTEGER(iwp) ::  ibit21 !:
    4772        INTEGER(iwp) ::  ibit22 !:
    4773        INTEGER(iwp) ::  ibit23 !:
    4774        INTEGER(iwp) ::  ibit24 !:
    4775        INTEGER(iwp) ::  ibit25 !:
    4776        INTEGER(iwp) ::  ibit26 !:
    4777        INTEGER(iwp) ::  j      !:
    4778        INTEGER(iwp) ::  k      !:
    4779        INTEGER(iwp) ::  k_mm   !:
    4780        INTEGER(iwp) ::  k_pp   !:
    4781        INTEGER(iwp) ::  k_ppp  !:
    4782        INTEGER(iwp) ::  tn = 0 !:
     4791       INTEGER(iwp) ::  i      !<
     4792       INTEGER(iwp) ::  ibit18 !<
     4793       INTEGER(iwp) ::  ibit19 !<
     4794       INTEGER(iwp) ::  ibit20 !<
     4795       INTEGER(iwp) ::  ibit21 !<
     4796       INTEGER(iwp) ::  ibit22 !<
     4797       INTEGER(iwp) ::  ibit23 !<
     4798       INTEGER(iwp) ::  ibit24 !<
     4799       INTEGER(iwp) ::  ibit25 !<
     4800       INTEGER(iwp) ::  ibit26 !<
     4801       INTEGER(iwp) ::  j      !<
     4802       INTEGER(iwp) ::  k      !<
     4803       INTEGER(iwp) ::  k_mm   !<
     4804       INTEGER(iwp) ::  k_pp   !<
     4805       INTEGER(iwp) ::  k_ppp  !<
     4806       INTEGER(iwp) ::  tn = 0 !<
    47834807       
    4784        REAL(wp)    ::  diss_d !:
    4785        REAL(wp)    ::  div    !:
    4786        REAL(wp)    ::  flux_d !:
    4787        REAL(wp)    ::  gu     !:
    4788        REAL(wp)    ::  gv     !:
    4789        REAL(wp)    ::  u_comp !:
    4790        REAL(wp)    ::  w_comp !:
     4808       REAL(wp)    ::  diss_d !<
     4809       REAL(wp)    ::  div    !<
     4810       REAL(wp)    ::  flux_d !<
     4811       REAL(wp)    ::  gu     !<
     4812       REAL(wp)    ::  gv     !<
     4813       REAL(wp)    ::  u_comp !<
     4814       REAL(wp)    ::  w_comp !<
    47914815       
    4792        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local_v !:
    4793        REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local_v !:
     4816       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_diss_y_local_v !<
     4817       REAL(wp), DIMENSION(nzb+1:nzt) ::  swap_flux_y_local_v !<
    47944818       
    4795        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_v !:
    4796        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_v !:
     4819       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_v !<
     4820       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_v !<
    47974821       
    4798        REAL(wp), DIMENSION(nzb:nzt) ::  diss_n !:
    4799        REAL(wp), DIMENSION(nzb:nzt) ::  diss_r !:
    4800        REAL(wp), DIMENSION(nzb:nzt) ::  diss_t !:
    4801        REAL(wp), DIMENSION(nzb:nzt) ::  flux_n !:
    4802        REAL(wp), DIMENSION(nzb:nzt) ::  flux_r !:
    4803        REAL(wp), DIMENSION(nzb:nzt) ::  flux_t !:
    4804        REAL(wp), DIMENSION(nzb:nzt) ::  v_comp !:
     4822       REAL(wp), DIMENSION(nzb:nzt) ::  diss_n !<
     4823       REAL(wp), DIMENSION(nzb:nzt) ::  diss_r !<
     4824       REAL(wp), DIMENSION(nzb:nzt) ::  diss_t !<
     4825       REAL(wp), DIMENSION(nzb:nzt) ::  flux_n !<
     4826       REAL(wp), DIMENSION(nzb:nzt) ::  flux_r !<
     4827       REAL(wp), DIMENSION(nzb:nzt) ::  flux_t !<
     4828       REAL(wp), DIMENSION(nzb:nzt) ::  v_comp !<
    48054829
    48064830       gu = 2.0_wp * u_gtrans
     
    52305254   
    52315255!------------------------------------------------------------------------------!
    5232 ! Advection of v - Call for all grid points - accelerator version
     5256! Description:
     5257! ------------
     5258!> Advection of v - Call for all grid points - accelerator version
    52335259!------------------------------------------------------------------------------!
    52345260    SUBROUTINE advec_v_ws_acc
     
    52585284
    52595285
    5260        INTEGER(iwp) ::  i      !:
    5261        INTEGER(iwp) ::  ibit18 !:
    5262        INTEGER(iwp) ::  ibit19 !:
    5263        INTEGER(iwp) ::  ibit20 !:
    5264        INTEGER(iwp) ::  ibit21 !:
    5265        INTEGER(iwp) ::  ibit22 !:
    5266        INTEGER(iwp) ::  ibit23 !:
    5267        INTEGER(iwp) ::  ibit24 !:
    5268        INTEGER(iwp) ::  ibit25 !:
    5269        INTEGER(iwp) ::  ibit26 !:
    5270        INTEGER(iwp) ::  j      !:
    5271        INTEGER(iwp) ::  k      !:
    5272        INTEGER(iwp) ::  k_mm   !:
    5273        INTEGER(iwp) ::  k_mmm  !:
    5274        INTEGER(iwp) ::  k_pp   !:
    5275        INTEGER(iwp) ::  k_ppp  !:
    5276        INTEGER(iwp) ::  tn = 0 !:
    5277 
    5278        REAL(wp)    ::  diss_d   !:
    5279        REAL(wp)    ::  diss_l   !:
    5280        REAL(wp)    ::  diss_n   !:
    5281        REAL(wp)    ::  diss_r   !:
    5282        REAL(wp)    ::  diss_s   !:
    5283        REAL(wp)    ::  diss_t   !:
    5284        REAL(wp)    ::  div      !:
    5285        REAL(wp)    ::  flux_d   !:
    5286        REAL(wp)    ::  flux_l   !:
    5287        REAL(wp)    ::  flux_n   !:
    5288        REAL(wp)    ::  flux_r   !:
    5289        REAL(wp)    ::  flux_s   !:
    5290        REAL(wp)    ::  flux_t   !:
    5291        REAL(wp)    ::  gu       !:
    5292        REAL(wp)    ::  gv       !:
    5293        REAL(wp)    ::  u_comp   !:
    5294        REAL(wp)    ::  u_comp_l !:
    5295        REAL(wp)    ::  v_comp   !:
    5296        REAL(wp)    ::  v_comp_s !:
    5297        REAL(wp)    ::  w_comp   !:
     5286       INTEGER(iwp) ::  i      !<
     5287       INTEGER(iwp) ::  ibit18 !<
     5288       INTEGER(iwp) ::  ibit19 !<
     5289       INTEGER(iwp) ::  ibit20 !<
     5290       INTEGER(iwp) ::  ibit21 !<
     5291       INTEGER(iwp) ::  ibit22 !<
     5292       INTEGER(iwp) ::  ibit23 !<
     5293       INTEGER(iwp) ::  ibit24 !<
     5294       INTEGER(iwp) ::  ibit25 !<
     5295       INTEGER(iwp) ::  ibit26 !<
     5296       INTEGER(iwp) ::  j      !<
     5297       INTEGER(iwp) ::  k      !<
     5298       INTEGER(iwp) ::  k_mm   !<
     5299       INTEGER(iwp) ::  k_mmm  !<
     5300       INTEGER(iwp) ::  k_pp   !<
     5301       INTEGER(iwp) ::  k_ppp  !<
     5302       INTEGER(iwp) ::  tn = 0 !<
     5303
     5304       REAL(wp)    ::  diss_d   !<
     5305       REAL(wp)    ::  diss_l   !<
     5306       REAL(wp)    ::  diss_n   !<
     5307       REAL(wp)    ::  diss_r   !<
     5308       REAL(wp)    ::  diss_s   !<
     5309       REAL(wp)    ::  diss_t   !<
     5310       REAL(wp)    ::  div      !<
     5311       REAL(wp)    ::  flux_d   !<
     5312       REAL(wp)    ::  flux_l   !<
     5313       REAL(wp)    ::  flux_n   !<
     5314       REAL(wp)    ::  flux_r   !<
     5315       REAL(wp)    ::  flux_s   !<
     5316       REAL(wp)    ::  flux_t   !<
     5317       REAL(wp)    ::  gu       !<
     5318       REAL(wp)    ::  gv       !<
     5319       REAL(wp)    ::  u_comp   !<
     5320       REAL(wp)    ::  u_comp_l !<
     5321       REAL(wp)    ::  v_comp   !<
     5322       REAL(wp)    ::  v_comp_s !<
     5323       REAL(wp)    ::  w_comp   !<
    52985324
    52995325       gu = 2.0_wp * u_gtrans
     
    55945620   
    55955621!------------------------------------------------------------------------------!
    5596 ! Advection of w - Call for all grid points
     5622! Description:
     5623! ------------
     5624!> Advection of w - Call for all grid points
    55975625!------------------------------------------------------------------------------!
    55985626    SUBROUTINE advec_w_ws
     
    56215649       IMPLICIT NONE
    56225650
    5623        INTEGER(iwp) ::  i      !:
    5624        INTEGER(iwp) ::  ibit27 !:
    5625        INTEGER(iwp) ::  ibit28 !:
    5626        INTEGER(iwp) ::  ibit29 !:
    5627        INTEGER(iwp) ::  ibit30 !:
    5628        INTEGER(iwp) ::  ibit31 !:
    5629        INTEGER(iwp) ::  ibit32 !:
    5630        INTEGER(iwp) ::  ibit33 !:
    5631        INTEGER(iwp) ::  ibit34 !:
    5632        INTEGER(iwp) ::  ibit35 !:
    5633        INTEGER(iwp) ::  j      !:
    5634        INTEGER(iwp) ::  k      !:
    5635        INTEGER(iwp) ::  k_mm   !:
    5636        INTEGER(iwp) ::  k_pp   !:
    5637        INTEGER(iwp) ::  k_ppp  !:
    5638        INTEGER(iwp) ::  tn = 0 !:
     5651       INTEGER(iwp) ::  i      !<
     5652       INTEGER(iwp) ::  ibit27 !<
     5653       INTEGER(iwp) ::  ibit28 !<
     5654       INTEGER(iwp) ::  ibit29 !<
     5655       INTEGER(iwp) ::  ibit30 !<
     5656       INTEGER(iwp) ::  ibit31 !<
     5657       INTEGER(iwp) ::  ibit32 !<
     5658       INTEGER(iwp) ::  ibit33 !<
     5659       INTEGER(iwp) ::  ibit34 !<
     5660       INTEGER(iwp) ::  ibit35 !<
     5661       INTEGER(iwp) ::  j      !<
     5662       INTEGER(iwp) ::  k      !<
     5663       INTEGER(iwp) ::  k_mm   !<
     5664       INTEGER(iwp) ::  k_pp   !<
     5665       INTEGER(iwp) ::  k_ppp  !<
     5666       INTEGER(iwp) ::  tn = 0 !<
    56395667       
    5640        REAL(wp)    ::  diss_d !:
    5641        REAL(wp)    ::  div    !:
    5642        REAL(wp)    ::  flux_d !:
    5643        REAL(wp)    ::  gu     !:
    5644        REAL(wp)    ::  gv     !:
    5645        REAL(wp)    ::  u_comp !:
    5646        REAL(wp)    ::  v_comp !:
    5647        REAL(wp)    ::  w_comp !:
     5668       REAL(wp)    ::  diss_d !<
     5669       REAL(wp)    ::  div    !<
     5670       REAL(wp)    ::  flux_d !<
     5671       REAL(wp)    ::  gu     !<
     5672       REAL(wp)    ::  gv     !<
     5673       REAL(wp)    ::  u_comp !<
     5674       REAL(wp)    ::  v_comp !<
     5675       REAL(wp)    ::  w_comp !<
    56485676       
    5649        REAL(wp), DIMENSION(nzb:nzt)    ::  diss_t !:
    5650        REAL(wp), DIMENSION(nzb:nzt)    ::  flux_t !:
     5677       REAL(wp), DIMENSION(nzb:nzt)    ::  diss_t !<
     5678       REAL(wp), DIMENSION(nzb:nzt)    ::  flux_t !<
    56515679       
    5652        REAL(wp), DIMENSION(nzb+1:nzt)  ::  diss_n !:
    5653        REAL(wp), DIMENSION(nzb+1:nzt)  ::  diss_r !:
    5654        REAL(wp), DIMENSION(nzb+1:nzt)  ::  flux_n !:
    5655        REAL(wp), DIMENSION(nzb+1:nzt)  ::  flux_r !:
    5656        REAL(wp), DIMENSION(nzb+1:nzt)  ::  swap_diss_y_local_w !:
    5657        REAL(wp), DIMENSION(nzb+1:nzt)  ::  swap_flux_y_local_w !:
     5680       REAL(wp), DIMENSION(nzb+1:nzt)  ::  diss_n !<
     5681       REAL(wp), DIMENSION(nzb+1:nzt)  ::  diss_r !<
     5682       REAL(wp), DIMENSION(nzb+1:nzt)  ::  flux_n !<
     5683       REAL(wp), DIMENSION(nzb+1:nzt)  ::  flux_r !<
     5684       REAL(wp), DIMENSION(nzb+1:nzt)  ::  swap_diss_y_local_w !<
     5685       REAL(wp), DIMENSION(nzb+1:nzt)  ::  swap_flux_y_local_w !<
    56585686       
    5659        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_w !:
    5660        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_w !:
     5687       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_diss_x_local_w !<
     5688       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  swap_flux_x_local_w !<
    56615689 
    56625690       gu = 2.0_wp * u_gtrans
     
    60616089
    60626090!------------------------------------------------------------------------------!
    6063 ! Advection of w - Call for all grid points - accelerator version
     6091! Description:
     6092! ------------
     6093!> Advection of w - Call for all grid points - accelerator version
    60646094!------------------------------------------------------------------------------!
    60656095    SUBROUTINE advec_w_ws_acc
     
    60886118       IMPLICIT NONE
    60896119
    6090        INTEGER(iwp) ::  i      !:
    6091        INTEGER(iwp) ::  ibit27 !:
    6092        INTEGER(iwp) ::  ibit28 !:
    6093        INTEGER(iwp) ::  ibit29 !:
    6094        INTEGER(iwp) ::  ibit30 !:
    6095        INTEGER(iwp) ::  ibit31 !:
    6096        INTEGER(iwp) ::  ibit32 !:
    6097        INTEGER(iwp) ::  ibit33 !:
    6098        INTEGER(iwp) ::  ibit34 !:
    6099        INTEGER(iwp) ::  ibit35 !:
    6100        INTEGER(iwp) ::  j      !:
    6101        INTEGER(iwp) ::  k      !:
    6102        INTEGER(iwp) ::  k_mmm  !:
    6103        INTEGER(iwp) ::  k_mm   !:
    6104        INTEGER(iwp) ::  k_pp   !:
    6105        INTEGER(iwp) ::  k_ppp  !:
    6106        INTEGER(iwp) ::  tn = 0 !:
    6107 
    6108        REAL(wp)    ::  diss_d   !:
    6109        REAL(wp)    ::  diss_l   !:
    6110        REAL(wp)    ::  diss_n   !:
    6111        REAL(wp)    ::  diss_r   !:
    6112        REAL(wp)    ::  diss_s   !:
    6113        REAL(wp)    ::  diss_t   !:
    6114        REAL(wp)    ::  div      !:
    6115        REAL(wp)    ::  flux_d   !:
    6116        REAL(wp)    ::  flux_l   !:
    6117        REAL(wp)    ::  flux_n   !:
    6118        REAL(wp)    ::  flux_r   !:
    6119        REAL(wp)    ::  flux_s   !:
    6120        REAL(wp)    ::  flux_t   !:
    6121        REAL(wp)    ::  gu       !:
    6122        REAL(wp)    ::  gv       !:
    6123        REAL(wp)    ::  u_comp   !:
    6124        REAL(wp)    ::  u_comp_l !:
    6125        REAL(wp)    ::  v_comp   !:
    6126        REAL(wp)    ::  v_comp_s !:
    6127        REAL(wp)    ::  w_comp   !:
     6120       INTEGER(iwp) ::  i      !<
     6121       INTEGER(iwp) ::  ibit27 !<
     6122       INTEGER(iwp) ::  ibit28 !<
     6123       INTEGER(iwp) ::  ibit29 !<
     6124       INTEGER(iwp) ::  ibit30 !<
     6125       INTEGER(iwp) ::  ibit31 !<
     6126       INTEGER(iwp) ::  ibit32 !<
     6127       INTEGER(iwp) ::  ibit33 !<
     6128       INTEGER(iwp) ::  ibit34 !<
     6129       INTEGER(iwp) ::  ibit35 !<
     6130       INTEGER(iwp) ::  j      !<
     6131       INTEGER(iwp) ::  k      !<
     6132       INTEGER(iwp) ::  k_mmm  !<
     6133       INTEGER(iwp) ::  k_mm   !<
     6134       INTEGER(iwp) ::  k_pp   !<
     6135       INTEGER(iwp) ::  k_ppp  !<
     6136       INTEGER(iwp) ::  tn = 0 !<
     6137
     6138       REAL(wp)    ::  diss_d   !<
     6139       REAL(wp)    ::  diss_l   !<
     6140       REAL(wp)    ::  diss_n   !<
     6141       REAL(wp)    ::  diss_r   !<
     6142       REAL(wp)    ::  diss_s   !<
     6143       REAL(wp)    ::  diss_t   !<
     6144       REAL(wp)    ::  div      !<
     6145       REAL(wp)    ::  flux_d   !<
     6146       REAL(wp)    ::  flux_l   !<
     6147       REAL(wp)    ::  flux_n   !<
     6148       REAL(wp)    ::  flux_r   !<
     6149       REAL(wp)    ::  flux_s   !<
     6150       REAL(wp)    ::  flux_t   !<
     6151       REAL(wp)    ::  gu       !<
     6152       REAL(wp)    ::  gv       !<
     6153       REAL(wp)    ::  u_comp   !<
     6154       REAL(wp)    ::  u_comp_l !<
     6155       REAL(wp)    ::  v_comp   !<
     6156       REAL(wp)    ::  v_comp_s !<
     6157       REAL(wp)    ::  w_comp   !<
    61286158
    61296159       gu = 2.0_wp * u_gtrans
  • palm/trunk/SOURCE/average_3d_data.f90

    r1586 r1682  
    1  SUBROUTINE average_3d_data
    2 
     1!> @file average_3d_data.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    6867! Description:
    6968! ------------
    70 ! Time-averaging of 3d-data-arrays.
     69!> Time-averaging of 3d-data-arrays.
    7170!------------------------------------------------------------------------------!
     71 SUBROUTINE average_3d_data
     72 
    7273
    7374    USE averaging
     
    9798    IMPLICIT NONE
    9899
    99     INTEGER(iwp) ::  i  !:
    100     INTEGER(iwp) ::  ii !:
    101     INTEGER(iwp) ::  j  !:
    102     INTEGER(iwp) ::  k  !:
     100    INTEGER(iwp) ::  i  !<
     101    INTEGER(iwp) ::  ii !<
     102    INTEGER(iwp) ::  j  !<
     103    INTEGER(iwp) ::  k  !<
    103104
    104105
  • palm/trunk/SOURCE/boundary_conds.f90

    r1463 r1682  
    1  SUBROUTINE boundary_conds
    2 
     1!> @file boundary_conds.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    104103! Description:
    105104! ------------
    106 ! Boundary conditions for the prognostic quantities.
    107 ! One additional bottom boundary condition is applied for the TKE (=(u*)**2)
    108 ! in prandtl_fluxes. The cyclic lateral boundary conditions are implicitly
    109 ! handled in routine exchange_horiz. Pressure boundary conditions are
    110 ! explicitly set in routines pres, poisfft, poismg and sor.
     105!> Boundary conditions for the prognostic quantities.
     106!> One additional bottom boundary condition is applied for the TKE (=(u*)**2)
     107!> in prandtl_fluxes. The cyclic lateral boundary conditions are implicitly
     108!> handled in routine exchange_horiz. Pressure boundary conditions are
     109!> explicitly set in routines pres, poisfft, poismg and sor.
    111110!------------------------------------------------------------------------------!
     111 SUBROUTINE boundary_conds
     112 
    112113
    113114    USE arrays_3d,                                                             &
     
    143144    IMPLICIT NONE
    144145
    145     INTEGER(iwp) ::  i !:
    146     INTEGER(iwp) ::  j !:
    147     INTEGER(iwp) ::  k !:
    148 
    149     REAL(wp)    ::  c_max !:
    150     REAL(wp)    ::  denom !:
     146    INTEGER(iwp) ::  i !<
     147    INTEGER(iwp) ::  j !<
     148    INTEGER(iwp) ::  k !<
     149
     150    REAL(wp)    ::  c_max !<
     151    REAL(wp)    ::  denom !<
    151152
    152153
  • palm/trunk/SOURCE/buoyancy.f90

    r1375 r1682  
    1  MODULE buoyancy_mod
    2 
     1!> @file buoyancy.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! ------------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    8180! Description:
    8281! ------------
    83 ! Buoyancy term of the third component of the equation of motion.
    84 ! WARNING: humidity is not regarded when using a sloping surface!
    85 !------------------------------------------------------------------------------!
     82!> Buoyancy term of the third component of the equation of motion.
     83!> @attention Humidity is not regarded when using a sloping surface!
     84!------------------------------------------------------------------------------!
     85 MODULE buoyancy_mod
     86 
    8687
    8788    PRIVATE
     
    101102
    102103!------------------------------------------------------------------------------!
    103 ! Call for all grid points
     104! Description:
     105! ------------
     106!> Call for all grid points
    104107!------------------------------------------------------------------------------!
    105108    SUBROUTINE buoyancy( var, wind_component )
     
    123126       IMPLICIT NONE
    124127
    125        INTEGER(iwp) ::  i              !:
    126        INTEGER(iwp) ::  j              !:
    127        INTEGER(iwp) ::  k              !:
    128        INTEGER(iwp) ::  wind_component !:
     128       INTEGER(iwp) ::  i              !<
     129       INTEGER(iwp) ::  j              !<
     130       INTEGER(iwp) ::  k              !<
     131       INTEGER(iwp) ::  wind_component !<
    129132       
    130133#if defined( __nopointer )
    131        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var !:
     134       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var !<
    132135#else
    133136       REAL(wp), DIMENSION(:,:,:), POINTER ::  var
     
    197200
    198201!------------------------------------------------------------------------------!
    199 ! Call for all grid points - accelerator version
     202! Description:
     203! ------------
     204!> Call for all grid points - accelerator version
    200205!------------------------------------------------------------------------------!
    201206    SUBROUTINE buoyancy_acc( var, wind_component )
     
    219224       IMPLICIT NONE
    220225
    221        INTEGER(iwp) ::  i              !:
    222        INTEGER(iwp) ::  j              !:
    223        INTEGER(iwp) ::  k              !:
    224        INTEGER(iwp) ::  wind_component !:
     226       INTEGER(iwp) ::  i              !<
     227       INTEGER(iwp) ::  j              !<
     228       INTEGER(iwp) ::  k              !<
     229       INTEGER(iwp) ::  wind_component !<
    225230       
    226231#if defined( __nopointer )
    227        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var !:
     232       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var !<
    228233#else
    229234       REAL(wp), DIMENSION(:,:,:), POINTER ::  var
     
    297302
    298303!------------------------------------------------------------------------------!
    299 ! Call for grid point i,j
    300 ! ATTENTION: PGI-compiler creates SIGFPE if opt>1 is used! Therefore, opt=1 is
    301 !            forced by compiler-directive.
     304! Description:
     305! ------------
     306!> Call for grid point i,j
     307!> @attention PGI-compiler creates SIGFPE if opt>1 is used! Therefore, opt=1 is
     308!>            forced by compiler-directive.
    302309!------------------------------------------------------------------------------!
    303310!pgi$r opt=1
     
    321328       IMPLICIT NONE
    322329
    323        INTEGER(iwp) ::  i              !:
    324        INTEGER(iwp) ::  j              !:
    325        INTEGER(iwp) ::  k              !:
    326        INTEGER(iwp) ::  pr             !:
    327        INTEGER(iwp) ::  wind_component !:
     330       INTEGER(iwp) ::  i              !<
     331       INTEGER(iwp) ::  j              !<
     332       INTEGER(iwp) ::  k              !<
     333       INTEGER(iwp) ::  pr             !<
     334       INTEGER(iwp) ::  wind_component !<
    328335       
    329336#if defined( __nopointer )
    330        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var !:
     337       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var !<
    331338#else
    332339       REAL(wp), DIMENSION(:,:,:), POINTER ::  var
  • palm/trunk/SOURCE/calc_liquid_water_content.f90

    r1354 r1682  
    1  SUBROUTINE calc_liquid_water_content
    2 
     1!> @file calc_liquid_water_content.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5655! Description:
    5756! ------------
    58 ! Calculation of the liquid water content (0%-or-100%-scheme). This scheme is
    59 ! used by the one and the two moment cloud physics scheme. Using the two moment
    60 ! scheme, this calculation results in the cloud water content.
     57!> Calculation of the liquid water content (0%-or-100%-scheme). This scheme is
     58!> used by the one and the two moment cloud physics scheme. Using the two moment
     59!> scheme, this calculation results in the cloud water content.
    6160!------------------------------------------------------------------------------!
     61 SUBROUTINE calc_liquid_water_content
     62 
    6263
    6364
     
    8182    IMPLICIT NONE
    8283
    83     INTEGER(iwp) ::  i !:
    84     INTEGER(iwp) ::  j !:
    85     INTEGER(iwp) ::  k !:
     84    INTEGER(iwp) ::  i !<
     85    INTEGER(iwp) ::  j !<
     86    INTEGER(iwp) ::  k !<
    8687
    87     REAL(wp) ::  alpha !:
    88     REAL(wp) ::  e_s   !:
    89     REAL(wp) ::  q_s   !:
    90     REAL(wp) ::  t_l   !:
     88    REAL(wp) ::  alpha !<
     89    REAL(wp) ::  e_s   !<
     90    REAL(wp) ::  q_s   !<
     91    REAL(wp) ::  t_l   !<
    9192
    9293    DO  i = nxlg, nxrg
  • palm/trunk/SOURCE/calc_mean_profile.f90

    r1366 r1682  
    1  MODULE calc_mean_profile_mod
    2 
     1!> @file calc_mean_profile.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    3130! Description:
    3231! ------------
    33 ! Calculate the horizontally averaged vertical temperature profile (pr=4 in case
    34 ! of potential temperature, 44 in case of virtual potential temperature, and 64
    35 ! in case of density (ocean runs)).
     32!> Calculate the horizontally averaged vertical temperature profile (pr=4 in case
     33!> of potential temperature, 44 in case of virtual potential temperature, and 64
     34!> in case of density (ocean runs)).
    3635!------------------------------------------------------------------------------!
     36 MODULE calc_mean_profile_mod
     37 
    3738
    3839    PRIVATE
     
    4546 CONTAINS
    4647
     48!------------------------------------------------------------------------------!
     49! Description:
     50! ------------
     51!> @todo Missing subroutine description.
     52!------------------------------------------------------------------------------!
    4753    SUBROUTINE calc_mean_profile( var, pr )
    4854
     
    6369       IMPLICIT NONE
    6470       
    65        INTEGER(iwp) ::  i                  !:
    66        INTEGER(iwp) ::  j                  !:
    67        INTEGER(iwp) ::  k                  !:
    68        INTEGER(iwp) ::  pr                 !:
    69        INTEGER(iwp) ::  omp_get_thread_num !:
    70        INTEGER(iwp) ::  tn                 !:
     71       INTEGER(iwp) ::  i                  !<
     72       INTEGER(iwp) ::  j                  !<
     73       INTEGER(iwp) ::  k                  !<
     74       INTEGER(iwp) ::  pr                 !<
     75       INTEGER(iwp) ::  omp_get_thread_num !<
     76       INTEGER(iwp) ::  tn                 !<
    7177       
    7278#if defined( __nopointer )
    73        REAL(wp), DIMENSION(:,:,:) ::  var  !:
     79       REAL(wp), DIMENSION(:,:,:) ::  var  !<
    7480#else
    7581       REAL(wp), DIMENSION(:,:,:), POINTER ::  var
  • palm/trunk/SOURCE/calc_precipitation.f90

    r1354 r1682  
    1  MODULE calc_precipitation_mod
    2 
     1!> @file calc_precipitation.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4746! Description:
    4847! ------------
    49 ! Calculate the change of total water content due to precipitation
    50 ! (simplified Kessler scheme)
     48!> Calculate the change of total water content due to precipitation
     49!> (simplified Kessler scheme)
    5150!------------------------------------------------------------------------------!
     51 MODULE calc_precipitation_mod
     52 
    5253
    5354    PRIVATE
     
    6364
    6465!------------------------------------------------------------------------------!
    65 ! Call for all grid points
     66! Description:
     67! ------------
     68!> Call for all grid points
    6669!------------------------------------------------------------------------------!
    6770    SUBROUTINE calc_precipitation
     
    8790       IMPLICIT NONE
    8891
    89        INTEGER(iwp) ::  i !:
    90        INTEGER(iwp) ::  j !:
    91        INTEGER(iwp) ::  k !:
     92       INTEGER(iwp) ::  i !<
     93       INTEGER(iwp) ::  j !<
     94       INTEGER(iwp) ::  k !<
    9295       
    93        REAL(wp)    ::  dqdt_precip !:
     96       REAL(wp)    ::  dqdt_precip !<
    9497
    9598       precipitation_rate = 0.0_wp
     
    127130
    128131!------------------------------------------------------------------------------!
    129 ! Call for grid point i,j
     132! Description:
     133! ------------
     134!> Call for grid point i,j
    130135!------------------------------------------------------------------------------!
    131136    SUBROUTINE calc_precipitation_ij( i, j )
     
    151156       IMPLICIT NONE
    152157
    153        INTEGER(iwp) ::  i !:
    154        INTEGER(iwp) ::  j !:
    155        INTEGER(iwp) ::  k !:
     158       INTEGER(iwp) ::  i !<
     159       INTEGER(iwp) ::  j !<
     160       INTEGER(iwp) ::  k !<
    156161       
    157        REAL(wp)    ::  dqdt_precip !:       
     162       REAL(wp)    ::  dqdt_precip !<       
    158163
    159164       precipitation_rate(j,i) = 0.0_wp
  • palm/trunk/SOURCE/calc_radiation.f90

    r1354 r1682  
    1  MODULE calc_radiation_mod
    2 
     1!> @file calc_radiation.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4948! Description:
    5049! -------------
    51 ! Calculation of the vertical divergences of the long-wave radiation-fluxes
    52 ! based on the parameterization of the cloud effective emissivity
    53 !------------------------------------------------------------------------------!
     50!> Calculation of the vertical divergences of the long-wave radiation-fluxes
     51!> based on the parameterization of the cloud effective emissivity
     52!------------------------------------------------------------------------------!
     53 MODULE calc_radiation_mod
     54 
    5455    USE kinds
    5556   
     
    5758    PUBLIC calc_radiation
    5859   
    59     LOGICAL, SAVE ::  first_call = .TRUE. !:
    60     REAL(wp), SAVE ::  sigma = 5.67E-08_wp   !:
    61 
    62     REAL(wp), DIMENSION(:), ALLOCATABLE, SAVE ::  lwp_ground         !:
    63     REAL(wp), DIMENSION(:), ALLOCATABLE, SAVE ::  lwp_top            !:
    64     REAL(wp), DIMENSION(:), ALLOCATABLE, SAVE ::  blackbody_emission !:
     60    LOGICAL, SAVE ::  first_call = .TRUE. !<
     61    REAL(wp), SAVE ::  sigma = 5.67E-08_wp   !<
     62
     63    REAL(wp), DIMENSION(:), ALLOCATABLE, SAVE ::  lwp_ground         !<
     64    REAL(wp), DIMENSION(:), ALLOCATABLE, SAVE ::  lwp_top            !<
     65    REAL(wp), DIMENSION(:), ALLOCATABLE, SAVE ::  blackbody_emission !<
    6566
    6667    INTERFACE calc_radiation
     
    7374
    7475!------------------------------------------------------------------------------!
    75 ! Call for all grid points
     76! Description:
     77! ------------
     78!> Call for all grid points
    7679!------------------------------------------------------------------------------!
    7780    SUBROUTINE calc_radiation
     
    9699       IMPLICIT NONE
    97100
    98        INTEGER(iwp) ::  i      !:
    99        INTEGER(iwp) ::  j      !:
    100        INTEGER(iwp) ::  k      !:
    101        INTEGER(iwp) ::  k_help !:
     101       INTEGER(iwp) ::  i      !<
     102       INTEGER(iwp) ::  j      !<
     103       INTEGER(iwp) ::  k      !<
     104       INTEGER(iwp) ::  k_help !<
    102105 
    103        REAL(wp) :: df_p                      !:
    104        REAL(wp) :: df_m                      !:
    105        REAL(wp) :: effective_emission_up_m   !:
    106        REAL(wp) :: effective_emission_up_p   !:
    107        REAL(wp) :: effective_emission_down_m !:
    108        REAL(wp) :: effective_emission_down_p !:
    109        REAL(wp) :: f_up_m                    !:
    110        REAL(wp) :: f_up_p                    !:
    111        REAL(wp) :: f_down_m                  !:
    112        REAL(wp) :: f_down_p                  !:
    113        REAL(wp) :: impinging_flux_at_top     !:
    114        REAL(wp) :: temperature               !:
     106       REAL(wp) :: df_p                      !<
     107       REAL(wp) :: df_m                      !<
     108       REAL(wp) :: effective_emission_up_m   !<
     109       REAL(wp) :: effective_emission_up_p   !<
     110       REAL(wp) :: effective_emission_down_m !<
     111       REAL(wp) :: effective_emission_down_p !<
     112       REAL(wp) :: f_up_m                    !<
     113       REAL(wp) :: f_up_p                    !<
     114       REAL(wp) :: f_down_m                  !<
     115       REAL(wp) :: f_down_p                  !<
     116       REAL(wp) :: impinging_flux_at_top     !<
     117       REAL(wp) :: temperature               !<
    115118
    116119
     
    216219
    217220!------------------------------------------------------------------------------!
    218 ! Call for grid point i,j
     221! Description:
     222! ------------
     223!> Call for grid point i,j
    219224!------------------------------------------------------------------------------!
    220225    SUBROUTINE calc_radiation_ij( i, j )
     
    239244       IMPLICIT NONE
    240245
    241        INTEGER(iwp) ::  i      !:
    242        INTEGER(iwp) ::  j      !:
    243        INTEGER(iwp) ::  k      !:
    244        INTEGER(iwp) ::  k_help !:
    245 
    246        REAL(wp) :: df_p                      !:
    247        REAL(wp) :: df_m                      !:
    248        REAL(wp) :: effective_emission_up_m   !:
    249        REAL(wp) :: effective_emission_up_p   !:
    250        REAL(wp) :: effective_emission_down_m !:
    251        REAL(wp) :: effective_emission_down_p !:
    252        REAL(wp) :: f_up_m                    !:
    253        REAL(wp) :: f_up_p                    !:
    254        REAL(wp) :: f_down_m                  !:
    255        REAL(wp) :: f_down_p                  !:
    256        REAL(wp) :: impinging_flux_at_top     !:
    257        REAL(wp) :: temperature               !:
     246       INTEGER(iwp) ::  i      !<
     247       INTEGER(iwp) ::  j      !<
     248       INTEGER(iwp) ::  k      !<
     249       INTEGER(iwp) ::  k_help !<
     250
     251       REAL(wp) :: df_p                      !<
     252       REAL(wp) :: df_m                      !<
     253       REAL(wp) :: effective_emission_up_m   !<
     254       REAL(wp) :: effective_emission_up_p   !<
     255       REAL(wp) :: effective_emission_down_m !<
     256       REAL(wp) :: effective_emission_down_p !<
     257       REAL(wp) :: f_up_m                    !<
     258       REAL(wp) :: f_up_p                    !<
     259       REAL(wp) :: f_down_m                  !<
     260       REAL(wp) :: f_down_p                  !<
     261       REAL(wp) :: impinging_flux_at_top     !<
     262       REAL(wp) :: temperature               !<
    258263
    259264       
  • palm/trunk/SOURCE/calc_spectra.f90

    r1576 r1682  
    1  SUBROUTINE calc_spectra
    2 
     1!> @file calc_spectra.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    7170! Description:
    7271! ------------
    73 ! Calculate horizontal spectra along x and y.
    74 ! ATTENTION: 1d-decomposition along y still needs improvement, because in that
    75 !            case the gridpoint number along z still depends on the PE number
    76 !            because transpose_xz has to be used (and possibly also
    77 !            transpose_zyd needs modification).
    78 !------------------------------------------------------------------------------!
     72!> Calculate horizontal spectra along x and y.
     73!> ATTENTION: 1d-decomposition along y still needs improvement, because in that
     74!>            case the gridpoint number along z still depends on the PE number
     75!>            because transpose_xz has to be used (and possibly also
     76!>            transpose_zyd needs modification).
     77!------------------------------------------------------------------------------!
     78 SUBROUTINE calc_spectra
     79 
    7980
    8081#if defined( __spectra )
     
    104105    IMPLICIT NONE
    105106
    106     INTEGER(iwp) ::  m  !:
    107     INTEGER(iwp) ::  pr !:
     107    INTEGER(iwp) ::  m  !<
     108    INTEGER(iwp) ::  pr !<
    108109
    109110
     
    201202
    202203#if defined( __spectra )
     204!------------------------------------------------------------------------------!
     205! Description:
     206! ------------
     207!> @todo Missing subroutine description.
     208!------------------------------------------------------------------------------!
    203209 SUBROUTINE preprocess_spectra( m, pr )
    204210
     
    222228    IMPLICIT NONE
    223229
    224     INTEGER(iwp) :: i  !:
    225     INTEGER(iwp) :: j  !:
    226     INTEGER(iwp) :: k  !:
    227     INTEGER(iwp) :: m  !:
    228     INTEGER(iwp) :: pr !:
     230    INTEGER(iwp) :: i  !<
     231    INTEGER(iwp) :: j  !<
     232    INTEGER(iwp) :: k  !<
     233    INTEGER(iwp) :: m  !<
     234    INTEGER(iwp) :: pr !<
    229235
    230236    REAL(wp), DIMENSION(nzb:nzt+1) :: var_d_l
     
    289295
    290296
     297!------------------------------------------------------------------------------!
     298! Description:
     299! ------------
     300!> @todo Missing subroutine description.
     301!------------------------------------------------------------------------------!
    291302 SUBROUTINE calc_spectra_x( ddd, pr, m )
    292303
     
    322333    IMPLICIT NONE
    323334
    324     INTEGER(iwp) ::  i         !:
    325     INTEGER(iwp) ::  ishape(1) !:
    326     INTEGER(iwp) ::  j         !:
    327     INTEGER(iwp) ::  k         !:
    328     INTEGER(iwp) ::  m         !:
    329     INTEGER(iwp) ::  n         !:
    330     INTEGER(iwp) ::  pr        !:
    331 
    332     REAL(wp) ::  exponent     !:
    333     REAL(wp) ::  sum_spec_dum !: wavenumber-integrated spectrum
    334    
    335     REAL(wp), DIMENSION(0:nx) ::  work !:
    336    
    337     REAL(wp), DIMENSION(0:nx/2) ::  sums_spectra_l !:
    338    
    339     REAL(wp), DIMENSION(0:nx/2,100) ::  sums_spectra !:
    340    
    341     REAL(wp), DIMENSION(0:nx,nys_x:nyn_x,nzb_x:nzt_x) ::  ddd !:
     335    INTEGER(iwp) ::  i         !<
     336    INTEGER(iwp) ::  ishape(1) !<
     337    INTEGER(iwp) ::  j         !<
     338    INTEGER(iwp) ::  k         !<
     339    INTEGER(iwp) ::  m         !<
     340    INTEGER(iwp) ::  n         !<
     341    INTEGER(iwp) ::  pr        !<
     342
     343    REAL(wp) ::  exponent     !<
     344    REAL(wp) ::  sum_spec_dum !< wavenumber-integrated spectrum
     345   
     346    REAL(wp), DIMENSION(0:nx) ::  work !<
     347   
     348    REAL(wp), DIMENSION(0:nx/2) ::  sums_spectra_l !<
     349   
     350    REAL(wp), DIMENSION(0:nx/2,100) ::  sums_spectra !<
     351   
     352    REAL(wp), DIMENSION(0:nx,nys_x:nyn_x,nzb_x:nzt_x) ::  ddd !<
    342353
    343354!
     
    425436
    426437
     438!------------------------------------------------------------------------------!
     439! Description:
     440! ------------
     441!> @todo Missing subroutine description.
     442!------------------------------------------------------------------------------!
    427443 SUBROUTINE calc_spectra_y( ddd, pr, m )
    428444
     
    458474    IMPLICIT NONE
    459475
    460     INTEGER(iwp) ::  i         !:
    461     INTEGER(iwp) ::  j         !:
    462     INTEGER(iwp) ::  jshape(1) !:
    463     INTEGER(iwp) ::  k         !:
    464     INTEGER(iwp) ::  m         !:
    465     INTEGER(iwp) ::  n         !:
    466     INTEGER(iwp) ::  pr        !:
    467 
    468     REAL(wp) ::  exponent !:
    469     REAL(wp) ::  sum_spec_dum !: wavenumber-integrated spectrum
    470    
    471     REAL(wp), DIMENSION(0:ny) ::  work !:
    472    
    473     REAL(wp), DIMENSION(0:ny/2) ::  sums_spectra_l !:
    474    
    475     REAL(wp), DIMENSION(0:ny/2,100) ::  sums_spectra !:
    476    
    477     REAL(wp), DIMENSION(0:ny,nxl_yd:nxr_yd,nzb_yd:nzt_yd) :: ddd !:
     476    INTEGER(iwp) ::  i         !<
     477    INTEGER(iwp) ::  j         !<
     478    INTEGER(iwp) ::  jshape(1) !<
     479    INTEGER(iwp) ::  k         !<
     480    INTEGER(iwp) ::  m         !<
     481    INTEGER(iwp) ::  n         !<
     482    INTEGER(iwp) ::  pr        !<
     483
     484    REAL(wp) ::  exponent !<
     485    REAL(wp) ::  sum_spec_dum !< wavenumber-integrated spectrum
     486   
     487    REAL(wp), DIMENSION(0:ny) ::  work !<
     488   
     489    REAL(wp), DIMENSION(0:ny/2) ::  sums_spectra_l !<
     490   
     491    REAL(wp), DIMENSION(0:ny/2,100) ::  sums_spectra !<
     492   
     493    REAL(wp), DIMENSION(0:ny,nxl_yd:nxr_yd,nzb_yd:nzt_yd) :: ddd !<
    478494
    479495
  • palm/trunk/SOURCE/check_for_restart.f90

    r1510 r1682  
    1  SUBROUTINE check_for_restart
    2 
     1!> @file check_for_restart.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5655! Description:
    5756! ------------
    58 ! Set stop flag, if restart is neccessary because of expiring cpu-time or
    59 ! if it is forced by user
     57!> Set stop flag, if restart is neccessary because of expiring cpu-time or
     58!> if it is forced by user
    6059!------------------------------------------------------------------------------!
     60 SUBROUTINE check_for_restart
     61 
    6162
    6263    USE control_parameters,                                                    &
     
    7273
    7374
    74     LOGICAL :: terminate_run_l           !:
    75     LOGICAL :: do_stop_now = .FALSE.     !:
    76     LOGICAL :: do_restart_now = .FALSE.  !:
    77 
    78     REAL(wp) ::  remaining_time !:
     75    LOGICAL :: terminate_run_l           !<
     76    LOGICAL :: do_stop_now = .FALSE.     !<
     77    LOGICAL :: do_restart_now = .FALSE.  !<
     78
     79    REAL(wp) ::  remaining_time !<
    7980
    8081
  • palm/trunk/SOURCE/check_namelist_files.f90

    r1321 r1682  
    1 PROGRAM check_namelist_files
    2 
     1!> @file check_namelist_files.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4645! Description:
    4746! ------------
    48 ! Perform namelist file check. The program is independent from PALM and used by
    49 ! the shell script "mrun" to check the parameter files (e.g. p3d, p3df...) b
    50 ! efore the job is submitted/started. Source code from the PALM model in used in
    51 ! check_namelist_files by means of the cpp directive "__check". The compiled
    52 ! program resides in the SCRIPTS folder as check_namelist_files.x.
     47!> Perform namelist file check. The program is independent from PALM and used by
     48!> the shell script "mrun" to check the parameter files (e.g. p3d, p3df...) b
     49!> efore the job is submitted/started. Source code from the PALM model in used in
     50!> check_namelist_files by means of the cpp directive "__check". The compiled
     51!> program resides in the SCRIPTS folder as check_namelist_files.x.
    5352!------------------------------------------------------------------------------!
     53PROGRAM check_namelist_files
     54 
    5455
    5556
  • palm/trunk/SOURCE/check_open.f90

    r1552 r1682  
    1 SUBROUTINE check_open( file_id )
    2 
     1!> @file check_open.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    8685! Description:
    8786! ------------
    88 ! Check if file unit is open. If not, open file and, if necessary, write a
    89 ! header or start other initializing actions, respectively.
     87!> Check if file unit is open. If not, open file and, if necessary, write a
     88!> header or start other initializing actions, respectively.
    9089!------------------------------------------------------------------------------!
     90SUBROUTINE check_open( file_id )
     91 
    9192
    9293    USE arrays_3d,                                                             &
     
    123124    IMPLICIT NONE
    124125
    125     CHARACTER (LEN=2)   ::  mask_char               !:
    126     CHARACTER (LEN=2)   ::  suffix                  !:
    127     CHARACTER (LEN=20)  ::  xtext = 'time in s'     !:
    128     CHARACTER (LEN=30)  ::  filename                !:
    129     CHARACTER (LEN=40)  ::  avs_coor_file           !:
    130     CHARACTER (LEN=40)  ::  avs_coor_file_localname !:
    131     CHARACTER (LEN=40)  ::  avs_data_file_localname !:
    132     CHARACTER (LEN=80)  ::  rtext                   !:
    133     CHARACTER (LEN=100) ::  avs_coor_file_catalog   !:
    134     CHARACTER (LEN=100) ::  avs_data_file_catalog   !:
    135     CHARACTER (LEN=100) ::  batch_scp               !:
    136     CHARACTER (LEN=100) ::  line                    !:
    137     CHARACTER (LEN=400) ::  command                 !:
    138 
    139     INTEGER(iwp) ::  av          !:
    140     INTEGER(iwp) ::  numline = 1 !:
    141     INTEGER(iwp) ::  cranz       !:
    142     INTEGER(iwp) ::  file_id     !:
    143     INTEGER(iwp) ::  i           !:
    144     INTEGER(iwp) ::  iaddres     !:
    145     INTEGER(iwp) ::  iusern      !:
    146     INTEGER(iwp) ::  j           !:
    147     INTEGER(iwp) ::  k           !:
    148     INTEGER(iwp) ::  legpos = 1  !:
    149     INTEGER(iwp) ::  timodex = 1 !:
     126    CHARACTER (LEN=2)   ::  mask_char               !<
     127    CHARACTER (LEN=2)   ::  suffix                  !<
     128    CHARACTER (LEN=20)  ::  xtext = 'time in s'     !<
     129    CHARACTER (LEN=30)  ::  filename                !<
     130    CHARACTER (LEN=40)  ::  avs_coor_file           !<
     131    CHARACTER (LEN=40)  ::  avs_coor_file_localname !<
     132    CHARACTER (LEN=40)  ::  avs_data_file_localname !<
     133    CHARACTER (LEN=80)  ::  rtext                   !<
     134    CHARACTER (LEN=100) ::  avs_coor_file_catalog   !<
     135    CHARACTER (LEN=100) ::  avs_data_file_catalog   !<
     136    CHARACTER (LEN=100) ::  batch_scp               !<
     137    CHARACTER (LEN=100) ::  line                    !<
     138    CHARACTER (LEN=400) ::  command                 !<
     139
     140    INTEGER(iwp) ::  av          !<
     141    INTEGER(iwp) ::  numline = 1 !<
     142    INTEGER(iwp) ::  cranz       !<
     143    INTEGER(iwp) ::  file_id     !<
     144    INTEGER(iwp) ::  i           !<
     145    INTEGER(iwp) ::  iaddres     !<
     146    INTEGER(iwp) ::  iusern      !<
     147    INTEGER(iwp) ::  j           !<
     148    INTEGER(iwp) ::  k           !<
     149    INTEGER(iwp) ::  legpos = 1  !<
     150    INTEGER(iwp) ::  timodex = 1 !<
    150151   
    151     INTEGER(iwp), DIMENSION(10) ::  klist !:
    152 
    153     LOGICAL ::  avs_coor_file_found = .FALSE. !:
    154     LOGICAL ::  avs_data_file_found = .FALSE. !:
    155     LOGICAL ::  datleg = .TRUE.               !:
    156     LOGICAL ::  get_filenames                 !:
    157     LOGICAL ::  grid = .TRUE.                 !:
    158     LOGICAL ::  netcdf_extend                 !:
    159     LOGICAL ::  rand = .TRUE.                 !:
    160     LOGICAL ::  swap = .TRUE.                 !:
    161     LOGICAL ::  twoxa = .TRUE.                !:
    162     LOGICAL ::  twoya = .TRUE.                !:
    163 
    164     REAL(wp) ::  ansx = -999.999_wp !:
    165     REAL(wp) ::  ansy = -999.999_wp !:
    166     REAL(wp) ::  gwid = 0.1_wp      !:
    167     REAL(wp) ::  rlegfak = 1.5_wp   !:
    168     REAL(wp) ::  sizex = 250.0_wp   !:
    169     REAL(wp) ::  sizey = 40.0_wp    !:
    170     REAL(wp) ::  texfac = 1.5_wp    !:
    171 
    172     REAL(wp), DIMENSION(:), ALLOCATABLE      ::  eta !:
    173     REAL(wp), DIMENSION(:), ALLOCATABLE      ::  ho  !:
    174     REAL(wp), DIMENSION(:), ALLOCATABLE      ::  hu  !:
     152    INTEGER(iwp), DIMENSION(10) ::  klist !<
     153
     154    LOGICAL ::  avs_coor_file_found = .FALSE. !<
     155    LOGICAL ::  avs_data_file_found = .FALSE. !<
     156    LOGICAL ::  datleg = .TRUE.               !<
     157    LOGICAL ::  get_filenames                 !<
     158    LOGICAL ::  grid = .TRUE.                 !<
     159    LOGICAL ::  netcdf_extend                 !<
     160    LOGICAL ::  rand = .TRUE.                 !<
     161    LOGICAL ::  swap = .TRUE.                 !<
     162    LOGICAL ::  twoxa = .TRUE.                !<
     163    LOGICAL ::  twoya = .TRUE.                !<
     164
     165    REAL(wp) ::  ansx = -999.999_wp !<
     166    REAL(wp) ::  ansy = -999.999_wp !<
     167    REAL(wp) ::  gwid = 0.1_wp      !<
     168    REAL(wp) ::  rlegfak = 1.5_wp   !<
     169    REAL(wp) ::  sizex = 250.0_wp   !<
     170    REAL(wp) ::  sizey = 40.0_wp    !<
     171    REAL(wp) ::  texfac = 1.5_wp    !<
     172
     173    REAL(wp), DIMENSION(:), ALLOCATABLE      ::  eta !<
     174    REAL(wp), DIMENSION(:), ALLOCATABLE      ::  ho  !<
     175    REAL(wp), DIMENSION(:), ALLOCATABLE      ::  hu  !<
    175176 
    176177
  • palm/trunk/SOURCE/check_parameters.f90

    r1607 r1682  
    1  SUBROUTINE check_parameters
    2 
     1!> @file check_parameters.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    278277! Description:
    279278! ------------
    280 ! Check control parameters and deduce further quantities.
     279!> Check control parameters and deduce further quantities.
    281280!------------------------------------------------------------------------------!
     281 SUBROUTINE check_parameters
     282 
    282283
    283284    USE arrays_3d
     
    305306    IMPLICIT NONE
    306307
    307     CHARACTER (LEN=1)   ::  sq                       !:
    308     CHARACTER (LEN=15)  ::  var                      !:
    309     CHARACTER (LEN=7)   ::  unit                     !:
    310     CHARACTER (LEN=8)   ::  date                     !:
    311     CHARACTER (LEN=10)  ::  time                     !:
    312     CHARACTER (LEN=40)  ::  coupling_string          !:
    313     CHARACTER (LEN=100) ::  action                   !:
    314 
    315     INTEGER(iwp) ::  i                               !:
    316     INTEGER(iwp) ::  ilen                            !:
    317     INTEGER(iwp) ::  iremote = 0                     !:
    318     INTEGER(iwp) ::  j                               !:
    319     INTEGER(iwp) ::  k                               !:
    320     INTEGER(iwp) ::  kk                              !:
    321     INTEGER(iwp) ::  netcdf_data_format_save         !:
    322     INTEGER(iwp) ::  position                        !:
    323     INTEGER(iwp) ::  prec                            !:
     308    CHARACTER (LEN=1)   ::  sq                       !<
     309    CHARACTER (LEN=15)  ::  var                      !<
     310    CHARACTER (LEN=7)   ::  unit                     !<
     311    CHARACTER (LEN=8)   ::  date                     !<
     312    CHARACTER (LEN=10)  ::  time                     !<
     313    CHARACTER (LEN=40)  ::  coupling_string          !<
     314    CHARACTER (LEN=100) ::  action                   !<
     315
     316    INTEGER(iwp) ::  i                               !<
     317    INTEGER(iwp) ::  ilen                            !<
     318    INTEGER(iwp) ::  iremote = 0                     !<
     319    INTEGER(iwp) ::  j                               !<
     320    INTEGER(iwp) ::  k                               !<
     321    INTEGER(iwp) ::  kk                              !<
     322    INTEGER(iwp) ::  netcdf_data_format_save         !<
     323    INTEGER(iwp) ::  position                        !<
     324    INTEGER(iwp) ::  prec                            !<
    324325   
    325     LOGICAL     ::  found                            !:
    326     LOGICAL     ::  ldum                             !:
     326    LOGICAL     ::  found                            !<
     327    LOGICAL     ::  ldum                             !<
    327328   
    328     REAL(wp)    ::  gradient                         !:
    329     REAL(wp)    ::  remote = 0.0_wp                  !:
    330     REAL(wp)    ::  simulation_time_since_reference  !:
     329    REAL(wp)    ::  gradient                         !<
     330    REAL(wp)    ::  remote = 0.0_wp                  !<
     331    REAL(wp)    ::  simulation_time_since_reference  !<
    331332
    332333
  • palm/trunk/SOURCE/close_file.f90

    r1329 r1682  
    1  SUBROUTINE close_file( file_id )
    2 
     1!> @file close_file.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5554! Description:
    5655! ------------
    57 ! Close specified file or all open files, if "0" has been given as the
    58 ! calling argument. In that case, execute last actions for certain unit
    59 ! numbers, if required.
     56!> Close specified file or all open files, if "0" has been given as the
     57!> calling argument. In that case, execute last actions for certain unit
     58!> numbers, if required.
    6059!------------------------------------------------------------------------------!
     60 SUBROUTINE close_file( file_id )
     61 
    6162
    6263    USE control_parameters,                                                    &
     
    8081    IMPLICIT NONE
    8182
    82     CHARACTER (LEN=10)  ::  datform = 'lit_endian' !:
    83     CHARACTER (LEN=80)  ::  title                  !:
    84 
    85     INTEGER(iwp) ::  av           !:
    86     INTEGER(iwp) ::  dimx         !:
    87     INTEGER(iwp) ::  dimy         !:
    88     INTEGER(iwp) ::  fid          !:
    89     INTEGER(iwp) ::  file_id      !:
    90     INTEGER(iwp) ::  planz        !:
    91 
    92     LOGICAL ::  checkuf = .TRUE.  !:
    93     LOGICAL ::  datleg = .TRUE.   !:
    94     LOGICAL ::  dbp = .FALSE.     !:
    95 
    96     REAL(wp) ::  sizex            !:
    97     REAL(wp) ::  sizey            !:
    98     REAL(wp) ::  yright           !:
     83    CHARACTER (LEN=10)  ::  datform = 'lit_endian' !<
     84    CHARACTER (LEN=80)  ::  title                  !<
     85
     86    INTEGER(iwp) ::  av           !<
     87    INTEGER(iwp) ::  dimx         !<
     88    INTEGER(iwp) ::  dimy         !<
     89    INTEGER(iwp) ::  fid          !<
     90    INTEGER(iwp) ::  file_id      !<
     91    INTEGER(iwp) ::  planz        !<
     92
     93    LOGICAL ::  checkuf = .TRUE.  !<
     94    LOGICAL ::  datleg = .TRUE.   !<
     95    LOGICAL ::  dbp = .FALSE.     !<
     96
     97    REAL(wp) ::  sizex            !<
     98    REAL(wp) ::  sizey            !<
     99    REAL(wp) ::  yright           !<
    99100
    100101    NAMELIST /GLOBAL/  checkuf, datform, dimx, dimy, dbp, planz,               &
  • palm/trunk/SOURCE/compute_vpt.f90

    r1354 r1682  
    1  SUBROUTINE compute_vpt
    2 
     1!> @file compute_vpt.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4948! Description:
    5049! -------------
    51 ! Computation of the virtual potential temperature
     50!> Computation of the virtual potential temperature
    5251!------------------------------------------------------------------------------!
     52 SUBROUTINE compute_vpt
     53 
    5354
    5455    USE arrays_3d,                                                             &
     
    6869    IMPLICIT NONE
    6970
    70     INTEGER(iwp) :: k   !:
     71    INTEGER(iwp) :: k   !<
    7172
    7273    IF ( .NOT. cloud_physics  .AND.  .NOT. cloud_droplets )  THEN
  • palm/trunk/SOURCE/coriolis.f90

    r1354 r1682  
    1  MODULE coriolis_mod
    2 
     1!> @file coriolis.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5655! Description:
    5756! ------------
    58 ! Computation of all Coriolis terms in the equations of motion.
    59 !------------------------------------------------------------------------------!
     57!> Computation of all Coriolis terms in the equations of motion.
     58!------------------------------------------------------------------------------!
     59 MODULE coriolis_mod
     60 
    6061
    6162    PRIVATE
     
    7576
    7677!------------------------------------------------------------------------------!
    77 ! Call for all grid points
     78! Description:
     79! ------------
     80!> Call for all grid points
    7881!------------------------------------------------------------------------------!
    7982    SUBROUTINE coriolis( component )
     
    9396       IMPLICIT NONE
    9497
    95        INTEGER(iwp) ::  component  !:
    96        INTEGER(iwp) ::  i          !:
    97        INTEGER(iwp) ::  j          !:
    98        INTEGER(iwp) ::  k          !:
     98       INTEGER(iwp) ::  component  !<
     99       INTEGER(iwp) ::  i          !<
     100       INTEGER(iwp) ::  j          !<
     101       INTEGER(iwp) ::  k          !<
    99102
    100103
     
    157160
    158161!------------------------------------------------------------------------------!
    159 ! Call for all grid points - accelerator version
     162! Description:
     163! ------------
     164!> Call for all grid points - accelerator version
    160165!------------------------------------------------------------------------------!
    161166    SUBROUTINE coriolis_acc( component )
     
    175180       IMPLICIT NONE
    176181
    177        INTEGER(iwp) ::  component  !:
    178        INTEGER(iwp) ::  i          !:
    179        INTEGER(iwp) ::  j          !:
    180        INTEGER(iwp) ::  k          !:
     182       INTEGER(iwp) ::  component  !<
     183       INTEGER(iwp) ::  i          !<
     184       INTEGER(iwp) ::  j          !<
     185       INTEGER(iwp) ::  k          !<
    181186
    182187
     
    251256
    252257!------------------------------------------------------------------------------!
    253 ! Call for grid point i,j
     258! Description:
     259! ------------
     260!> Call for grid point i,j
    254261!------------------------------------------------------------------------------!
    255262    SUBROUTINE coriolis_ij( i, j, component )
     
    268275       IMPLICIT NONE
    269276
    270        INTEGER(iwp) ::  component  !:
    271        INTEGER(iwp) ::  i          !:
    272        INTEGER(iwp) ::  j          !:
    273        INTEGER(iwp) ::  k          !:
     277       INTEGER(iwp) ::  component  !<
     278       INTEGER(iwp) ::  i          !<
     279       INTEGER(iwp) ::  j          !<
     280       INTEGER(iwp) ::  k          !<
    274281
    275282!
  • palm/trunk/SOURCE/cpulog.f90

    r1403 r1682  
    1  MODULE cpulog
    2 
     1!> @file cpulog.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5958! Description:
    6059! ------------
    61 ! CPU-time measurements for any program part whatever. Results of the
    62 ! measurements are output at the end of the run in local file CPU_MEASURES.
    63 !
    64 ! To measure the CPU-time (better to say the wallclock time) of a specific code
    65 ! segment, two calls of cpu_log have to be used as brackets in front and at the
    66 ! end of the segment:
    67 !
    68 !     CALL cpu_log( log_point(n), 'any identifier', 'start' )
    69 !       ... code segment ...
    70 !     CALL cpu_log( log_point(n), 'any identifier', 'stop' )
    71 !
    72 ! Parts of the code segment can be excluded from the measurement by additional
    73 ! call of cpu_log:
    74 !
    75 !       ... first segment to be measured
    76 !     CALL cpu_log( log_point(n), 'any identifier', 'pause' )
    77 !       ... oart of segment to be excluded from measurement
    78 !     CALL cpu_log( log_point(n), 'any identifier', 'continue' )
    79 !       ... second segment to be mesasured
    80 !
    81 ! n is an INTEGER within the interval [1,100] defining the id of the specific
    82 ! code segment, 'any identifier' is a string describing the code segment to be
    83 ! measured. It can be freely chosen and results will appear under this name in
    84 ! file CPU_MEASURES. ids can only be used once. If you like to do a
    85 ! measurement of a new part of the code, please look for an id which is unused
    86 ! ao far.
    87 !
    88 ! d3par-parameter cpu_log_barrierwait can be used to set an MPI barrier at the
    89 ! beginning of the measurement (modus 'start' or 'continue'), to avoid that
    90 ! idle times (due to MPI calls in the code segment, which are
    91 ! waiting for other processes to be finished) affect the measurements.
    92 ! If barriers shall not be used at all, a fourth, optional parameter has to be
    93 ! given:
    94 !
    95 !     CALL cpu_log( ..., ..., 'start', cpu_log_nowait )
    96 !
    97 ! Variable log_point should be used for non-overlapping code segments, and they
    98 ! should sum up to the total cpu-time required by the complete run.
    99 ! Variable log_point_s can be used for any other special (s) measurements.
     60!> CPU-time measurements for any program part whatever. Results of the
     61!> measurements are output at the end of the run in local file CPU_MEASURES.
     62!>
     63!> To measure the CPU-time (better to say the wallclock time) of a specific code
     64!> segment, two calls of cpu_log have to be used as brackets in front and at the
     65!> end of the segment:
     66!>
     67!>     CALL cpu_log( log_point(n), 'any identifier', 'start' )
     68!>       ... code segment ...
     69!>     CALL cpu_log( log_point(n), 'any identifier', 'stop' )
     70!>
     71!> Parts of the code segment can be excluded from the measurement by additional
     72!> call of cpu_log:
     73!>
     74!>       ... first segment to be measured
     75!>     CALL cpu_log( log_point(n), 'any identifier', 'pause' )
     76!>       ... oart of segment to be excluded from measurement
     77!>     CALL cpu_log( log_point(n), 'any identifier', 'continue' )
     78!>       ... second segment to be mesasured
     79!>
     80!> n is an INTEGER within the interval [1,100] defining the id of the specific
     81!> code segment, 'any identifier' is a string describing the code segment to be
     82!> measured. It can be freely chosen and results will appear under this name in
     83!> file CPU_MEASURES. ids can only be used once. If you like to do a
     84!> measurement of a new part of the code, please look for an id which is unused
     85!> ao far.
     86!>
     87!> d3par-parameter cpu_log_barrierwait can be used to set an MPI barrier at the
     88!> beginning of the measurement (modus 'start' or 'continue'), to avoid that
     89!> idle times (due to MPI calls in the code segment, which are
     90!> waiting for other processes to be finished) affect the measurements.
     91!> If barriers shall not be used at all, a fourth, optional parameter has to be
     92!> given:
     93!>
     94!>     CALL cpu_log( ..., ..., 'start', cpu_log_nowait )
     95!>
     96!> Variable log_point should be used for non-overlapping code segments, and they
     97!> should sum up to the total cpu-time required by the complete run.
     98!> Variable log_point_s can be used for any other special (s) measurements.
    10099!------------------------------------------------------------------------------!
     100 MODULE cpulog
     101 
    101102
    102103    USE control_parameters,                                                    &
     
    125126    END INTERFACE cpu_statistics
    126127
    127     INTEGER(iwp), PARAMETER ::  cpu_log_continue = 0  !:
    128     INTEGER(iwp), PARAMETER ::  cpu_log_pause = 1     !:
    129     INTEGER(iwp), PARAMETER ::  cpu_log_start = 2     !:
    130     INTEGER(iwp), PARAMETER ::  cpu_log_stop = 3      !:
    131 
    132     LOGICAL            ::  cpu_log_barrierwait = .FALSE.  !:
    133     LOGICAL, PARAMETER ::  cpu_log_nowait = .FALSE.       !:
    134 
    135     REAL(wp) ::  initial_wallclock_time  !:
     128    INTEGER(iwp), PARAMETER ::  cpu_log_continue = 0  !<
     129    INTEGER(iwp), PARAMETER ::  cpu_log_pause = 1     !<
     130    INTEGER(iwp), PARAMETER ::  cpu_log_start = 2     !<
     131    INTEGER(iwp), PARAMETER ::  cpu_log_stop = 3      !<
     132
     133    LOGICAL            ::  cpu_log_barrierwait = .FALSE.  !<
     134    LOGICAL, PARAMETER ::  cpu_log_nowait = .FALSE.       !<
     135
     136    REAL(wp) ::  initial_wallclock_time  !<
    136137
    137138    TYPE logpoint
    138        REAL(wp)           ::  isum       !:
    139        REAL(wp)           ::  ivect      !:
    140        REAL(wp)           ::  mean       !:
    141        REAL(wp)           ::  mtime      !:
    142        REAL(wp)           ::  mtimevec   !:
    143        REAL(wp)           ::  sum        !:
    144        REAL(wp)           ::  vector     !:
    145        INTEGER(iwp)       ::  counts     !:
    146        CHARACTER (LEN=20) ::  place      !:
     139       REAL(wp)           ::  isum       !<
     140       REAL(wp)           ::  ivect      !<
     141       REAL(wp)           ::  mean       !<
     142       REAL(wp)           ::  mtime      !<
     143       REAL(wp)           ::  mtimevec   !<
     144       REAL(wp)           ::  sum        !<
     145       REAL(wp)           ::  vector     !<
     146       INTEGER(iwp)       ::  counts     !<
     147       CHARACTER (LEN=20) ::  place      !<
    147148    END TYPE logpoint
    148149
     
    158159 CONTAINS
    159160
     161!------------------------------------------------------------------------------!
     162! Description:
     163! ------------
     164!> @todo Missing subroutine description.
     165!------------------------------------------------------------------------------!
    160166    SUBROUTINE cpu_log( log_event, place, modus, barrierwait )
    161167
    162168       IMPLICIT NONE
    163169
    164        CHARACTER (LEN=*) ::  modus              !:
    165        CHARACTER (LEN=*) ::  place              !:
     170       CHARACTER (LEN=*) ::  modus              !<
     171       CHARACTER (LEN=*) ::  place              !<
    166172       
    167        LOGICAL           ::  wait_allowed       !:
    168        LOGICAL, OPTIONAL ::  barrierwait        !:
    169        LOGICAL, SAVE     ::  first = .TRUE.     !:
     173       LOGICAL           ::  wait_allowed       !<
     174       LOGICAL, OPTIONAL ::  barrierwait        !<
     175       LOGICAL, SAVE     ::  first = .TRUE.     !<
    170176       
    171        REAL(wp)          ::  mtime = 0.0_wp     !:
    172        REAL(wp)          ::  mtimevec = 0.0_wp  !:
    173        TYPE(logpoint)    ::  log_event          !:
     177       REAL(wp)          ::  mtime = 0.0_wp     !<
     178       REAL(wp)          ::  mtimevec = 0.0_wp  !<
     179       TYPE(logpoint)    ::  log_event          !<
    174180
    175181#if defined( __lc ) || defined( __decalpha )
    176        INTEGER(idp)     ::  count        !:
    177        INTEGER(idp)     ::  count_rate   !:
     182       INTEGER(idp)     ::  count        !<
     183       INTEGER(idp)     ::  count_rate   !<
    178184#elif defined( __nec )
    179        INTEGER(iwp)      ::  count       !:
    180        INTEGER(iwp)      ::  count_rate  !:
     185       INTEGER(iwp)      ::  count       !<
     186       INTEGER(iwp)      ::  count_rate  !<
    181187#elif defined( __ibm )
    182        INTEGER(idp)     ::  IRTC         !:
     188       INTEGER(idp)     ::  IRTC         !<
    183189#endif
    184190
     
    271277
    272278
    273     SUBROUTINE cpu_statistics
    274279!------------------------------------------------------------------------------!
    275280! Description:
    276281! ------------
    277 ! Analysis and output of the cpu-times measured. All PE results are collected
    278 ! on PE0 in order to calculate the mean cpu-time over all PEs and other
    279 ! statistics. The output is sorted according to the amount of cpu-time consumed
    280 ! and output on PE0.
     282!> Analysis and output of the cpu-times measured. All PE results are collected
     283!> on PE0 in order to calculate the mean cpu-time over all PEs and other
     284!> statistics. The output is sorted according to the amount of cpu-time consumed
     285!> and output on PE0.
    281286!------------------------------------------------------------------------------!
     287 
     288    SUBROUTINE cpu_statistics
    282289
    283290       IMPLICIT NONE
    284291
    285        INTEGER(iwp)    ::  i               !:
    286        INTEGER(iwp)    ::  ii(1)           !:
    287        INTEGER(iwp)    ::  iii             !:
    288        INTEGER(iwp)    ::  sender          !:
    289        REAL(wp)       ::  average_cputime  !:
    290        REAL(wp), SAVE ::  norm = 1.0_wp    !:
    291        REAL(wp), DIMENSION(:),   ALLOCATABLE ::  pe_max        !:
    292        REAL(wp), DIMENSION(:),   ALLOCATABLE ::  pe_min        !:
    293        REAL(wp), DIMENSION(:),   ALLOCATABLE ::  pe_rms        !:
    294        REAL(wp), DIMENSION(:),   ALLOCATABLE ::  sum           !:
    295        REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  pe_log_points !:
     292       INTEGER(iwp)    ::  i               !<
     293       INTEGER(iwp)    ::  ii(1)           !<
     294       INTEGER(iwp)    ::  iii             !<
     295       INTEGER(iwp)    ::  sender          !<
     296       REAL(wp)       ::  average_cputime  !<
     297       REAL(wp), SAVE ::  norm = 1.0_wp    !<
     298       REAL(wp), DIMENSION(:),   ALLOCATABLE ::  pe_max        !<
     299       REAL(wp), DIMENSION(:),   ALLOCATABLE ::  pe_min        !<
     300       REAL(wp), DIMENSION(:),   ALLOCATABLE ::  pe_rms        !<
     301       REAL(wp), DIMENSION(:),   ALLOCATABLE ::  sum           !<
     302       REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  pe_log_points !<
    296303
    297304
  • palm/trunk/SOURCE/cuda_fft_interfaces.f90

    r1375 r1682  
    1  MODULE cuda_fft_interfaces
    2 
     1!> @file cuda_fft_interfaces.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5554! Description:
    5655! ------------
    57 ! FORTRAN interfaces for the CUDA fft
    58 ! Routines for the fft along x and y (forward/backward) using the CUDA fft
     56!> FORTRAN interfaces for the CUDA fft
     57!> Routines for the fft along x and y (forward/backward) using the CUDA fft
    5958!--------------------------------------------------------------------------------!
     59 MODULE cuda_fft_interfaces
     60 
    6061
    6162#if defined ( __cuda_fft )
     
    6364    USE kinds
    6465
    65     INTEGER(iwp) ::  CUFFT_FORWARD = -1   !:
    66     INTEGER(iwp) ::  CUFFT_INVERSE =  1   !:
    67     INTEGER(iwp) ::  CUFFT_R2C = Z'2a'    !: Real to Complex (interleaved)
    68     INTEGER(iwp) ::  CUFFT_C2R = Z'2c'    !: Complex (interleaved) to Real
    69     INTEGER(iwp) ::  CUFFT_C2C = Z'29'    !: Complex to Complex, interleaved
    70     INTEGER(iwp) ::  CUFFT_D2Z = Z'6a'    !: Double to Double-Complex
    71     INTEGER(iwp) ::  CUFFT_Z2D = Z'6c'    !: Double-Complex to Double
    72     INTEGER(iwp) ::  CUFFT_Z2Z = Z'69'    !: Double-Complex to Double-Complex
     66    INTEGER(iwp) ::  CUFFT_FORWARD = -1   !<
     67    INTEGER(iwp) ::  CUFFT_INVERSE =  1   !<
     68    INTEGER(iwp) ::  CUFFT_R2C = Z'2a'    !< Real to Complex (interleaved)
     69    INTEGER(iwp) ::  CUFFT_C2R = Z'2c'    !< Complex (interleaved) to Real
     70    INTEGER(iwp) ::  CUFFT_C2C = Z'29'    !< Complex to Complex, interleaved
     71    INTEGER(iwp) ::  CUFFT_D2Z = Z'6a'    !< Double to Double-Complex
     72    INTEGER(iwp) ::  CUFFT_Z2D = Z'6c'    !< Double-Complex to Double
     73    INTEGER(iwp) ::  CUFFT_Z2Z = Z'69'    !< Double-Complex to Double-Complex
    7374
    7475    PUBLIC
     
    7980    INTERFACE CUFFTPLAN1D
    8081
     82!------------------------------------------------------------------------------!
     83! Description:
     84! ------------
     85!> @todo Missing subroutine description.
     86!------------------------------------------------------------------------------!
    8187       SUBROUTINE CUFFTPLAN1D( plan, nx, type, batch ) bind( C, name='cufftPlan1d' )
    8288
    8389          USE ISO_C_BINDING
    8490
    85           INTEGER(C_INT)        ::  plan   !:
    86           INTEGER(C_INT), value ::  batch  !:
    87           INTEGER(C_INT), value ::  nx     !:
    88           INTEGER(C_INT), value ::  type   !:
     91          INTEGER(C_INT)        ::  plan   !<
     92          INTEGER(C_INT), value ::  batch  !<
     93          INTEGER(C_INT), value ::  nx     !<
     94          INTEGER(C_INT), value ::  type   !<
    8995       END SUBROUTINE CUFFTPLAN1D
    9096
     
    95101    INTERFACE CUFFTDESTROY
    96102
     103!------------------------------------------------------------------------------!
     104! Description:
     105! ------------
     106!> @todo Missing subroutine description.
     107!------------------------------------------------------------------------------!
    97108       SUBROUTINE CUFFTDESTROY( plan ) bind( C, name='cufftDestroy' )
    98109
     
    108119    INTERFACE CUFFTEXECZ2D
    109120
     121!------------------------------------------------------------------------------!
     122! Description:
     123! ------------
     124!> @todo Missing subroutine description.
     125!------------------------------------------------------------------------------!
    110126       SUBROUTINE CUFFTEXECZ2D( plan, idata, odata ) bind( C, name='cufftExecZ2D' )
    111127
     
    113129          USE kinds
    114130
    115           INTEGER(C_INT), VALUE ::  plan          !:
    116           COMPLEX(dp), DEVICE   ::  idata(:,:,:)  !:
    117           REAL(dp), DEVICE      ::  odata(:,:,:)  !:
     131          INTEGER(C_INT), VALUE ::  plan          !<
     132          COMPLEX(dp), DEVICE   ::  idata(:,:,:)  !<
     133          REAL(dp), DEVICE      ::  odata(:,:,:)  !<
    118134
    119135       END SUBROUTINE CUFFTEXECZ2D
     
    124140    INTERFACE CUFFTEXECD2Z
    125141
     142!------------------------------------------------------------------------------!
     143! Description:
     144! ------------
     145!> @todo Missing subroutine description.
     146!------------------------------------------------------------------------------!
    126147       SUBROUTINE CUFFTEXECD2Z( plan, idata, odata ) bind( C, name='cufftExecD2Z' )
    127148
     
    130151          USE kinds
    131152
    132           INTEGER(C_INT), VALUE ::  plan          !:
    133           REAL(dp), DEVICE      ::  idata(:,:,:)  !:
    134           COMPLEX(dp), DEVICE   ::  odata(:,:,:)  !:
     153          INTEGER(C_INT), VALUE ::  plan          !<
     154          REAL(dp), DEVICE      ::  idata(:,:,:)  !<
     155          COMPLEX(dp), DEVICE   ::  odata(:,:,:)  !<
    135156
    136157       END SUBROUTINE CUFFTEXECD2Z
     
    140161#else
    141162
    142 !
    143 !-- Dummy interface to avoid compiler warnings in case of no bublic objects
    144 !-- declared
    145163    INTERFACE CUFFTdummy
    146164
     165!------------------------------------------------------------------------------!
     166! Description:
     167! ------------
     168!> Dummy interface to avoid compiler warnings in case of no bublic objects
     169!> declared.
     170!------------------------------------------------------------------------------!
    147171       SUBROUTINE CUFFTdummy( dummy )
    148172       
    149173          USE kinds
    150174
    151           REAL(wp) ::  dummy  !:
     175          REAL(wp) ::  dummy  !<
    152176
    153177       END SUBROUTINE CUFFTdummy
  • palm/trunk/SOURCE/data_log.f90

    r1321 r1682  
    1  SUBROUTINE data_log( array, i1, i2, j1, j2, k1, k2 )
    2 
     1!> @file data_log.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    4544! Description:
    4645! ------------
    47 ! Complete logging of data
     46!> Complete logging of data
    4847!------------------------------------------------------------------------------!
     48 SUBROUTINE data_log( array, i1, i2, j1, j2, k1, k2 )
     49 
    4950#if defined( __logging )
    5051
     
    5859    IMPLICIT NONE
    5960
    60     INTEGER(iwp) ::  i1  !:
    61     INTEGER(iwp) ::  i2  !:
    62     INTEGER(iwp) ::  j1  !:
    63     INTEGER(iwp) ::  j2  !:
    64     INTEGER(iwp) ::  k1  !:
    65     INTEGER(iwp) ::  k2  !:
     61    INTEGER(iwp) ::  i1  !<
     62    INTEGER(iwp) ::  i2  !<
     63    INTEGER(iwp) ::  j1  !<
     64    INTEGER(iwp) ::  j2  !<
     65    INTEGER(iwp) ::  k1  !<
     66    INTEGER(iwp) ::  k2  !<
    6667
    67     REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2) ::  array  !:
     68    REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2) ::  array  !<
    6869
    6970
     
    8990
    9091
    91  SUBROUTINE data_log_2d( array, i1, i2, j1, j2)
    92 
    9392!------------------------------------------------------------------------------!
    9493! Description:
    9594! ------------
    96 ! Same as above, for 2d arrays
     95!> Complete logging of data for 2d arrays
    9796!------------------------------------------------------------------------------!
     97 
     98 SUBROUTINE data_log_2d( array, i1, i2, j1, j2)
     99
    98100#if defined( __logging )
    99101
     
    107109    IMPLICIT NONE
    108110
    109     INTEGER(iwp) ::  i1  !:
    110     INTEGER(iwp) ::  i2  !:
    111     INTEGER(iwp) ::  j1  !:
    112     INTEGER(iwp) ::  j2  !:
     111    INTEGER(iwp) ::  i1  !<
     112    INTEGER(iwp) ::  i2  !<
     113    INTEGER(iwp) ::  j1  !<
     114    INTEGER(iwp) ::  j2  !<
    113115
    114     REAL(wp), DIMENSION(i1:i2,j1:j2) ::  array  !:
     116    REAL(wp), DIMENSION(i1:i2,j1:j2) ::  array  !<
    115117
    116118
     
    136138
    137139
    138  SUBROUTINE data_log_2d_int( array, i1, i2, j1, j2)
    139 
    140140!------------------------------------------------------------------------------!
    141141! Description:
    142142! ------------
    143 ! Same as above, for 2d integer arrays
     143!> Complete logging of data for 2d integer arrays
    144144!------------------------------------------------------------------------------!
     145 
     146 SUBROUTINE data_log_2d_int( array, i1, i2, j1, j2)
     147
    145148#if defined( __logging )
    146149
     
    154157    IMPLICIT NONE
    155158
    156     INTEGER(iwp) ::  i1  !:
    157     INTEGER(iwp) ::  i2  !:
    158     INTEGER(iwp) ::  j1  !:
    159     INTEGER(iwp) ::  j2  !:
     159    INTEGER(iwp) ::  i1  !<
     160    INTEGER(iwp) ::  i2  !<
     161    INTEGER(iwp) ::  j1  !<
     162    INTEGER(iwp) ::  j2  !<
    160163
    161     INTEGER(iwp), DIMENSION(i1:i2,j1:j2) ::  array  !:
     164    INTEGER(iwp), DIMENSION(i1:i2,j1:j2) ::  array  !<
    162165
    163166
  • palm/trunk/SOURCE/data_output_2d.f90

    r1586 r1682  
    1  SUBROUTINE data_output_2d( mode, av )
    2 
     1!> @file data_output_2d.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    101100! Description:
    102101! ------------
    103 ! Data output of horizontal cross-sections in netCDF format or binary format
    104 ! compatible to old graphic software iso2d.
    105 ! Attention: The position of the sectional planes is still not always computed
    106 ! ---------  correctly. (zu is used always)!
     102!> Data output of horizontal cross-sections in netCDF format or binary format
     103!> compatible to old graphic software iso2d.
     104!> Attention: The position of the sectional planes is still not always computed
     105!> ---------  correctly. (zu is used always)!
    107106!------------------------------------------------------------------------------!
     107 SUBROUTINE data_output_2d( mode, av )
     108 
    108109
    109110    USE arrays_3d,                                                             &
     
    163164    IMPLICIT NONE
    164165
    165     CHARACTER (LEN=2)  ::  do2d_mode    !:
    166     CHARACTER (LEN=2)  ::  mode         !:
    167     CHARACTER (LEN=4)  ::  grid         !:
    168     CHARACTER (LEN=25) ::  section_chr  !:
    169     CHARACTER (LEN=50) ::  rtext        !:
     166    CHARACTER (LEN=2)  ::  do2d_mode    !<
     167    CHARACTER (LEN=2)  ::  mode         !<
     168    CHARACTER (LEN=4)  ::  grid         !<
     169    CHARACTER (LEN=25) ::  section_chr  !<
     170    CHARACTER (LEN=50) ::  rtext        !<
    170171   
    171     INTEGER(iwp) ::  av        !:
    172     INTEGER(iwp) ::  ngp       !:
    173     INTEGER(iwp) ::  file_id   !:
    174     INTEGER(iwp) ::  i         !:
    175     INTEGER(iwp) ::  if        !:
    176     INTEGER(iwp) ::  is        !:
    177     INTEGER(iwp) ::  iis       !:
    178     INTEGER(iwp) ::  j         !:
    179     INTEGER(iwp) ::  k         !:
    180     INTEGER(iwp) ::  l         !:
    181     INTEGER(iwp) ::  layer_xy  !:
    182     INTEGER(iwp) ::  n         !:
    183     INTEGER(iwp) ::  ns        !:
    184     INTEGER(iwp) ::  nzb_do    !: lower limit of the data field (usually nzb)
    185     INTEGER(iwp) ::  nzt_do    !: upper limit of the data field (usually nzt+1)
    186     INTEGER(iwp) ::  psi       !:
    187     INTEGER(iwp) ::  s         !:
    188     INTEGER(iwp) ::  sender    !:
    189     INTEGER(iwp) ::  ind(4)    !:
     172    INTEGER(iwp) ::  av        !<
     173    INTEGER(iwp) ::  ngp       !<
     174    INTEGER(iwp) ::  file_id   !<
     175    INTEGER(iwp) ::  i         !<
     176    INTEGER(iwp) ::  if        !<
     177    INTEGER(iwp) ::  is        !<
     178    INTEGER(iwp) ::  iis       !<
     179    INTEGER(iwp) ::  j         !<
     180    INTEGER(iwp) ::  k         !<
     181    INTEGER(iwp) ::  l         !<
     182    INTEGER(iwp) ::  layer_xy  !<
     183    INTEGER(iwp) ::  n         !<
     184    INTEGER(iwp) ::  ns        !<
     185    INTEGER(iwp) ::  nzb_do    !< lower limit of the data field (usually nzb)
     186    INTEGER(iwp) ::  nzt_do    !< upper limit of the data field (usually nzt+1)
     187    INTEGER(iwp) ::  psi       !<
     188    INTEGER(iwp) ::  s         !<
     189    INTEGER(iwp) ::  sender    !<
     190    INTEGER(iwp) ::  ind(4)    !<
    190191   
    191     LOGICAL ::  found          !:
    192     LOGICAL ::  resorted       !:
    193     LOGICAL ::  two_d          !:
     192    LOGICAL ::  found          !<
     193    LOGICAL ::  resorted       !<
     194    LOGICAL ::  two_d          !<
    194195   
    195     REAL(wp) ::  mean_r        !:
    196     REAL(wp) ::  s_r2          !:
    197     REAL(wp) ::  s_r3          !:
     196    REAL(wp) ::  mean_r        !<
     197    REAL(wp) ::  s_r2          !<
     198    REAL(wp) ::  s_r3          !<
    198199   
    199     REAL(wp), DIMENSION(:), ALLOCATABLE     ::  level_z             !:
    200     REAL(wp), DIMENSION(:,:), ALLOCATABLE   ::  local_2d            !:
    201     REAL(wp), DIMENSION(:,:), ALLOCATABLE   ::  local_2d_l          !:
    202     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  local_pf            !:
    203     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  local_2d_sections   !:
    204     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  local_2d_sections_l !:
     200    REAL(wp), DIMENSION(:), ALLOCATABLE     ::  level_z             !<
     201    REAL(wp), DIMENSION(:,:), ALLOCATABLE   ::  local_2d            !<
     202    REAL(wp), DIMENSION(:,:), ALLOCATABLE   ::  local_2d_l          !<
     203    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  local_pf            !<
     204    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  local_2d_sections   !<
     205    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  local_2d_sections_l !<
    205206
    206207#if defined( __parallel )
    207     REAL(wp), DIMENSION(:,:),   ALLOCATABLE ::  total_2d    !:
    208 #endif
    209     REAL(wp), DIMENSION(:,:,:), POINTER ::  to_be_resorted  !:
     208    REAL(wp), DIMENSION(:,:),   ALLOCATABLE ::  total_2d    !<
     209#endif
     210    REAL(wp), DIMENSION(:,:,:), POINTER ::  to_be_resorted  !<
    210211
    211212    NAMELIST /LOCAL/  rtext
  • palm/trunk/SOURCE/data_output_3d.f90

    r1586 r1682  
    1  SUBROUTINE data_output_3d( av )
    2 
     1!> @file data_output_3d.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! ------------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    9392! Description:
    9493! ------------
    95 ! Output of the 3D-arrays in netCDF and/or AVS format.
     94!> Output of the 3D-arrays in netCDF and/or AVS format.
    9695!------------------------------------------------------------------------------!
     96 SUBROUTINE data_output_3d( av )
     97 
    9798
    9899    USE arrays_3d,                                                             &
     
    139140    IMPLICIT NONE
    140141
    141     CHARACTER (LEN=9) ::  simulated_time_mod  !:
    142 
    143     INTEGER(iwp) ::  av        !:
    144     INTEGER(iwp) ::  i         !:
    145     INTEGER(iwp) ::  if        !:
    146     INTEGER(iwp) ::  j         !:
    147     INTEGER(iwp) ::  k         !:
    148     INTEGER(iwp) ::  n         !:
    149     INTEGER(iwp) ::  nzb_do    !: vertical lower limit for data output
    150     INTEGER(iwp) ::  nzt_do    !: vertical upper limit for data output
    151     INTEGER(iwp) ::  pos       !:
    152     INTEGER(iwp) ::  prec      !:
    153     INTEGER(iwp) ::  psi       !:
    154 
    155     LOGICAL      ::  found     !:
    156     LOGICAL      ::  resorted  !:
    157 
    158     REAL(wp)     ::  mean_r    !:
    159     REAL(wp)     ::  s_r2      !:
    160     REAL(wp)     ::  s_r3      !:
    161 
    162     REAL(sp), DIMENSION(:,:,:), ALLOCATABLE ::  local_pf  !:
    163 
    164     REAL(wp), DIMENSION(:,:,:), POINTER ::  to_be_resorted  !:
     142    CHARACTER (LEN=9) ::  simulated_time_mod  !<
     143
     144    INTEGER(iwp) ::  av        !<
     145    INTEGER(iwp) ::  i         !<
     146    INTEGER(iwp) ::  if        !<
     147    INTEGER(iwp) ::  j         !<
     148    INTEGER(iwp) ::  k         !<
     149    INTEGER(iwp) ::  n         !<
     150    INTEGER(iwp) ::  nzb_do    !< vertical lower limit for data output
     151    INTEGER(iwp) ::  nzt_do    !< vertical upper limit for data output
     152    INTEGER(iwp) ::  pos       !<
     153    INTEGER(iwp) ::  prec      !<
     154    INTEGER(iwp) ::  psi       !<
     155
     156    LOGICAL      ::  found     !<
     157    LOGICAL      ::  resorted  !<
     158
     159    REAL(wp)     ::  mean_r    !<
     160    REAL(wp)     ::  s_r2      !<
     161    REAL(wp)     ::  s_r3      !<
     162
     163    REAL(sp), DIMENSION(:,:,:), ALLOCATABLE ::  local_pf  !<
     164
     165    REAL(wp), DIMENSION(:,:,:), POINTER ::  to_be_resorted  !<
    165166
    166167!
  • palm/trunk/SOURCE/data_output_dvrp.f90

    r1354 r1682  
    1  MODULE dvrp_color
    2 
     1!> @file data_output_dvrp.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5655! Description:
    5756! ------------
    58 ! Plot of isosurface, particles and slicers with dvrp-software
     57!> Plot of isosurface, particles and slicers with dvrp-software
    5958!------------------------------------------------------------------------------!
     59 MODULE dvrp_color
     60 
    6061
    6162    USE dvrp_variables
     
    6768 CONTAINS
    6869
     70!------------------------------------------------------------------------------!
     71! Description:
     72! ------------
     73!> @todo Missing subroutine description.
     74!------------------------------------------------------------------------------!
    6975    SUBROUTINE color_dvrp( value, color )
    7076
    71        REAL(wp), INTENT(IN)  ::  value    !:
    72        REAL(wp), INTENT(OUT) ::  color(4) !:
    73 
    74        REAL(wp)              ::  scale    !:
     77       REAL(wp), INTENT(IN)  ::  value    !<
     78       REAL(wp), INTENT(OUT) ::  color(4) !<
     79
     80       REAL(wp)              ::  scale    !<
    7581
    7682       scale = ( value - slicer_range_limits_dvrp(1,islice_dvrp) ) /           &
     
    132138    IMPLICIT NONE
    133139
    134     CHARACTER (LEN=2) ::  section_chr      !:
    135     CHARACTER (LEN=6) ::  output_variable  !:
     140    CHARACTER (LEN=2) ::  section_chr      !<
     141    CHARACTER (LEN=6) ::  output_variable  !<
    136142   
    137     INTEGER(iwp) ::  c_mode           !: 
    138     INTEGER(iwp) ::  c_size_x         !:
    139     INTEGER(iwp) ::  c_size_y         !:
    140     INTEGER(iwp) ::  c_size_z         !:
    141     INTEGER(iwp) ::  dvrp_nop         !:
    142     INTEGER(iwp) ::  dvrp_not         !:
    143     INTEGER(iwp) ::  gradient_normals !:
    144     INTEGER(iwp) ::  i                !:
    145     INTEGER(iwp) ::  ip               !:
    146     INTEGER(iwp) ::  j                !:
    147     INTEGER(iwp) ::  jp               !:
    148     INTEGER(iwp) ::  k                !:
    149     INTEGER(iwp) ::  l                !:
    150     INTEGER(iwp) ::  m                !:
    151     INTEGER(iwp) ::  n                !:
    152     INTEGER(iwp) ::  n_isosurface     !:
    153     INTEGER(iwp) ::  n_slicer         !:
    154     INTEGER(iwp) ::  nn               !:
    155     INTEGER(iwp) ::  section_mode     !:
    156     INTEGER(iwp) ::  vn               !:
    157     INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  p_c  !:
    158     INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  p_t  !:
    159 
    160     LOGICAL, DIMENSION(:), ALLOCATABLE ::  dvrp_mask  !:
    161 
    162     REAL(sp) ::  slicer_position  !:
    163     REAL(sp) ::  tmp_alpha        !:
    164     REAL(sp) ::  tmp_alpha_w      !:
    165     REAL(sp) ::  tmp_b            !:
    166     REAL(sp) ::  tmp_c_alpha      !:
    167     REAL(sp) ::  tmp_g            !:
    168     REAL(sp) ::  tmp_norm         !:
    169     REAL(sp) ::  tmp_pos          !:
    170     REAL(sp) ::  tmp_r            !:
    171     REAL(sp) ::  tmp_t            !:
    172     REAL(sp) ::  tmp_th           !:
    173     REAL(sp), DIMENSION(:),     ALLOCATABLE   ::  psize  !:
    174     REAL(sp), DIMENSION(:),     ALLOCATABLE   ::  p_x    !:
    175     REAL(sp), DIMENSION(:),     ALLOCATABLE   ::  p_y    !:
    176     REAL(sp), DIMENSION(:),     ALLOCATABLE   ::  p_z    !:
    177     REAL(sp), DIMENSION(:,:,:), ALLOCATABLE   ::  local_pf  !:
    178     REAL(sp), DIMENSION(:,:,:,:), ALLOCATABLE ::  local_pfi !:
     143    INTEGER(iwp) ::  c_mode           !< 
     144    INTEGER(iwp) ::  c_size_x         !<
     145    INTEGER(iwp) ::  c_size_y         !<
     146    INTEGER(iwp) ::  c_size_z         !<
     147    INTEGER(iwp) ::  dvrp_nop         !<
     148    INTEGER(iwp) ::  dvrp_not         !<
     149    INTEGER(iwp) ::  gradient_normals !<
     150    INTEGER(iwp) ::  i                !<
     151    INTEGER(iwp) ::  ip               !<
     152    INTEGER(iwp) ::  j                !<
     153    INTEGER(iwp) ::  jp               !<
     154    INTEGER(iwp) ::  k                !<
     155    INTEGER(iwp) ::  l                !<
     156    INTEGER(iwp) ::  m                !<
     157    INTEGER(iwp) ::  n                !<
     158    INTEGER(iwp) ::  n_isosurface     !<
     159    INTEGER(iwp) ::  n_slicer         !<
     160    INTEGER(iwp) ::  nn               !<
     161    INTEGER(iwp) ::  section_mode     !<
     162    INTEGER(iwp) ::  vn               !<
     163    INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  p_c  !<
     164    INTEGER(iwp), DIMENSION(:), ALLOCATABLE ::  p_t  !<
     165
     166    LOGICAL, DIMENSION(:), ALLOCATABLE ::  dvrp_mask  !<
     167
     168    REAL(sp) ::  slicer_position  !<
     169    REAL(sp) ::  tmp_alpha        !<
     170    REAL(sp) ::  tmp_alpha_w      !<
     171    REAL(sp) ::  tmp_b            !<
     172    REAL(sp) ::  tmp_c_alpha      !<
     173    REAL(sp) ::  tmp_g            !<
     174    REAL(sp) ::  tmp_norm         !<
     175    REAL(sp) ::  tmp_pos          !<
     176    REAL(sp) ::  tmp_r            !<
     177    REAL(sp) ::  tmp_t            !<
     178    REAL(sp) ::  tmp_th           !<
     179    REAL(sp), DIMENSION(:),     ALLOCATABLE   ::  psize  !<
     180    REAL(sp), DIMENSION(:),     ALLOCATABLE   ::  p_x    !<
     181    REAL(sp), DIMENSION(:),     ALLOCATABLE   ::  p_y    !<
     182    REAL(sp), DIMENSION(:),     ALLOCATABLE   ::  p_z    !<
     183    REAL(sp), DIMENSION(:,:,:), ALLOCATABLE   ::  local_pf  !<
     184    REAL(sp), DIMENSION(:,:,:,:), ALLOCATABLE ::  local_pfi !<
    179185
    180186
  • palm/trunk/SOURCE/data_output_mask.f90

    r1586 r1682  
    1  SUBROUTINE data_output_mask( av )
    2 
     1!> @file data_output_mask.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    7170! Description:
    7271! ------------
    73 ! Masked data output in netCDF format for current mask (current value of mid).
     72!> Masked data output in netCDF format for current mask (current value of mid).
    7473!------------------------------------------------------------------------------!
     74 SUBROUTINE data_output_mask( av )
     75
     76 
    7577
    7678#if defined( __netcdf )
     
    118120    IMPLICIT NONE
    119121
    120     INTEGER(iwp) ::  av       !:
    121     INTEGER(iwp) ::  ngp      !:
    122     INTEGER(iwp) ::  i        !:
    123     INTEGER(iwp) ::  if       !:
    124     INTEGER(iwp) ::  j        !:
    125     INTEGER(iwp) ::  k        !:
    126     INTEGER(iwp) ::  n        !:
    127     INTEGER(iwp) ::  psi      !:
    128     INTEGER(iwp) ::  sender   !:
    129     INTEGER(iwp) ::  ind(6)   !:
    130    
    131     LOGICAL ::  found         !:
    132     LOGICAL ::  resorted      !:
    133    
    134     REAL(wp) ::  mean_r       !:
    135     REAL(wp) ::  s_r2         !:
    136     REAL(wp) ::  s_r3         !:
    137    
    138     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  local_pf    !:
     122    INTEGER(iwp) ::  av       !<
     123    INTEGER(iwp) ::  ngp      !<
     124    INTEGER(iwp) ::  i        !<
     125    INTEGER(iwp) ::  if       !<
     126    INTEGER(iwp) ::  j        !<
     127    INTEGER(iwp) ::  k        !<
     128    INTEGER(iwp) ::  n        !<
     129    INTEGER(iwp) ::  psi      !<
     130    INTEGER(iwp) ::  sender   !<
     131    INTEGER(iwp) ::  ind(6)   !<
     132   
     133    LOGICAL ::  found         !<
     134    LOGICAL ::  resorted      !<
     135   
     136    REAL(wp) ::  mean_r       !<
     137    REAL(wp) ::  s_r2         !<
     138    REAL(wp) ::  s_r3         !<
     139   
     140    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  local_pf    !<
    139141#if defined( __parallel )
    140     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  total_pf    !:
     142    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  total_pf    !<
    141143#endif
    142     REAL(wp), DIMENSION(:,:,:), POINTER ::  to_be_resorted  !:
     144    REAL(wp), DIMENSION(:,:,:), POINTER ::  to_be_resorted  !<
    143145
    144146!
  • palm/trunk/SOURCE/data_output_profiles.f90

    r1354 r1682  
    1  SUBROUTINE data_output_profiles
    2 
     1!> @file data_output_profiles.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    6665! Description:
    6766! ------------
    68 ! Plot output of 1D-profiles for PROFIL
     67!> Plot output of 1D-profiles for PROFIL
    6968!------------------------------------------------------------------------------!
     69 SUBROUTINE data_output_profiles
     70 
    7071
    7172    USE control_parameters,                                                    &
     
    9495
    9596
    96     INTEGER(iwp) ::  i  !:
    97     INTEGER(iwp) ::  sr !:
     97    INTEGER(iwp) ::  i  !<
     98    INTEGER(iwp) ::  sr !<
    9899
    99100!
  • palm/trunk/SOURCE/data_output_ptseries.f90

    r1360 r1682  
    1  SUBROUTINE data_output_ptseries
    2 
     1!> @file data_output_ptseries.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    6059! Description:
    6160! ------------
    62 ! Output of particle data timeseries in NetCDF format.
     61!> Output of particle data timeseries in NetCDF format.
    6362!------------------------------------------------------------------------------!
     63 SUBROUTINE data_output_ptseries
     64 
    6465
    6566    USE cloud_parameters,                                                      &
     
    8889
    8990
    90     INTEGER(iwp) ::  i    !:
    91     INTEGER(iwp) ::  inum !:
    92     INTEGER(iwp) ::  j    !:
    93     INTEGER(iwp) ::  jg   !:
    94     INTEGER(iwp) ::  k    !:
    95     INTEGER(iwp) ::  n    !:
    96 
    97     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  pts_value   !:
    98     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  pts_value_l !:
     91    INTEGER(iwp) ::  i    !<
     92    INTEGER(iwp) ::  inum !<
     93    INTEGER(iwp) ::  j    !<
     94    INTEGER(iwp) ::  jg   !<
     95    INTEGER(iwp) ::  k    !<
     96    INTEGER(iwp) ::  n    !<
     97
     98    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  pts_value   !<
     99    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  pts_value_l !<
    99100
    100101
  • palm/trunk/SOURCE/data_output_spectra.f90

    r1354 r1682  
    1  SUBROUTINE data_output_spectra
    2 
     1!> @file data_output_spectra.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! ------------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    6261! Description:
    6362! ------------
    64 ! Writing spectra data on file, using a special format which allows
    65 ! plotting of these data with PROFIL-graphic-software
     63!> Writing spectra data on file, using a special format which allows
     64!> plotting of these data with PROFIL-graphic-software
    6665!------------------------------------------------------------------------------!
     66 SUBROUTINE data_output_spectra
     67 
    6768#if defined( __spectra )
    6869
     
    9091    IMPLICIT NONE
    9192
    92     INTEGER(iwp) ::  cranz_x !:
    93     INTEGER(iwp) ::  cranz_y !:
    94     INTEGER(iwp) ::  m       !:
    95     INTEGER(iwp) ::  pr      !:
    96    
    97     LOGICAL      ::  frame_x !:
    98     LOGICAL      ::  frame_y !:
     93    INTEGER(iwp) ::  cranz_x !<
     94    INTEGER(iwp) ::  cranz_y !<
     95    INTEGER(iwp) ::  m       !<
     96    INTEGER(iwp) ::  pr      !<
     97   
     98    LOGICAL      ::  frame_x !<
     99    LOGICAL      ::  frame_y !<
    99100
    100101    CALL cpu_log( log_point(31), 'data_output_spectra', 'start' )
     
    200201
    201202
     203!------------------------------------------------------------------------------!
     204! Description:
     205! ------------
     206!> @todo Missing subroutine description.
     207!------------------------------------------------------------------------------!
    202208 SUBROUTINE output_spectra_netcdf( nsp, direction )
    203209#if defined( __netcdf )
     
    227233    IMPLICIT NONE
    228234
    229     CHARACTER (LEN=1), INTENT(IN) ::  direction     !:
    230 
    231     INTEGER(iwp), INTENT(IN)      ::  nsp           !:
    232 
    233     INTEGER(iwp)                  ::  i             !:
    234     INTEGER(iwp)                  ::  k             !:
    235 
    236     REAL(wp)                      ::  frequency     !:
    237 
    238     REAL(wp), DIMENSION(nx/2)     ::  netcdf_data_x !:
    239     REAL(wp), DIMENSION(ny/2)     ::  netcdf_data_y !:
     235    CHARACTER (LEN=1), INTENT(IN) ::  direction     !<
     236
     237    INTEGER(iwp), INTENT(IN)      ::  nsp           !<
     238
     239    INTEGER(iwp)                  ::  i             !<
     240    INTEGER(iwp)                  ::  k             !<
     241
     242    REAL(wp)                      ::  frequency     !<
     243
     244    REAL(wp), DIMENSION(nx/2)     ::  netcdf_data_x !<
     245    REAL(wp), DIMENSION(ny/2)     ::  netcdf_data_y !<
    240246
    241247
     
    281287
    282288#if defined( __spectra )
     289!------------------------------------------------------------------------------!
     290! Description:
     291! ------------
     292!> @todo Missing subroutine description.
     293!------------------------------------------------------------------------------!
    283294 SUBROUTINE data_output_spectra_x( m, cranz, pr, frame_written )
    284295
     
    310321    IMPLICIT NONE
    311322
    312     CHARACTER (LEN=30) ::  atext !:
    313    
    314     INTEGER(iwp)       ::  i     !:
    315     INTEGER(iwp)       ::  j     !:
    316     INTEGER(iwp)       ::  k     !:
    317     INTEGER(iwp)       ::  m     !:
    318     INTEGER(iwp)       ::  pr    !:
    319    
    320     LOGICAL            ::  frame_written   !:
    321    
    322     REAL(wp)           ::  frequency = 0.0_wp !:
     323    CHARACTER (LEN=30) ::  atext !<
     324   
     325    INTEGER(iwp)       ::  i     !<
     326    INTEGER(iwp)       ::  j     !<
     327    INTEGER(iwp)       ::  k     !<
     328    INTEGER(iwp)       ::  m     !<
     329    INTEGER(iwp)       ::  pr    !<
     330   
     331    LOGICAL            ::  frame_written   !<
     332   
     333    REAL(wp)           ::  frequency = 0.0_wp !<
    323334!
    324335!-- Variables needed for PROFIL-namelist
    325     CHARACTER (LEN=80) ::  rtext                !:
    326     CHARACTER (LEN=80) ::  utext                !:
    327     CHARACTER (LEN=80) ::  xtext = 'k in m>->1' !:
    328     CHARACTER (LEN=80) ::  ytext                !:
    329 
    330     INTEGER(iwp)       ::  cranz       !:
    331     INTEGER(iwp)       ::  labforx = 3 !:
    332     INTEGER(iwp)       ::  labfory = 3 !:
    333     INTEGER(iwp)       ::  legpos  = 3 !:
    334     INTEGER(iwp)       ::  timodex = 1 !:
    335    
    336     INTEGER(iwp), DIMENSION(1:100) ::  cucol  = 1      !:
    337     INTEGER(iwp), DIMENSION(1:100) ::  klist  = 999999 !:
    338     INTEGER(iwp), DIMENSION(1:100) ::  lstyle = 0      !:
    339    
    340     LOGICAL ::  datleg = .TRUE. !:
    341     LOGICAL ::  grid = .TRUE.   !:
    342     LOGICAL ::  lclose = .TRUE. !:
    343     LOGICAL ::  rand = .TRUE.   !:
    344     LOGICAL ::  swap = .TRUE.   !:
    345     LOGICAL ::  twoxa = .TRUE.  !:
    346     LOGICAL ::  xlog = .TRUE.   !:
    347     LOGICAL ::  ylog = .TRUE.   !:
    348    
    349     REAL(wp) ::  gwid = 0.1_wp    !:
    350     REAL(wp) ::  rlegfak = 0.7_wp !:
    351     REAL(wp) ::  uxmin            !:
    352     REAL(wp) ::  uxmax            !:
    353     REAL(wp) ::  uymin            !:
    354     REAL(wp) ::  uymax            !:
     336    CHARACTER (LEN=80) ::  rtext                !<
     337    CHARACTER (LEN=80) ::  utext                !<
     338    CHARACTER (LEN=80) ::  xtext = 'k in m>->1' !<
     339    CHARACTER (LEN=80) ::  ytext                !<
     340
     341    INTEGER(iwp)       ::  cranz       !<
     342    INTEGER(iwp)       ::  labforx = 3 !<
     343    INTEGER(iwp)       ::  labfory = 3 !<
     344    INTEGER(iwp)       ::  legpos  = 3 !<
     345    INTEGER(iwp)       ::  timodex = 1 !<
     346   
     347    INTEGER(iwp), DIMENSION(1:100) ::  cucol  = 1      !<
     348    INTEGER(iwp), DIMENSION(1:100) ::  klist  = 999999 !<
     349    INTEGER(iwp), DIMENSION(1:100) ::  lstyle = 0      !<
     350   
     351    LOGICAL ::  datleg = .TRUE. !<
     352    LOGICAL ::  grid = .TRUE.   !<
     353    LOGICAL ::  lclose = .TRUE. !<
     354    LOGICAL ::  rand = .TRUE.   !<
     355    LOGICAL ::  swap = .TRUE.   !<
     356    LOGICAL ::  twoxa = .TRUE.  !<
     357    LOGICAL ::  xlog = .TRUE.   !<
     358    LOGICAL ::  ylog = .TRUE.   !<
     359   
     360    REAL(wp) ::  gwid = 0.1_wp    !<
     361    REAL(wp) ::  rlegfak = 0.7_wp !<
     362    REAL(wp) ::  uxmin            !<
     363    REAL(wp) ::  uxmax            !<
     364    REAL(wp) ::  uymin            !<
     365    REAL(wp) ::  uymax            !<
    355366     
    356     REAL(wp), DIMENSION(1:100) ::  lwid = 0.6_wp !:
    357     REAL(wp), DIMENSION(100)   ::  uyma          !:
    358     REAL(wp), DIMENSION(100)   ::  uymi          !:
     367    REAL(wp), DIMENSION(1:100) ::  lwid = 0.6_wp !<
     368    REAL(wp), DIMENSION(100)   ::  uyma          !<
     369    REAL(wp), DIMENSION(100)   ::  uymi          !<
    359370
    360371    NAMELIST /RAHMEN/  cranz, datleg, rtext, swap
     
    482493
    483494
     495!------------------------------------------------------------------------------!
     496! Description:
     497! ------------
     498!> @todo Missing subroutine description.
     499!------------------------------------------------------------------------------!
    484500 SUBROUTINE data_output_spectra_y( m, cranz, pr, frame_written )
    485501
     
    513529
    514530   
    515     CHARACTER (LEN=30) ::  atext !:
    516    
    517     INTEGER(iwp)       ::  i     !:
    518     INTEGER(iwp)       ::  j     !:
    519     INTEGER(iwp)       ::  k     !:
    520     INTEGER(iwp)       ::  m     !:
    521     INTEGER(iwp)       ::  pr    !:
    522    
    523     LOGICAL            :: frame_written   !:
    524    
    525     REAL(wp)           :: frequency = 0.0_wp !:
     531    CHARACTER (LEN=30) ::  atext !<
     532   
     533    INTEGER(iwp)       ::  i     !<
     534    INTEGER(iwp)       ::  j     !<
     535    INTEGER(iwp)       ::  k     !<
     536    INTEGER(iwp)       ::  m     !<
     537    INTEGER(iwp)       ::  pr    !<
     538   
     539    LOGICAL            :: frame_written   !<
     540   
     541    REAL(wp)           :: frequency = 0.0_wp !<
    526542
    527543!
    528544!-- Variables needed for PROFIL-namelist
    529     CHARACTER (LEN=80) ::  rtext                !:
    530     CHARACTER (LEN=80) ::  utext                !:
    531     CHARACTER (LEN=80) ::  xtext = 'k in m>->1' !:
    532     CHARACTER (LEN=80) ::  ytext                !:
    533 
    534     INTEGER(iwp) ::  cranz       !:
    535     INTEGER(iwp) ::  labforx = 3 !:
    536     INTEGER(iwp) ::  labfory = 3 !:
    537     INTEGER(iwp) ::  legpos  = 3 !:
    538     INTEGER(iwp) ::  timodex = 1 !:
    539    
    540     INTEGER(iwp), DIMENSION(1:100) ::  cucol  = 1      !:
    541     INTEGER(iwp), DIMENSION(1:100) ::  klist  = 999999 !:
    542     INTEGER(iwp), DIMENSION(1:100) ::  lstyle = 0      !:
    543    
    544     LOGICAL ::  datleg = .TRUE. !:
    545     LOGICAL ::  grid = .TRUE.   !:
    546     LOGICAL ::  lclose = .TRUE. !:
    547     LOGICAL ::  rand = .TRUE.   !:
    548     LOGICAL ::  swap = .TRUE.   !:
    549     LOGICAL ::  twoxa = .TRUE.  !:
    550     LOGICAL ::  xlog = .TRUE.   !:
    551     LOGICAL ::  ylog = .TRUE.   !:
    552    
    553     REAL(wp) ::  gwid = 0.1_wp     !:
    554     REAL(wp) ::  rlegfak = 0.7_wp  !:
    555     REAL(wp) ::  uxmin             !:
    556     REAL(wp) ::  uxmax             !:
    557     REAL(wp) ::  uymin             !:
    558     REAL(wp) ::  uymax             !:
    559    
    560     REAL(wp), DIMENSION(1:100) ::  lwid = 0.6_wp !:
    561    
    562     REAL(wp), DIMENSION(100)   ::  uyma          !:
    563     REAL(wp), DIMENSION(100)   ::  uymi          !:
     545    CHARACTER (LEN=80) ::  rtext                !<
     546    CHARACTER (LEN=80) ::  utext                !<
     547    CHARACTER (LEN=80) ::  xtext = 'k in m>->1' !<
     548    CHARACTER (LEN=80) ::  ytext                !<
     549
     550    INTEGER(iwp) ::  cranz       !<
     551    INTEGER(iwp) ::  labforx = 3 !<
     552    INTEGER(iwp) ::  labfory = 3 !<
     553    INTEGER(iwp) ::  legpos  = 3 !<
     554    INTEGER(iwp) ::  timodex = 1 !<
     555   
     556    INTEGER(iwp), DIMENSION(1:100) ::  cucol  = 1      !<
     557    INTEGER(iwp), DIMENSION(1:100) ::  klist  = 999999 !<
     558    INTEGER(iwp), DIMENSION(1:100) ::  lstyle = 0      !<
     559   
     560    LOGICAL ::  datleg = .TRUE. !<
     561    LOGICAL ::  grid = .TRUE.   !<
     562    LOGICAL ::  lclose = .TRUE. !<
     563    LOGICAL ::  rand = .TRUE.   !<
     564    LOGICAL ::  swap = .TRUE.   !<
     565    LOGICAL ::  twoxa = .TRUE.  !<
     566    LOGICAL ::  xlog = .TRUE.   !<
     567    LOGICAL ::  ylog = .TRUE.   !<
     568   
     569    REAL(wp) ::  gwid = 0.1_wp     !<
     570    REAL(wp) ::  rlegfak = 0.7_wp  !<
     571    REAL(wp) ::  uxmin             !<
     572    REAL(wp) ::  uxmax             !<
     573    REAL(wp) ::  uymin             !<
     574    REAL(wp) ::  uymax             !<
     575   
     576    REAL(wp), DIMENSION(1:100) ::  lwid = 0.6_wp !<
     577   
     578    REAL(wp), DIMENSION(100)   ::  uyma          !<
     579    REAL(wp), DIMENSION(100)   ::  uymi          !<
    564580
    565581    NAMELIST /RAHMEN/  cranz, datleg, rtext, swap
  • palm/trunk/SOURCE/data_output_tseries.f90

    r1525 r1682  
    1  SUBROUTINE data_output_tseries
    2 
     1!> @file data_output_tseries.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    5655! Description:
    5756! ------------
    58 ! Time series output for PROFIL. Always all time series are stored. A selection
    59 ! can be applied via the PROFIL-parameters in close_file.
     57!> Time series output for PROFIL. Always all time series are stored. A selection
     58!> can be applied via the PROFIL-parameters in close_file.
    6059!------------------------------------------------------------------------------!
     60 SUBROUTINE data_output_tseries
     61 
    6162
    6263    USE control_parameters,                                                    &
     
    8081
    8182
    82     INTEGER(iwp) ::  i  !:
    83     INTEGER(iwp) ::  sr !:
     83    INTEGER(iwp) ::  i  !<
     84    INTEGER(iwp) ::  sr !<
    8485
    8586
  • palm/trunk/SOURCE/diffusion_e.f90

    r1375 r1682  
    1  MODULE diffusion_e_mod
    2 
     1!> @file diffusion_e.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! -----------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    8281! Description:
    8382! ------------
    84 ! Diffusion- and dissipation terms for the TKE
     83!> Diffusion- and dissipation terms for the TKE
    8584!------------------------------------------------------------------------------!
     85 MODULE diffusion_e_mod
     86 
    8687
    8788    PRIVATE
     
    102103
    103104!------------------------------------------------------------------------------!
    104 ! Call for all grid points
     105! Description:
     106! ------------
     107!> Call for all grid points
    105108!------------------------------------------------------------------------------!
    106109    SUBROUTINE diffusion_e( var, var_reference )
     
    127130       IMPLICIT NONE
    128131
    129        INTEGER(iwp) ::  i              !:
    130        INTEGER(iwp) ::  j              !:
    131        INTEGER(iwp) ::  k              !:
    132        REAL(wp)     ::  dvar_dz        !:
    133        REAL(wp)     ::  l_stable       !:
    134        REAL(wp)     ::  var_reference  !:
     132       INTEGER(iwp) ::  i              !<
     133       INTEGER(iwp) ::  j              !<
     134       INTEGER(iwp) ::  k              !<
     135       REAL(wp)     ::  dvar_dz        !<
     136       REAL(wp)     ::  l_stable       !<
     137       REAL(wp)     ::  var_reference  !<
    135138
    136139#if defined( __nopointer )
    137        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !:
     140       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !<
    138141#else
    139        REAL(wp), DIMENSION(:,:,:), POINTER ::  var  !:
     142       REAL(wp), DIMENSION(:,:,:), POINTER ::  var  !<
    140143#endif
    141        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  dissipation  !:
    142        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  l            !:
    143        REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  ll           !:
     144       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  dissipation  !<
     145       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  l            !<
     146       REAL(wp), DIMENSION(nzb+1:nzt,nys:nyn) ::  ll           !<
    144147 
    145148
     
    307310
    308311!------------------------------------------------------------------------------!
    309 ! Call for all grid points - accelerator version
     312! Description:
     313! ------------
     314!> Call for all grid points - accelerator version
    310315!------------------------------------------------------------------------------!
    311316    SUBROUTINE diffusion_e_acc( var, var_reference )
     
    332337       IMPLICIT NONE
    333338
    334        INTEGER(iwp) ::  i              !:
    335        INTEGER(iwp) ::  j              !:
    336        INTEGER(iwp) ::  k              !:
    337        REAL(wp)     ::  dissipation    !:
    338        REAL(wp)     ::  dvar_dz        !:
    339        REAL(wp)     ::  l              !:
    340        REAL(wp)     ::  ll             !:
    341        REAL(wp)     ::  l_stable       !:
    342        REAL(wp)     ::  var_reference  !:
     339       INTEGER(iwp) ::  i              !<
     340       INTEGER(iwp) ::  j              !<
     341       INTEGER(iwp) ::  k              !<
     342       REAL(wp)     ::  dissipation    !<
     343       REAL(wp)     ::  dvar_dz        !<
     344       REAL(wp)     ::  l              !<
     345       REAL(wp)     ::  ll             !<
     346       REAL(wp)     ::  l_stable       !<
     347       REAL(wp)     ::  var_reference  !<
    343348
    344349#if defined( __nopointer )
    345        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !:
     350       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !<
    346351#else
    347        REAL(wp), DIMENSION(:,:,:), POINTER ::  var  !:
     352       REAL(wp), DIMENSION(:,:,:), POINTER ::  var  !<
    348353#endif
    349354
     
    504509
    505510!------------------------------------------------------------------------------!
    506 ! Call for grid point i,j
     511! Description:
     512! ------------
     513!> Call for grid point i,j
    507514!------------------------------------------------------------------------------!
    508515    SUBROUTINE diffusion_e_ij( i, j, var, var_reference )
     
    528535       IMPLICIT NONE
    529536
    530        INTEGER(iwp) ::  i              !:
    531        INTEGER(iwp) ::  j              !:
    532        INTEGER(iwp) ::  k              !:
    533        REAL(wp)     ::  dvar_dz        !:
    534        REAL(wp)     ::  l_stable       !:
    535        REAL(wp)     ::  var_reference  !:
     537       INTEGER(iwp) ::  i              !<
     538       INTEGER(iwp) ::  j              !<
     539       INTEGER(iwp) ::  k              !<
     540       REAL(wp)     ::  dvar_dz        !<
     541       REAL(wp)     ::  l_stable       !<
     542       REAL(wp)     ::  var_reference  !<
    536543
    537544#if defined( __nopointer )
    538        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !:
     545       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var  !<
    539546#else
    540        REAL(wp), DIMENSION(:,:,:), POINTER ::  var     !:
     547       REAL(wp), DIMENSION(:,:,:), POINTER ::  var     !<
    541548#endif
    542        REAL(wp), DIMENSION(nzb+1:nzt) ::  dissipation  !:
    543        REAL(wp), DIMENSION(nzb+1:nzt) ::  l            !:
    544        REAL(wp), DIMENSION(nzb+1:nzt) ::  ll           !:
     549       REAL(wp), DIMENSION(nzb+1:nzt) ::  dissipation  !<
     550       REAL(wp), DIMENSION(nzb+1:nzt) ::  l            !<
     551       REAL(wp), DIMENSION(nzb+1:nzt) ::  ll           !<
    545552
    546553
  • palm/trunk/SOURCE/diffusion_s.f90

    r1375 r1682  
    1  MODULE diffusion_s_mod
    2 
     1!> @file diffusion_s.f90
    32!--------------------------------------------------------------------------------!
    43! This file is part of PALM.
     
    2019! Current revisions:
    2120! ------------------
    22 !
     21! Code annotations made doxygen readable
    2322!
    2423! Former revisions:
     
    6867! Description:
    6968! ------------
    70 ! Diffusion term of scalar quantities (temperature and water content)
    71 !------------------------------------------------------------------------------!
     69!> Diffusion term of scalar quantities (temperature and water content)
     70!------------------------------------------------------------------------------!
     71 MODULE diffusion_s_mod
     72 
    7273
    7374    PRIVATE
     
    8788
    8889!------------------------------------------------------------------------------!
    89 ! Call for all grid points
     90! Description:
     91! ------------
     92!> Call for all grid points
    9093!------------------------------------------------------------------------------!
    9194    SUBROUTINE diffusion_s( s, s_flux_b, s_flux_t, wall_s_flux )
     
    108111       IMPLICIT NONE
    109112
    110        INTEGER(iwp) ::  i                 !:
    111        INTEGER(iwp) ::  j                 !:
    112        INTEGER(iwp) ::  k                 !:
    113        REAL(wp)     ::  wall_s_flux(0:4)  !:
    114        REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_b, s_flux_t !:
     113       INTEGER(iwp) ::  i                 !<
     114       INTEGER(iwp) ::  j                 !<
     115       INTEGER(iwp) ::  k                 !<
     116       REAL(wp)     ::  wall_s_flux(0:4)  !<
     117       REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_b, s_flux_t !<
    115118#if defined( __nopointer )
    116        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  s  !:
     119       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  s  !<
    117120#else
    118        REAL(wp), DIMENSION(:,:,:), POINTER ::  s  !:
     121       REAL(wp), DIMENSION(:,:,:), POINTER ::  s  !<
    119122#endif
    120123
     
    212215
    213216!------------------------------------------------------------------------------!
    214 ! Call for all grid points - accelerator version
     217! Description:
     218! ------------
     219!> Call for all grid points - accelerator version
    215220!------------------------------------------------------------------------------!
    216221    SUBROUTINE diffusion_s_acc( s, s_flux_b, s_flux_t, wall_s_flux )
     
    233238       IMPLICIT NONE
    234239
    235        INTEGER(iwp) ::  i                 !:
    236        INTEGER(iwp) ::  j                 !:
    237        INTEGER(iwp) ::  k                 !:
    238        REAL(wp)     ::  wall_s_flux(0:4)  !:
    239        REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_b !:
    240        REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_t !:
     240       INTEGER(iwp) ::  i                 !<
     241       INTEGER(iwp) ::  j                 !<
     242       INTEGER(iwp) ::  k                 !<
     243       REAL(wp)     ::  wall_s_flux(0:4)  !<
     244       REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_b !<
     245       REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_t !<
    241246#if defined( __nopointer )
    242        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  s  !:
     247       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  s  !<
    243248#else
    244        REAL(wp), DIMENSION(:,:,:), POINTER ::  s  !:
     249       REAL(wp), DIMENSION(:,:,:), POINTER ::  s  !<
    245250#endif
    246251
     
    340345
    341346!------------------------------------------------------------------------------!
    342 ! Call for grid point i,j
     347! Description:
     348! ------------
     349!> Call for grid point i,j
    343350!------------------------------------------------------------------------------!
    344351    SUBROUTINE diffusion_s_ij( i, j, s, s_flux_b, s_flux_t, wall_s_flux )
     
    361368       IMPLICIT NONE
    362369
    363        INTEGER(iwp) ::  i                 !:
    364        INTEGER(iwp) ::  j                 !:
    365        INTEGER(iwp) ::  k                 !:
    366        REAL(wp)     ::  wall_s_flux(0:4)  !:
    367        REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_b  !:
    368        REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_t  !:
     370       INTEGER(iwp) ::  i                 !<
     371       INTEGER(iwp) ::  j                 !<
     372       INTEGER(iwp) ::  k                 !<
     373       REAL(wp)     ::  wall_s_flux(0:4)  !<
     374       REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_b  !<
     375       REAL(wp), DIMENSION(nysg:nyng,nxlg:nxrg) ::  s_flux_t  !<
    369376#if defined( __nopointer )
    370        REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  s !:
     377       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  s !<
    371378#else
    372        REAL(wp), DIMENSION(:,:,:), POINTER ::  s  !: