Index: palm/trunk/SOURCE/init_rankine.f90
===================================================================
--- palm/trunk/SOURCE/init_rankine.f90	(revision 4901)
+++ palm/trunk/SOURCE/init_rankine.f90	(revision 1)
@@ -1,37 +1,43 @@
-!> @file init_rankine.f90
-!--------------------------------------------------------------------------------------------------!
-! This file is part of the PALM model system.
-!
-! PALM is free software: you can redistribute it and/or modify it under the terms of the GNU General
-! Public License as published by the Free Software Foundation, either version 3 of the License, or
-! (at your option) any later version.
-!
-! PALM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
-! implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-! Public License for more details.
-!
-! You should have received a copy of the GNU General Public License along with PALM. If not, see
-! <http://www.gnu.org/licenses/>.
-!
-! Copyright 1997-2021 Leibniz Universitaet Hannover
-!--------------------------------------------------------------------------------------------------!
-!
-! Current revisions:
+ SUBROUTINE init_rankine
+
+!------------------------------------------------------------------------------!
+! Actual revisions:
 ! -----------------
-!
+! 
 !
 ! Former revisions:
 ! -----------------
-! $Id$
-! file re-formatted to follow the PALM coding standard
+! $Log: init_rankine.f90,v $
+! Revision 1.11  2005/03/26 20:38:49  raasch
+! Arguments for non-cyclic boundary conditions added to argument list of
+! routine exchange_horiz
 !
-! 4457 2020-03-11 14:20:43Z raasch
-! use statement for exchange horiz added
+! Revision 1.10  2004/01/28 15:11:27  raasch
+! Setting of bt before calling pres removed
 !
-! 4360 2020-01-07 11:25:50Z suehring
-! Corrected "Former revisions" section
+! Revision 1.9  2001/03/30 07:32:49  raasch
+! Arguments removed from pres,
+! Translation of remaining German identifiers (variables, subroutines, etc.)
 !
-! 3655 2019-01-07 16:51:22Z knoop
-! Modularization of all bulk cloud physics code components
+! Revision 1.8  2001/01/22 19:44:52  letzel
+! All comments translated into English.
+!
+! Revision 1.7  2001/01/22 07:20:30  raasch
+! Module test_variables removed
+!
+! Revision 1.6  1998/07/06 12:17:44  raasch
+! + USE test_variables
+!
+! Revision 1.5  1998/04/15 11:20:38  raasch
+! pt, usws und vsws werden an pres uebergeben
+!
+! Revision 1.4  1997/09/12 06:26:30  raasch
+! Wirbelradius jetzt proportional zur Gitterweite
+!
+! Revision 1.3  1997/09/09 08:29:24  raasch
+! Kehrwerte der Gitterweiten implementiert
+!
+! Revision 1.2  1997/08/26 06:31:33  raasch
+! +tend in pres-Aufruf
 !
 ! Revision 1.1  1997/08/11 06:18:43  raasch
@@ -41,53 +47,23 @@
 ! Description:
 ! ------------
-!> Initialize a (nondivergent) Rankine eddy with a vertical axis in order to test the advection
-!> terms and the pressure solver.
-!--------------------------------------------------------------------------------------------------!
- SUBROUTINE init_rankine
+! Initialize a (nondivergent) Rankine eddy with a vertical axis in order to test 
+! the advection terms and the pressure solver.
+!------------------------------------------------------------------------------!
 
-
-    USE arrays_3d,                                                                                 &
-        ONLY:  pt, pt_init, u, u_init, v, v_init
-
-    USE control_parameters,                                                                        &
-        ONLY:  initializing_actions, n_sor, nsor, nsor_ini
-
-    USE basic_constants_and_equations_mod,                                                         &
-        ONLY:  pi
-
-    USE exchange_horiz_mod,                                                                        &
-        ONLY:  exchange_horiz
-
-    USE grid_variables,                                                                            &
-        ONLY:  dx, dy
-
-    USE indices,                                                                                   &
-        ONLY:  nbgp, nx, nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt
-
-    USE kinds
+    USE arrays_3d
+    USE constants
+    USE grid_variables
+    USE indices
+    USE control_parameters
 
     IMPLICIT NONE
 
-    INTEGER(iwp) ::  i   !<
-    INTEGER(iwp) ::  ic  !<
-    INTEGER(iwp) ::  j   !<
-    INTEGER(iwp) ::  jc  !<
-    INTEGER(iwp) ::  k   !<
-    INTEGER(iwp) ::  kc1 !<
-    INTEGER(iwp) ::  kc2 !<
-
-    REAL(wp)     ::  alpha  !<
-    REAL(wp)     ::  betrag !<
-    REAL(wp)     ::  radius !<
-    REAL(wp)     ::  rc     !<
-    REAL(wp)     ::  uw     !<
-    REAL(wp)     ::  vw     !<
-    REAL(wp)     ::  x      !<
-    REAL(wp)     ::  y      !<
+    INTEGER ::  i, ic, j, jc, k, kc1, kc2
+    REAL    ::  alpha, betrag, radius, rc, uw, vw, x, y
 
 !
 !-- Default: eddy radius rc, eddy strength z,
 !--          position of eddy centre: ic, jc, kc1, kc2
