Changeset 1682 for palm/trunk/SOURCE/prognostic_equations.f90
- Timestamp:
- Oct 7, 2015 11:56:08 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/prognostic_equations.f90
r1586 r1682 1 MODULE prognostic_equations_mod 2 1 !> @file prognostic_equations.f90 3 2 !--------------------------------------------------------------------------------! 4 3 ! This file is part of PALM. … … 20 19 ! Current revisions: 21 20 ! ------------------ 22 ! 21 ! Code annotations made doxygen readable 23 22 ! 24 23 ! Former revisions: … … 161 160 ! Description: 162 161 ! ------------ 163 ! Solving the prognostic equations.162 !> Solving the prognostic equations. 164 163 !------------------------------------------------------------------------------! 164 MODULE prognostic_equations_mod 165 166 165 167 166 168 USE arrays_3d, & … … 313 315 314 316 317 !------------------------------------------------------------------------------! 318 ! Description: 319 ! ------------ 320 !> Version with one optimized loop over all equations. It is only allowed to 321 !> be called for the Wicker and Skamarock or Piascek-Williams advection scheme. 322 !> 323 !> Here the calls of most subroutines are embedded in two DO loops over i and j, 324 !> so communication between CPUs is not allowed (does not make sense) within 325 !> these loops. 326 !> 327 !> (Optimized to avoid cache missings, i.e. for Power4/5-architectures.) 328 !------------------------------------------------------------------------------! 329 315 330 SUBROUTINE prognostic_equations_cache 316 331 317 !------------------------------------------------------------------------------!318 ! Version with one optimized loop over all equations. It is only allowed to319 ! be called for the Wicker and Skamarock or Piascek-Williams advection scheme.320 !321 ! Here the calls of most subroutines are embedded in two DO loops over i and j,322 ! so communication between CPUs is not allowed (does not make sense) within323 ! these loops.324 !325 ! (Optimized to avoid cache missings, i.e. for Power4/5-architectures.)326 !------------------------------------------------------------------------------!327 332 328 333 IMPLICIT NONE 329 334 330 INTEGER(iwp) :: i ! :331 INTEGER(iwp) :: i_omp_start ! :332 INTEGER(iwp) :: j ! :333 INTEGER(iwp) :: k ! :334 INTEGER(iwp) :: omp_get_thread_num ! :335 INTEGER(iwp) :: tn = 0 ! :335 INTEGER(iwp) :: i !< 336 INTEGER(iwp) :: i_omp_start !< 337 INTEGER(iwp) :: j !< 338 INTEGER(iwp) :: k !< 339 INTEGER(iwp) :: omp_get_thread_num !< 340 INTEGER(iwp) :: tn = 0 !< 336 341 337 LOGICAL :: loop_start ! :342 LOGICAL :: loop_start !< 338 343 339 344 … … 934 939 935 940 941 !------------------------------------------------------------------------------! 942 ! Description: 943 ! ------------ 944 !> Version for vector machines 945 !------------------------------------------------------------------------------! 946 936 947 SUBROUTINE prognostic_equations_vector 937 948 938 !------------------------------------------------------------------------------!939 ! Version for vector machines940 !------------------------------------------------------------------------------!941 949 942 950 IMPLICIT NONE 943 951 944 INTEGER(iwp) :: i ! :945 INTEGER(iwp) :: j ! :946 INTEGER(iwp) :: k ! :947 948 REAL(wp) :: sbt ! :952 INTEGER(iwp) :: i !< 953 INTEGER(iwp) :: j !< 954 INTEGER(iwp) :: k !< 955 956 REAL(wp) :: sbt !< 949 957 950 958 … … 1767 1775 1768 1776 1777 !------------------------------------------------------------------------------! 1778 ! Description: 1779 ! ------------ 1780 !> Version for accelerator boards 1781 !------------------------------------------------------------------------------! 1782 1769 1783 SUBROUTINE prognostic_equations_acc 1770 1784 1771 !------------------------------------------------------------------------------!1772 ! Version for accelerator boards1773 !------------------------------------------------------------------------------!1774 1785 1775 1786 IMPLICIT NONE 1776 1787 1777 INTEGER(iwp) :: i ! :1778 INTEGER(iwp) :: j ! :1779 INTEGER(iwp) :: k ! :1780 INTEGER(iwp) :: runge_step ! :1781 1782 REAL(wp) :: sbt ! :1788 INTEGER(iwp) :: i !< 1789 INTEGER(iwp) :: j !< 1790 INTEGER(iwp) :: k !< 1791 INTEGER(iwp) :: runge_step !< 1792 1793 REAL(wp) :: sbt !< 1783 1794 1784 1795 !
Note: See TracChangeset
for help on using the changeset viewer.