Index: palm/trunk/SOURCE/subsidence.f90
===================================================================
--- palm/trunk/SOURCE/subsidence.f90	(revision 1310)
+++ palm/trunk/SOURCE/subsidence.f90	(revision 1320)
@@ -20,4 +20,11 @@
 ! Current revisions:
 ! -----------------
+! ONLY-attribute added to USE-statements,
+! kind-parameters added to all INTEGER and REAL declaration statements,
+! kinds are defined in new module kinds,
+! old module precision_kind is removed,
+! revision history before 2012 removed,
+! comment fields (!:) to be used for variable explanations added to
+! all variable declaration statements 
 !
 ! Former revisions:
@@ -27,15 +34,4 @@
 ! 1036 2012-10-22 13:43:42Z raasch
 ! code put under GPL (PALM 3.9)
-!
-! 671 2011-01-11 12:04:00Z heinze $
-! bugfix: access to ddzu(nzt+2) which is not defined
-!
-! 667 2010-12-23 12:06:00Z suehring
-! nxl-1, nxr+1, nys-1, nyn+1 replaced by nxlg, nxrg, nysg, nyng
-!
-! 580 2010-10-05 13:59:11Z heinze
-! Renaming of ws_vertical_gradient to subs_vertical_gradient,
-! ws_vertical_gradient_level to subs_vertical_gradient_level and
-! ws_vertical_gradient_level_ind to subs_vertical_gradient_level_i
 !
 ! Revision 3.7 2009-12-11 14:15:58Z heinze
@@ -68,15 +64,23 @@
     SUBROUTINE init_w_subsidence 
 
-       USE arrays_3d
-       USE control_parameters
-       USE grid_variables
-       USE indices
-       USE pegrid
-       USE statistics 
+       USE arrays_3d,                                                          &
+           ONLY:  dzu, w_subs, zu
+
+       USE control_parameters,                                                 &
+           ONLY:  message_string, ocean, subs_vertical_gradient,               &
+                  subs_vertical_gradient_level, subs_vertical_gradient_level_i
+
+       USE indices,                                                            &
+           ONLY:  nzb, nzt
+
+       USE kinds
 
        IMPLICIT NONE
 
-       INTEGER :: i, k
-       REAL    :: gradient, ws_surface
+       INTEGER(iwp) ::  i !: 
+       INTEGER(iwp) ::  k !: 
+
+       REAL(wp)     ::  gradient   !: 
+       REAL(wp)     ::  ws_surface !: 
 
        IF ( .NOT. ALLOCATED( w_subs )) THEN
@@ -132,19 +136,28 @@
     SUBROUTINE subsidence( tendency, var, var_init ) 
 
-       USE arrays_3d
-       USE control_parameters
-       USE grid_variables
-       USE indices
-       USE pegrid
-       USE statistics 
+       USE arrays_3d,                                                          &
+           ONLY:  ddzu, w_subs
+
+       USE control_parameters,                                                 &
+           ONLY:  dt_3d
+
+       USE indices,                                                            &
+           ONLY:  nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzb_s_inner,&
+                  nzt
+
+       USE kinds
 
        IMPLICIT NONE
  
-       INTEGER :: i, j, k
-
-       REAL :: tmp_grad
+       INTEGER(iwp) ::  i !: 
+       INTEGER(iwp) ::  j !: 
+       INTEGER(iwp) ::  k !: 
+
+       REAL(wp)     ::  tmp_grad !: 
     
-       REAL, DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) :: var, tendency
-       REAL, DIMENSION(nzb:nzt+1) :: var_init, var_mod
+       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var      !: 
+       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  tendency !: 
+       REAL(wp), DIMENSION(nzb:nzt+1) ::  var_init                     !: 
+       REAL(wp), DIMENSION(nzb:nzt+1) ::  var_mod                      !: 
 
        var_mod = var_init
@@ -208,19 +221,27 @@
  SUBROUTINE subsidence_ij( i, j, tendency, var, var_init ) 
 
-       USE arrays_3d
-       USE control_parameters
-       USE grid_variables
-       USE indices
-       USE pegrid
-       USE statistics 
+       USE arrays_3d,                                                          &
+           ONLY:  ddzu, w_subs
+
+       USE control_parameters,                                                 &
+           ONLY:  dt_3d
+
+       USE indices,                                                            &
+           ONLY:  nxl, nxlg, nxrg, nyng, nys, nysg, nzb_s_inner, nzb, nzt
+
+       USE kinds
 
        IMPLICIT NONE
  
-       INTEGER :: i, j, k
-
-       REAL :: tmp_grad
+       INTEGER(iwp) ::  i !: 
+       INTEGER(iwp) ::  j !: 
+       INTEGER(iwp) ::  k !: 
+
+       REAL(wp)     ::  tmp_grad !: 
     
-       REAL, DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) :: var, tendency
-       REAL, DIMENSION(nzb:nzt+1) :: var_init, var_mod
+       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  var      !: 
+       REAL(wp), DIMENSION(nzb:nzt+1,nysg:nyng,nxlg:nxrg) ::  tendency !: 
+       REAL(wp), DIMENSION(nzb:nzt+1) ::  var_init                     !: 
+       REAL(wp), DIMENSION(nzb:nzt+1) ::  var_mod                      !: 
 
        var_mod = var_init
