Changeset 2113 for palm/trunk
- Timestamp:
- Jan 12, 2017 1:40:46 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/urban_surface_mod.f90
r2101 r2113 15 15 ! PALM. If not, see <http://www.gnu.org/licenses/>. 16 16 ! 17 ! Copyright 2015-201 6Czech Technical University in Prague17 ! Copyright 2015-2017 Czech Technical University in Prague 18 18 ! Copyright 1997-2017 Leibniz Universitaet Hannover 19 19 !--------------------------------------------------------------------------------! … … 21 21 ! Current revisions: 22 22 ! ------------------ 23 ! 23 ! cpp switch __mpi3 added for MPI-3 standard code (Ketelsen) 24 24 ! 25 25 ! Former revisions: … … 1486 1486 CALL location_message( ' calculation of SVF and CSF', .TRUE. ) 1487 1487 1488 #if defined( __mpi3 ) 1488 1489 !-- precalculate face areas for different face directions using normal vector 1489 1490 DO d = 0, 9 … … 1960 1961 CALL message( 'init_urban_surface', 'PA0502', 2, 2, 0, 6, 0 ) 1961 1962 1963 #endif 1962 1964 END SUBROUTINE usm_calc_svf 1963 1965 … … 2635 2637 REAL(wp) :: c, d, tin, exn 2636 2638 2639 2637 2640 CALL cpu_log( log_point_s(78), 'usm_init', 'start' ) 2638 2641 !-- surface forcing have to be disabled for LSF … … 2738 2741 2739 2742 CALL cpu_log( log_point_s(78), 'usm_init', 'stop' ) 2740 2743 2741 2744 2742 2745 END SUBROUTINE usm_init_urban_surface … … 2857 2860 !-- Set flag that indicates that the land surface model is switched on 2858 2861 urban_surface = .TRUE. 2862 2863 ! 2864 !-- Check whether pre-processor (cpp) option "__mpi3" is set. It is required 2865 !-- for the full functionality of the USM. "__mpi3" directive is implemented, 2866 !-- because some compilers cannot handle MPI-3 operations, hence, these parts 2867 !-- of code shall only be compiled if explicitly enabled. 2868 #if ! defined ( __mpi3 ) 2869 message_string = 'urban surface model requires compilation of ' // & 2870 'PALM with pre-processor directive -D__mpi3' 2871 CALL message( 'usm_parin', 'PA0503', 1, 2, 0, 6, 0 ) 2872 #endif 2859 2873 2860 2874 … … 3203 3217 REAL(wp), PARAMETER :: grow_factor = 1.5_wp !< factor of expansion of grow arrays 3204 3218 3219 #if defined( __mpi3 ) 3205 3220 !-- Maximum number of gridboxes visited equals to maximum number of boundaries crossed in each dimension plus one. That's also 3206 3221 !-- the maximum number of plant canopy boxes written. We grow the acsf array accordingly using exponential factor. … … 3346 3361 visible = .TRUE. 3347 3362 3363 #else 3364 visible = .FALSE. !Set variables to avoid compiler warnimngs 3365 transparency = 0.0 3366 #endif 3348 3367 END SUBROUTINE usm_raytrace 3349 3368 … … 3499 3518 ENDIF 3500 3519 #if defined( __parallel ) 3501 CALL MPI_B arrier( comm2d, ierr )3520 CALL MPI_BARRIER( comm2d, ierr ) 3502 3521 #endif 3503 3522 ENDDO … … 3914 3933 REAL(wp) :: acoef !< actual coefficient of diurnal profile of anthropogenic heat 3915 3934 3935 #if defined( __mpi3 ) 3916 3936 dxdir = (/dz,dy,dy,dx,dx/) 3917 3937 … … 4124 4144 ENDIF 4125 4145 4146 #endif 4126 4147 END SUBROUTINE usm_surface_energy_balance 4127 4148 … … 4249 4270 ENDIF 4250 4271 #if defined( __parallel ) 4251 CALL MPI_B arrier( comm2d, ierr )4272 CALL MPI_BARRIER( comm2d, ierr ) 4252 4273 #endif 4253 4274 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.