Changeset 2300 for palm/trunk
- Timestamp:
- Jun 29, 2017 1:31:14 PM (7 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/advec_s_bc.f90
r2292 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! NEC related code removed 28 ! 29 ! 2292 2017-06-20 09:51:42Z schwenkel 27 30 ! Implementation of new microphysic scheme: cloud_scheme = 'morrison' 28 31 ! includes two more prognostic equations for cloud drop concentration (nc) … … 182 185 REAL(wp) :: im !< 183 186 REAL(wp) :: ip !< 187 REAL(wp) :: m1n !< 188 REAL(wp) :: m1z !< 184 189 REAL(wp) :: m2 !< 185 190 REAL(wp) :: m3 !< … … 213 218 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ippb !< 214 219 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: ippe !< 220 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: m1 !< 221 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: sw !< 215 222 216 223 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: sk_p !< 217 218 #if defined( __nec )219 REAL(sp) :: m1n, m1z !< important for optimisation of division220 REAL(sp), DIMENSION(:,:), ALLOCATABLE :: m1, sw !<221 #else222 REAL(wp) :: m1n, m1z223 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: m1, sw224 #endif225 226 224 227 225 ! -
palm/trunk/SOURCE/check_open.f90
r2298 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! -host 28 ! 29 ! 2298 2017-06-29 09:28:18Z raasch 27 30 ! -return_addres, return_username, avs_coor_file_..., avs_data_file_..., 28 31 ! cross_ts_numbers, cross_ts_number_count … … 139 142 140 143 USE control_parameters, & 141 ONLY: coupling_char, data_output_2d_on_each_pe, host, max_masks,&144 ONLY: coupling_char, data_output_2d_on_each_pe, max_masks, & 142 145 message_string, mid, nz_do3d, openfile, run_description_header, & 143 146 runnr -
palm/trunk/SOURCE/check_parameters.f90
r2292 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! host-specific settings and checks removed 28 ! 29 ! 2292 2017-06-20 09:51:42Z schwenkel 27 30 ! Implementation of new microphysic scheme: cloud_scheme = 'morrison' 28 31 ! includes two more prognostic equations for cloud drop concentration (nc) … … 563 566 564 567 ! 565 !-- Warning, if host is not set566 IF ( host(1:1) == ' ' ) THEN567 message_string = '"host" is not set. Please check that environment ' // &568 'variable "localhost" & is set before running PALM'569 CALL message( 'check_parameters', 'PA0001', 0, 0, 0, 6, 0 )570 ENDIF571 572 !573 568 !-- Check the coupling mode 574 569 !> @todo Check if any queries for other coupling modes (e.g. precursor_ocean) are missing … … 805 800 ! 806 801 !-- Check the general loop optimization method 807 IF ( loop_optimization == 'default' ) THEN808 IF ( host(1:3) == 'nec' ) THEN809 loop_optimization = 'vector'810 ELSE811 loop_optimization = 'cache'812 ENDIF813 ENDIF814 815 802 SELECT CASE ( TRIM( loop_optimization ) ) 816 803 … … 3830 3817 3831 3818 ! 3832 !-- Set default value of the time needed to terminate a model run3833 IF ( termination_time_needed == -1.0_wp ) THEN3834 IF ( host(1:3) == 'ibm' ) THEN3835 termination_time_needed = 300.0_wp3836 ELSE3837 termination_time_needed = 35.0_wp3838 ENDIF3839 ENDIF3840 3841 !3842 3819 !-- Check pressure gradient conditions 3843 3820 IF ( dp_external .AND. conserve_volume_flow ) THEN -
palm/trunk/SOURCE/close_file.f90
r2277 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! -host 28 ! 29 ! 2277 2017-06-12 10:47:51Z kanani 27 30 ! Removed unused variables do2d_xy_n, do2d_xz_n, do2d_yz_n, do3d_avs_n 28 31 ! … … 79 82 80 83 USE control_parameters, & 81 ONLY: host, max_masks,&82 mid, nz_do3d, openfile, run_description_header,z_max_do2d84 ONLY: max_masks, mid, nz_do3d, openfile, run_description_header, & 85 z_max_do2d 83 86 84 87 USE grid_variables, & -
palm/trunk/SOURCE/disturb_field.f90
r2233 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! NEC related code removed 28 ! 29 ! 2233 2017-05-30 18:08:54Z suehring 27 30 ! 28 31 ! 2232 2017-05-30 17:47:52Z suehring … … 165 168 DO j = dist_nys(dist_range), dist_nyn(dist_range) 166 169 DO k = disturbance_level_ind_b, disturbance_level_ind_t 167 #if defined( __nec )168 randomnumber = 3.0_wp * disturbance_amplitude * &169 ( RANDOM( 0 ) - 0.5_wp )170 #else171 170 CALL RANDOM_NUMBER( randomnumber ) 172 171 randomnumber = 3.0_wp * disturbance_amplitude * & 173 172 ( randomnumber - 0.5_wp ) 174 #endif175 173 IF ( nxl <= i .AND. nxr >= i .AND. nys <= j .AND. nyn >= j ) & 176 174 THEN -
palm/trunk/SOURCE/fft_xy_mod.f90
r2274 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! NEC related code partly removed, host replaced by loop_optimization 28 ! 29 ! 2274 2017-06-09 13:27:48Z Giersch 27 30 ! Changed error messages 28 31 ! … … 1538 1541 INTEGER(iwp) :: k !< 1539 1542 INTEGER(iwp) :: siza !< 1543 INTEGER(iwp) :: sizw !< required on NEC only 1540 1544 1541 1545 REAL(wp), DIMENSION(0:nx,nz) :: ar !< … … 1543 1547 REAL(wp), DIMENSION(6*(nx+4),nz+1) :: work1 !< 1544 1548 1545 #if defined( __nec ) 1546 INTEGER(iwp) :: sizw !< 1547 1548 COMPLEX(wp), DIMENSION((nx+4)/2+1,nz+1) :: work !< 1549 #endif 1549 COMPLEX(wp), DIMENSION(:,:), ALLOCATABLE :: work !< required on NEC only 1550 1550 1551 1551 IF ( fft_method == 'temperton-algorithm' ) THEN … … 1591 1591 1592 1592 #if defined( __nec ) 1593 ALLOCATE( work((nx+4)/2+1,nz+1) ) 1593 1594 siza = SIZE( ai, 1 ) 1594 1595 sizw = SIZE( work, 1 ) … … 1645 1646 ENDIF 1646 1647 1648 DEALLOCATE( work ) 1647 1649 #else 1648 1650 message_string = 'no system-specific fft-call available' … … 1680 1682 INTEGER(iwp) :: ny1 !< 1681 1683 INTEGER(iwp) :: siza !< 1684 INTEGER(iwp) :: sizw !< required on NEC only 1682 1685 1683 1686 REAL(wp), DIMENSION(0:ny1,nz) :: ar !< … … 1685 1688 REAL(wp), DIMENSION(6*(ny+4),nz+1) :: work1 !< 1686 1689 1687 #if defined( __nec ) 1688 INTEGER(iwp) :: sizw !< 1689 1690 COMPLEX(wp), DIMENSION((ny+4)/2+1,nz+1) :: work !< 1691 #endif 1690 COMPLEX(wp), DIMENSION(:,:), ALLOCATABLE :: work !< required on NEC only 1691 1692 1692 1693 1693 IF ( fft_method == 'temperton-algorithm' ) THEN … … 1733 1733 1734 1734 #if defined( __nec ) 1735 ALLOCATE( work((ny+4)/2+1,nz+1) ) 1735 1736 siza = SIZE( ai, 1 ) 1736 1737 sizw = SIZE( work, 1 ) … … 1787 1788 ENDIF 1788 1789 1790 DEALLOCATE( work ) 1789 1791 #else 1790 1792 message_string = 'no system-specific fft-call available' -
palm/trunk/SOURCE/header.f90
r2299 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! host-specific code removed 28 ! 29 ! 2299 2017-06-29 10:14:38Z maronga 27 30 ! Modified output for spinups 28 31 ! … … 537 540 threads_per_task, pdims(1), pdims(2), TRIM( char1 ) 538 541 ENDIF 539 IF ( ( host(1:3) == 'ibm' .OR. host(1:3) == 'nec' .OR. & 540 host(1:2) == 'lc' .OR. host(1:3) == 'dec' ) .AND. & 541 npex == -1 .AND. pdims(2) == 1 ) & 542 THEN 543 WRITE ( io, 106 ) 544 ELSEIF ( pdims(2) == 1 ) THEN 542 543 IF ( pdims(2) == 1 ) THEN 545 544 WRITE ( io, 107 ) 'x' 546 545 ELSEIF ( pdims(1) == 1 ) THEN … … 1953 1952 35X,'Processor grid (x,y): (',I4,',',I4,')',1X,A) 1954 1953 105 FORMAT (35X,'One additional PE is used to handle'/37X,'the dvrp output!') 1955 106 FORMAT (35X,'A 1d-decomposition along x is forced'/ &1956 35X,'because the job is running on an SMP-cluster')1957 1954 107 FORMAT (35X,'A 1d-decomposition along ',A,' is used') 1958 1955 108 FORMAT (35X,'Max. # of parallel I/O streams is ',I5) -
palm/trunk/SOURCE/init_dvrp.f90
r2298 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! NEC related cpp directives removed 28 ! 29 ! 2298 2017-06-29 09:28:18Z raasch 27 30 ! MPI2 related part removed 28 31 ! … … 849 852 CALL DVRP_LOG_EVENT( -1, 1 ) ! Logging of total cpu-time used by PALM 850 853 IF ( use_seperate_pe_for_dvrp_output ) THEN 851 #ifndef __nec852 854 CALL DVRP_SPLIT_EXIT( 1 ) ! Argument 0: reduced output 853 #endif854 855 ELSE 855 856 CALL DVRP_LOG_EXIT( 1 ) ! Argument 0: reduced output -
palm/trunk/SOURCE/init_pegrid.f90
r2298 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! host-specific settings removed 28 ! 29 ! 2298 2017-06-29 09:28:18Z raasch 27 30 ! MPI2 related parts removed 28 31 ! … … 193 196 ONLY: bc_lr, bc_ns, coupling_mode, coupling_mode_remote, & 194 197 coupling_topology, gathered_size, grid_level, & 195 grid_level_count, host, inflow_l, inflow_n, inflow_r, inflow_s,&198 grid_level_count, inflow_l, inflow_n, inflow_r, inflow_s, & 196 199 io_blocks, io_group, maximum_grid_level, & 197 200 maximum_parallel_io_streams, message_string, & … … 315 318 316 319 ! 317 !-- For communication speedup, set barriers in front of collective318 !-- communications by default on SGI-type systems319 IF ( host(3:5) == 'sgi' ) collective_wait = .TRUE.320 321 !322 320 !-- If necessary, set horizontal boundary conditions to non-cyclic 323 321 IF ( bc_lr /= 'cyclic' ) cyclic(1) = .FALSE. -
palm/trunk/SOURCE/modules.f90
r2298 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! default value for host changed to '????', default value for loop_optimization 28 ! changed to 'cache', default value for termination_time_needed set to 35.0 29 ! 30 ! 2298 2017-06-29 09:28:18Z raasch 27 31 ! missing variable descriptions have been added, 28 32 ! type of write_binary changed from CHARACTER to LOGICAL … … 950 954 CHARACTER (LEN=12) :: user_interface_required_revision = ' ' !< required user-interface revision number 951 955 CHARACTER (LEN=16) :: conserve_volume_flow_mode = 'default' !< namelist parameter 952 CHARACTER (LEN=16) :: loop_optimization = ' default'!< namelist parameter956 CHARACTER (LEN=16) :: loop_optimization = 'cache' !< namelist parameter 953 957 CHARACTER (LEN=16) :: momentum_advec = 'ws-scheme' !< namelist parameter 954 958 CHARACTER (LEN=16) :: psolver = 'poisfft' !< namelist parameter … … 981 985 CHARACTER (LEN=20) :: timestep_scheme = 'runge-kutta-3' !< namelist parameter 982 986 CHARACTER (LEN=40) :: topography = 'flat' !< namelist parameter 983 CHARACTER (LEN=64) :: host = ' '!< hostname on which PALM is running, ENVPAR namelist parameter provided by mrun987 CHARACTER (LEN=64) :: host = '????' !< hostname on which PALM is running, ENVPAR namelist parameter provided by mrun 984 988 CHARACTER (LEN=80) :: log_message !< user-defined message for debugging (sse data_log.f90) 985 989 CHARACTER (LEN=80) :: run_identifier !< run identifier as given by mrun option -d, ENVPAR namelist parameter provided by mrun … … 1337 1341 REAL(wp) :: s_surface = 0.0_wp !< namelist parameter 1338 1342 REAL(wp) :: s_surface_initial_change = 0.0_wp !< namelist parameter 1339 REAL(wp) :: termination_time_needed = -1.0_wp !< namelist parameter1343 REAL(wp) :: termination_time_needed = 35.0_wp !< namelist parameter 1340 1344 REAL(wp) :: time_coupling = 0.0_wp !< time since last coupling (surface_coupler) 1341 1345 REAL(wp) :: time_disturb = 0.0_wp !< time since last flow disturbance -
palm/trunk/SOURCE/poisfft_mod.f90
r2119 r2300 25 25 ! ----------------- 26 26 ! $Id$ 27 ! settings depending on host variable removed or replaced by loop_optimization 28 ! 29 ! 2119 2017-01-17 16:51:50Z raasch 27 30 ! 28 31 ! 2118 2017-01-17 16:38:49Z raasch … … 715 718 SUBROUTINE ffty_tr_yx( f_in, f_out ) 716 719 717 718 720 USE control_parameters, & 719 ONLY: host721 ONLY: loop_optimization 720 722 721 723 USE cpulog, & … … 737 739 INTEGER(iwp), PARAMETER :: stridex = 4 !< 738 740 739 REAL(wp), DIMENSION(0:ny,stridex) :: work_ffty !<740 #if defined( __nec )741 REAL(wp), DIMENSION(0:ny+1,1:nz,nxl:nxr) :: work_ffty_vec !<742 #endif743 741 REAL(wp), DIMENSION(1:nz,0:ny,nxl:nxr) :: f_in !< 744 742 REAL(wp), DIMENSION(nnx,1:nz,nys_x:nyn_x,pdims(1)) :: f_out !< 745 743 REAL(wp), DIMENSION(nxl:nxr,1:nz,0:ny) :: work !< 744 745 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: work_ffty !< 746 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: work_ffty_vec !< 746 747 747 748 ! … … 751 752 CALL cpu_log( log_point_s(7), 'fft_y_1d', 'start' ) 752 753 753 IF ( host(1:3) == 'nec' ) THEN 754 #if defined( __nec ) 754 IF ( loop_optimization == 'vector' ) THEN 755 756 ALLOCATE( work_ffty_vec(0:ny+1,1:nz,nxl:nxr) ) 755 757 ! 756 758 !-- Code optimized for vector processors 757 !$OMPPARALLEL PRIVATE ( i, j, k )758 !$OMPDO759 !$OMP PARALLEL PRIVATE ( i, j, k ) 760 !$OMP DO 759 761 DO i = nxl, nxr 760 762 … … 769 771 ENDDO 770 772 771 !$OMPDO773 !$OMP DO 772 774 DO k = 1, nz 773 775 DO j = 0, ny … … 777 779 ENDDO 778 780 ENDDO 779 !$OMP END PARALLEL 780 #endif 781 !$OMP END PARALLEL 782 783 DEALLOCATE( work_ffty_vec ) 781 784 782 785 ELSE 783 784 786 ! 785 787 !-- Cache optimized code. 788 ALLOCATE( work_ffty(0:ny,stridex) ) 789 ! 786 790 !-- The i-(x-)direction is split into a strided outer loop and an inner 787 791 !-- loop for better cache performance 788 !$OMPPARALLEL PRIVATE (i,iend,iouter,ir,j,k,work_ffty)789 !$OMPDO792 !$OMP PARALLEL PRIVATE (i,iend,iouter,ir,j,k,work_ffty) 793 !$OMP DO 790 794 DO iouter = nxl, nxr, stridex 791 795 … … 817 821 818 822 ENDDO 819 !$OMP END PARALLEL 823 !$OMP END PARALLEL 824 825 DEALLOCATE( work_ffty ) 820 826 821 827 ENDIF 828 822 829 CALL cpu_log( log_point_s(7), 'fft_y_1d', 'pause' ) 823 830 … … 844 851 SUBROUTINE tr_xy_ffty( f_in, f_out ) 845 852 846 847 853 USE control_parameters, & 848 ONLY: host854 ONLY: loop_optimization 849 855 850 856 USE cpulog, & … … 866 872 INTEGER(iwp), PARAMETER :: stridex = 4 !< 867 873 868 REAL(wp), DIMENSION(0:ny,stridex) :: work_ffty !<869 #if defined( __nec )870 REAL(wp), DIMENSION(0:ny+1,1:nz,nxl:nxr) :: work_ffty_vec !<871 #endif872 874 REAL(wp), DIMENSION(nnx,1:nz,nys_x:nyn_x,pdims(1)) :: f_in !< 873 875 REAL(wp), DIMENSION(1:nz,0:ny,nxl:nxr) :: f_out !< 874 876 REAL(wp), DIMENSION(nxl:nxr,1:nz,0:ny) :: work !< 877 878 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: work_ffty !< 879 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: work_ffty_vec !< 875 880 876 881 ! … … 890 895 CALL cpu_log( log_point_s(7), 'fft_y_1d', 'continue' ) 891 896 892 IF ( host(1:3) == 'nec' ) THEN 893 #if defined( __nec ) 897 IF ( loop_optimization == 'vector' ) THEN 898 899 ALLOCATE( work_ffty_vec(0:ny+1,1:nz,nxl:nxr) ) 894 900 ! 895 901 !-- Code optimized for vector processors 896 !$OMPPARALLEL PRIVATE ( i, j, k )897 !$OMPDO902 !$OMP PARALLEL PRIVATE ( i, j, k ) 903 !$OMP DO 898 904 DO k = 1, nz 899 905 DO j = 0, ny … … 904 910 ENDDO 905 911 906 !$OMPDO912 !$OMP DO 907 913 DO i = nxl, nxr 908 914 … … 916 922 917 923 ENDDO 918 !$OMP END PARALLEL 919 #endif 924 !$OMP END PARALLEL 925 926 DEALLOCATE( work_ffty_vec ) 920 927 921 928 ELSE 922 923 929 ! 924 930 !-- Cache optimized code. 931 ALLOCATE( work_ffty(0:ny,stridex) ) 932 ! 925 933 !-- The i-(x-)direction is split into a strided outer loop and an inner 926 934 !-- loop for better cache performance 927 !$OMPPARALLEL PRIVATE ( i, iend, iouter, ir, j, k, work_ffty )928 !$OMPDO935 !$OMP PARALLEL PRIVATE ( i, iend, iouter, ir, j, k, work_ffty ) 936 !$OMP DO 929 937 DO iouter = nxl, nxr, stridex 930 938 … … 955 963 956 964 ENDDO 957 !$OMP END PARALLEL 965 !$OMP END PARALLEL 966 967 DEALLOCATE( work_ffty ) 958 968 959 969 ENDIF … … 976 986 SUBROUTINE fftx_tri_fftx( ar ) 977 987 978 979 988 USE control_parameters, & 980 ONLY: host989 ONLY: loop_optimization 981 990 982 991 USE cpulog, & … … 1016 1025 !$ tn = omp_get_thread_num() 1017 1026 1018 IF ( host(1:3) == 'nec' ) THEN1027 IF ( loop_optimization == 'vector' ) THEN 1019 1028 ! 1020 1029 !-- Code optimized for vector processors … … 1060 1069 CALL tridia_1dd( ddx2, ddy2, nx, ny, j, work_trix, tri(:,:,:,tn) ) 1061 1070 1062 IF ( host(1:3) == 'nec' ) THEN1071 IF ( loop_optimization == 'vector' ) THEN 1063 1072 ! 1064 1073 !-- Code optimized for vector processors … … 1123 1132 1124 1133 USE control_parameters, & 1125 ONLY: host1134 ONLY: loop_optimization 1126 1135 1127 1136 USE cpulog, & … … 1149 1158 CALL cpu_log( log_point_s(4), 'fft_x_1d', 'start' ) 1150 1159 1151 IF ( host(1:3) == 'nec' ) THEN1160 IF ( loop_optimization == 'vector' ) THEN 1152 1161 ! 1153 1162 !-- Code for vector processors … … 1236 1245 1237 1246 USE control_parameters, & 1238 ONLY: host1247 ONLY: loop_optimization 1239 1248 1240 1249 USE cpulog, & … … 1273 1282 CALL cpu_log( log_point_s(4), 'fft_x_1d', 'continue' ) 1274 1283 1275 IF ( host(1:3) == 'nec' ) THEN1284 IF ( loop_optimization == 'vector' ) THEN 1276 1285 ! 1277 1286 !-- Code optimized for vector processors … … 1349 1358 1350 1359 USE control_parameters, & 1351 ONLY: host1360 ONLY: loop_optimization 1352 1361 1353 1362 USE cpulog, & … … 1387 1396 !$ tn = omp_get_thread_num() 1388 1397 1389 IF ( host(1:3) == 'nec' ) THEN1398 IF ( loop_optimization == 'vector' ) THEN 1390 1399 ! 1391 1400 !-- Code optimized for vector processors … … 1431 1440 CALL tridia_1dd( ddy2, ddx2, ny, nx, i, work_triy, tri(:,:,:,tn) ) 1432 1441 1433 IF ( host(1:3) == 'nec' ) THEN1442 IF ( loop_optimization == 'vector' ) THEN 1434 1443 ! 1435 1444 !-- Code optimized for vector processors -
palm/trunk/SOURCE/temperton_fft_mod.f90
r1851 r2300 9 9 ! ----------------- 10 10 ! $Id$ 11 ! NEC related CPP directives removed 12 ! 13 ! 1851 2016-04-08 13:32:50Z maronga 11 14 ! 12 15 ! 1850 2016-04-08 13:29:27Z maronga … … 51 54 52 55 53 INTEGER(iwp) :: nfax(10) !< array used by *fft991*. 56 INTEGER(iwp) :: nfax(10) !< array used by *fft991*. 57 INTEGER(iwp), PARAMETER :: nfft = 32 !< maximum length of calls to *fft 58 INTEGER(iwp), PARAMETER :: nout = 6 !< standard output stream 59 54 60 REAL(wp), ALLOCATABLE :: trig(:) !< array used by *fft991*. 55 56 !57 !-- nfft: maximum length of calls to *fft.58 #if defined( __nec )59 INTEGER(iwp), PARAMETER :: nfft = 256 !<60 #else61 INTEGER(iwp), PARAMETER :: nfft = 32 !<62 #endif63 64 INTEGER(iwp), PARAMETER :: nout = 6 !< standard output stream65 61 66 62 CONTAINS
Note: See TracChangeset
for help on using the changeset viewer.