Changeset 4198 for palm/trunk
- Timestamp:
- Aug 29, 2019 3:17:48 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/radiation_model_mod.f90
r4197 r4198 28 28 ! ----------------- 29 29 ! $Id$ 30 ! Prohibit execution of radiation model if rotation_angle is not zero 31 ! 32 ! 4197 2019-08-29 14:33:32Z suehring 30 33 ! Revise steering of surface albedo initialization when albedo_pars is provided 31 34 ! … … 178 181 !> to INT broke raytracing -- P. Krc 179 182 !> @todo Optimize radiation_tendency routines 183 !> @todo Consider rotated model domains (rotation_angle/=0.0) 180 184 !> 181 185 !> @note Many variables have a leading dummy dimension (0:0) in order to … … 1352 1356 1353 1357 USE control_parameters, & 1354 ONLY: land_surface, message_string, urban_surface1358 ONLY: land_surface, message_string, rotation_angle, urban_surface 1355 1359 1356 1360 USE netcdf_data_input_mod, & … … 1446 1450 message_string = 'dt_radiation must be > 0.0' 1447 1451 CALL message( 'check_parameters', 'PA0591', 1, 2, 0, 6, 0 ) 1452 ENDIF 1453 ! 1454 !-- Check rotation angle 1455 !> @todo Remove this limitation 1456 IF ( rotation_angle /= 0.0 ) THEN 1457 message_string = 'rotation of the model domain is not considered in the radiation ' // & 1458 'model.&Using rotation_angle /= 0.0 is not allowed in combination ' // & 1459 'with the radiation model at the moment!' 1460 CALL message( 'check_parameters', 'PA0675', 1, 2, 0, 6, 0 ) 1448 1461 ENDIF 1449 1462 … … 5318 5331 SUBROUTINE radiation_interaction 5319 5332 5333 USE control_parameters, & 5334 ONLY: rotation_angle 5335 5320 5336 IMPLICIT NONE 5321 5337 … … 5333 5349 REAL(wp), DIMENSION(0:nsurf_type) :: costheta !< direct irradiance factor of solar angle 5334 5350 REAL(wp), DIMENSION(nz_urban_b:nz_urban_t) :: pchf_prep !< precalculated factor for canopy temperature tendency 5335 REAL(wp), PARAMETER :: alpha = 0._wp !< grid rotation (TODO: synchronize with rotation_angle5336 !< from netcdf_data_input_mod)5337 5351 REAL(wp) :: pc_box_area, pc_abs_frac, pc_abs_eff 5338 5352 REAL(wp) :: asrc !< area of source face … … 5373 5387 vnorm(3,:) = idir(:) 5374 5388 mrot(1, :) = (/ 1._wp, 0._wp, 0._wp /) 5375 mrot(2, :) = (/ 0._wp, COS( alpha), SIN(alpha) /)5376 mrot(3, :) = (/ 0._wp, -SIN( alpha), COS(alpha) /)5389 mrot(2, :) = (/ 0._wp, COS(rotation_angle), SIN(rotation_angle) /) 5390 mrot(3, :) = (/ 0._wp, -SIN(rotation_angle), COS(rotation_angle) /) 5377 5391 sunorig = (/ cos_zenith, sun_dir_lat, sun_dir_lon /) 5378 5392 sunorig = MATMUL(mrot, sunorig)
Note: See TracChangeset
for help on using the changeset viewer.