-    rc  =  4.0_wp * dx
+    rc  =  4.0 * dx
     ic  =  ( nx+1 ) / 2
     jc  =  ic
@@ -96,42 +72,30 @@
 
 !
-!-- Reset initial profiles to constant profiles
-    IF ( INDEX(initializing_actions, 'set_constant_profiles') /= 0 )  THEN
-       DO  i = nxlg, nxrg
-          DO  j = nysg, nyng
-             pt(:,j,i) = pt_init
-             u(:,j,i)  = u_init
-             v(:,j,i)  = v_init
-          ENDDO
-       ENDDO
-    ENDIF
-
-!
 !-- Compute the u-component.
     DO  i = nxl, nxr
        DO  j = nys, nyn
-          x = ( i - ic - 0.5_wp ) * dx
-          y = ( j - jc          ) * dy
+          x = ( i - ic - 0.5 ) * dx
+          y = ( j - jc ) * dy
           radius = SQRT( x**2 + y**2 )
-          IF ( radius <= 2.0_wp * rc )  THEN
-             betrag = radius / ( 2.0_wp * rc ) * 0.08_wp
-          ELSEIF ( radius > 2.0_wp * rc  .AND.  radius < 8.0_wp * rc )  THEN
-             betrag = 0.08_wp * EXP( -( radius - 2.0_wp * rc ) / 2.0_wp )
+          IF ( radius <= 2.0 * rc )  THEN
+             betrag = radius / ( 2.0 * rc ) * 0.08
+          ELSEIF ( radius > 2.0 * rc  .AND.  radius < 8.0 * rc )  THEN
+             betrag = 0.08 * EXP( -( radius - 2.0 * rc ) / 2.0 )
           ELSE
-             betrag = 0.0_wp
+             betrag = 0.0
           ENDIF
 
-          IF ( x == 0.0_wp )  THEN
-             IF ( y > 0.0_wp )  THEN
-                alpha = pi / 2.0_wp
-             ELSEIF ( y < 0.0_wp )  THEN
-                alpha = 3.0_wp * pi / 2.0_wp
+          IF ( x == 0.0 )  THEN
+             IF ( y > 0.0 )  THEN
+                alpha = pi / 2.0
+             ELSEIF ( y < 0.0 )  THEN
+                alpha = 3.0 * pi / 2.0
              ENDIF
           ELSE
-             IF ( x < 0.0_wp )  THEN
+             IF ( x < 0.0 )  THEN
                 alpha = ATAN( y / x ) + pi
              ELSE
-                IF ( y < 0.0_wp )  THEN
-                   alpha = ATAN( y / x ) + 2.0_wp * pi
+                IF ( y < 0.0 )  THEN
+                   alpha = ATAN( y / x ) + 2.0 * pi
                 ELSE
                    alpha = ATAN( y / x )
@@ -152,27 +116,27 @@
     DO  i = nxl, nxr
        DO  j = nys, nyn
-          x = ( i - ic          ) * dx
-          y = ( j - jc - 0.5_wp ) * dy
+          x = ( i - ic ) * dx
+          y = ( j - jc - 0.5) * dy
           radius = SQRT( x**2 + y**2 )
-          IF ( radius <= 2.0_wp * rc )  THEN
-             betrag = radius / ( 2.0_wp * rc ) * 0.08_wp
-          ELSEIF ( radius > 2.0_wp * rc  .AND.  radius < 8.0_wp * rc )  THEN
-             betrag = 0.08_wp * EXP( -( radius - 2.0_wp * rc ) / 2.0_wp )
+          IF ( radius <= 2.0 * rc )  THEN
+             betrag = radius / ( 2.0 * rc ) * 0.08
+          ELSEIF ( radius > 2.0 * rc  .AND.  radius < 8.0 * rc )  THEN
+             betrag = 0.08 * EXP( -( radius - 2.0 * rc ) / 2.0 )
           ELSE
-             betrag = 0.0_wp
+             betrag = 0.0
           ENDIF
 
-          IF ( x == 0.0_wp )  THEN
-             IF ( y > 0.0_wp )  THEN
-                alpha = pi / 2.0_wp
-             ELSEIF ( y < 0.0_wp )  THEN
-                alpha = 3.0_wp * pi / 2.0_wp
+          IF ( x == 0.0 )  THEN
+             IF ( y > 0.0 )  THEN
+                alpha = pi / 2.0
+             ELSEIF ( y < 0.0 )  THEN
+                alpha = 3.0 * pi / 2.0
              ENDIF
           ELSE
-             IF ( x < 0.0_wp )  THEN
+             IF ( x < 0.0 )  THEN
                 alpha = ATAN( y / x ) + pi
              ELSE
-                IF ( y < 0.0_wp )  THEN
-                   alpha = ATAN( y / x ) + 2.0_wp * pi
+                IF ( y < 0.0 )  THEN
+                   alpha = ATAN( y / x ) + 2.0 * pi
                 ELSE
                    alpha = ATAN( y / x )
@@ -191,6 +155,6 @@
 !
 !-- Exchange of boundary values for the velocities.
-    CALL exchange_horiz( u, nbgp)
-    CALL exchange_horiz( v, nbgp )
+    CALL exchange_horiz( u, uxrp,    0 )
+    CALL exchange_horiz( v,    0, vynp )
 !
 !-- Make velocity field nondivergent.
