Changeset 4198 for palm/trunk


Ignore:
Timestamp:
Aug 29, 2019 3:17:48 PM (5 years ago)
Author:
gronemeier
Message:

Add check into radiation_check_parameters if rotation angle is set to 0. Using the radiation model for a rotated model domain is not allowed due to missing implementation within the radiation model.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/radiation_model_mod.f90

    r4197 r4198  
    2828! -----------------
    2929! $Id$
     30! Prohibit execution of radiation model if rotation_angle is not zero
     31!
     32! 4197 2019-08-29 14:33:32Z suehring
    3033! Revise steering of surface albedo initialization when albedo_pars is provided
    3134!
     
    178181!>               to INT broke raytracing      -- P. Krc
    179182!> @todo Optimize radiation_tendency routines
     183!> @todo Consider rotated model domains (rotation_angle/=0.0)
    180184!>
    181185!> @note Many variables have a leading dummy dimension (0:0) in order to
     
    13521356
    13531357       USE control_parameters,                                                 &
    1354            ONLY: land_surface, message_string, urban_surface
     1358           ONLY: land_surface, message_string, rotation_angle, urban_surface
    13551359
    13561360       USE netcdf_data_input_mod,                                              &
     
    14461450          message_string = 'dt_radiation must be > 0.0' 
    14471451          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 )
    14481461       ENDIF
    14491462 
     
    53185331 SUBROUTINE radiation_interaction
    53195332
     5333    USE control_parameters,                                                    &
     5334        ONLY:  rotation_angle
     5335
    53205336     IMPLICIT NONE
    53215337
     
    53335349     REAL(wp), DIMENSION(0:nsurf_type) ::  costheta           !< direct irradiance factor of solar angle
    53345350     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_angle
    5336                                                              !< from netcdf_data_input_mod)
    53375351     REAL(wp)                          ::  pc_box_area, pc_abs_frac, pc_abs_eff
    53385352     REAL(wp)                          ::  asrc               !< area of source face
     
    53735387     vnorm(3,:) = idir(:)
    53745388     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) /)
    53775391     sunorig = (/ cos_zenith, sun_dir_lat, sun_dir_lon /)
    53785392     sunorig = MATMUL(mrot, sunorig)
Note: See TracChangeset for help on using the changeset viewer.