Changeset 4632 for palm/trunk/SOURCE/radiation_model_mod.f90
- Timestamp:
- Aug 5, 2020 10:51:52 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/radiation_model_mod.f90
r4624 r4632 27 27 ! ----------------- 28 28 ! $Id$ 29 ! - Bugfix: rtm_svf_, rtm_dif_ outputs 30 ! - Bugfix: correct average transparency for MRT factors 31 ! 32 ! 4624 2020-07-24 09:53:17Z raasch 29 33 ! File re-formatted to follow the PALM coding standard 30 34 ! … … 1396 1400 1397 1401 IF ( directional ) THEN 1398 SELECT CASE ( var ) 1399 CASE ( 'rtm_rad_net', 'rtm_rad_insw', 'rtm_rad_inlw', 'rtm_rad_inswdir', & 1400 'rtm_rad_inswdif', 'rtm_rad_inswref', 'rtm_rad_inlwdif', 'rtm_rad_inlwref', & 1401 'rtm_rad_outsw', 'rtm_rad_outlw', 'rtm_rad_ressw', 'rtm_rad_reslw' ) 1402 IF ( .NOT. radiation ) THEN 1403 message_string = 'output of "' // var // '" requires radiation = .TRUE.' 1404 CALL message( 'check_parameters', 'PA0509', 1, 2, 0, 6, 0 ) 1405 ENDIF 1406 unit = 'W/m2' 1407 1408 CASE ( 'rtm_svf', 'rtm_dif', 'rtm_skyvf', 'rtm_skyvft', 'rtm_surfalb', 'rtm_surfemis' ) 1409 IF ( .NOT. radiation ) THEN 1410 message_string = 'output of "' // var // '" requires radiation = .TRUE.' 1411 CALL message( 'check_parameters', 'PA0509', 1, 2, 0, 6, 0 ) 1412 ENDIF 1413 unit = '1' 1414 1415 CASE DEFAULT 1416 unit = 'illegal' 1417 END SELECT 1418 1402 IF ( var(1:8) == 'rtm_svf_' .OR. var(1:8) == 'rtm_dif_' ) THEN 1403 IF ( .NOT. radiation ) THEN 1404 message_string = 'output of "' // var // '" requires radiation = .TRUE.' 1405 CALL message( 'check_parameters', 'PA0509', 1, 2, 0, 6, 0 ) 1406 ENDIF 1407 unit = '1' 1408 ELSE 1409 SELECT CASE ( var ) 1410 CASE ( 'rtm_rad_net', 'rtm_rad_insw', 'rtm_rad_inlw', 'rtm_rad_inswdir', & 1411 'rtm_rad_inswdif', 'rtm_rad_inswref', 'rtm_rad_inlwdif', 'rtm_rad_inlwref', & 1412 'rtm_rad_outsw', 'rtm_rad_outlw', 'rtm_rad_ressw', 'rtm_rad_reslw' ) 1413 IF ( .NOT. radiation ) THEN 1414 message_string = 'output of "' // var // '" requires radiation = .TRUE.' 1415 CALL message( 'check_parameters', 'PA0509', 1, 2, 0, 6, 0 ) 1416 ENDIF 1417 unit = 'W/m2' 1418 1419 CASE ( 'rtm_skyvf', 'rtm_skyvft', 'rtm_surfalb', 'rtm_surfemis' ) 1420 IF ( .NOT. radiation ) THEN 1421 message_string = 'output of "' // var // '" requires radiation = .TRUE.' 1422 CALL message( 'check_parameters', 'PA0509', 1, 2, 0, 6, 0 ) 1423 ENDIF 1424 unit = '1' 1425 1426 CASE DEFAULT 1427 unit = 'illegal' 1428 END SELECT 1429 ENDIF 1419 1430 ELSE 1420 1431 SELECT CASE ( var ) … … 7921 7932 CALL quicksort_itarget( itarget, vffrac, ztransp, 1, nzn * naz ) 7922 7933 ! 7934 !-- For aggregation, we need fractions multiplied by transmissivities 7935 ztransp(:) = vffrac(:) * ztransp(:) 7936 ! 7923 7937 !-- Find the first valid position 7924 7938 itarg0 = 1 … … 7934 7948 IF ( itarget(i+1) == itarget(i) ) THEN 7935 7949 vffrac(i+1) = vffrac(i+1) + vffrac(i) 7950 ztransp(i+1) = ztransp(i+1) + ztransp(i) 7936 7951 CYCLE 7937 7952 ENDIF … … 7968 7983 amrtf(nmrtf)%isurfs = itarget(i) 7969 7984 amrtf(nmrtf)%rsvf = vffrac(i) 7970 amrtf(nmrtf)%rtransp = ztransp(i) 7985 amrtf(nmrtf)%rtransp = ztransp(i) / vffrac(i) 7971 7986 ENDDO ! itarg 7972 7987 … … 11680 11695 isurfs = svfsurf(2, isvf) 11681 11696 11682 IF ( surf(ix,isurfs) == is .AND. surf(iy,isurfs) == js .AND. surf(iz,isurfs) == ks&11683 .AND. (surf(id,isurfs) == idsint_u .OR. surfl(id,isurfs) == idsint_l ) )THEN11697 IF ( surf(ix,isurfs) == is .AND. surf(iy,isurfs) == js .AND. surf(iz,isurfs) == ks & 11698 .AND. ( surfl(id,isurflt) == idsint_u .OR. surfl(id,isurflt) == idsint_l ) ) THEN 11684 11699 ! 11685 11700 !-- Correct source surface
Note: See TracChangeset
for help on using the changeset viewer.