Changeset 4127 for palm/trunk/SOURCE/biometeorology_mod.f90
- Timestamp:
- Jul 30, 2019 2:47:10 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/biometeorology_mod.f90
r4126 r4127 27 27 ! ----------------- 28 28 ! $Id$ 29 ! Output for bio_mrt added (merge from branch resler) 30 ! 31 ! 4126 2019-07-30 11:09:11Z gronemeier 29 32 ! renamed vitd3_exposure_av into vitd3_dose, 30 33 ! renamed uvem_calc_exposure into bio_calculate_uv_exposure … … 226 229 LOGICAL :: average_trigger_utci = .FALSE. !< update averaged input on call to bio_utci? 227 230 LOGICAL :: average_trigger_pet = .FALSE. !< update averaged input on call to bio_pet? 231 LOGICAL :: average_trigger_mrt = .FALSE. !< update averaged input on call to bio_pet? 228 232 LOGICAL :: do_calculate_perct = .FALSE. !< Turn index PT (instant. input) on or off 229 233 LOGICAL :: do_calculate_perct_av = .FALSE. !< Turn index PT (averaged input) on or off … … 232 236 LOGICAL :: do_calculate_utci = .FALSE. !< Turn index UTCI (instant. input) on or off 233 237 LOGICAL :: do_calculate_utci_av = .FALSE. !< Turn index UTCI (averaged input) on or off 238 LOGICAL :: do_calculate_mrt2d = .FALSE. !< Turn index MRT 2D (averaged or inst) on or off 234 239 235 240 ! … … 432 437 433 438 434 CASE ( 'bio_perct*', 'bio_utci*', 'bio_pet*' )439 CASE ( 'bio_perct*', 'bio_utci*', 'bio_pet*', 'bio_mrt*' ) 435 440 436 441 ! … … 447 452 IF ( .NOT. average_trigger_perct .AND. & 448 453 .NOT. average_trigger_utci .AND. & 449 .NOT. average_trigger_pet ) THEN 454 .NOT. average_trigger_pet .AND. & 455 .NOT. average_trigger_mrt ) THEN 450 456 ! 451 457 !-- Memorize the first index called to control averaging … … 458 464 IF ( TRIM( variable ) == 'bio_pet*' ) THEN 459 465 average_trigger_pet = .TRUE. 466 ENDIF 467 IF ( TRIM( variable ) == 'bio_mrt*' ) THEN 468 average_trigger_mrt = .TRUE. 460 469 ENDIF 461 470 ENDIF … … 499 508 ENDIF 500 509 501 CASE ( 'bio_perct*', 'bio_utci*', 'bio_pet*' )510 CASE ( 'bio_perct*', 'bio_utci*', 'bio_pet*', 'bio_mrt*' ) 502 511 ! 503 512 !-- Only continue if the current index is the one to trigger the input … … 509 518 IF ( average_trigger_pet .AND. TRIM( variable ) /= & 510 519 'bio_pet*') RETURN 520 IF ( average_trigger_mrt .AND. TRIM( variable ) /= & 521 'bio_mrt*') RETURN 511 522 ! 512 523 !-- Now memorize which of the input grids are not averaged by other … … 637 648 ENDIF 638 649 639 CASE ( 'bio_perct*', 'bio_utci*', 'bio_pet*' )650 CASE ( 'bio_perct*', 'bio_utci*', 'bio_pet*', 'bio_mrt*' ) 640 651 ! 641 652 !-- Only continue if update index, see above … … 646 657 IF ( average_trigger_pet .AND. & 647 658 TRIM( variable ) /= 'bio_pet*' ) RETURN 659 IF ( average_trigger_mrt .AND. & 660 TRIM( variable ) /= 'bio_mrt*' ) RETURN 648 661 649 662 IF ( ALLOCATED( pt_av ) .AND. do_average_theta ) THEN … … 748 761 !-- derived in a single step based on priorly averaged arrays (see 749 762 !-- bio_calculate_thermal_index_maps). 750 CASE ( 'bio_mrt' )763 CASE ( 'bio_mrt', 'bio_mrt*' ) 751 764 unit = 'degree_C' 752 765 thermal_comfort = .TRUE. !< enable thermal_comfort if user forgot to do so … … 755 768 tmrt_grid = REAL( bio_fill_value, KIND = wp ) 756 769 ENDIF 770 IF ( TRIM( var ) == 'bio_mrt*' ) THEN 771 do_calculate_mrt2d = .TRUE. 772 END IF 757 773 758 774 CASE ( 'bio_perct*' ) … … 961 977 ENDDO 962 978 979 CASE ( 'bio_mrt*_xy' ) ! 2d-array 980 grid = 'zu1' 981 two_d = .TRUE. 982 IF ( av == 0 ) THEN 983 DO i = nxl, nxr 984 DO j = nys, nyn 985 local_pf(i,j,nzb+1) = tmrt_grid(j,i) 986 ENDDO 987 ENDDO 988 ELSE 989 DO i = nxl, nxr 990 DO j = nys, nyn 991 local_pf(i,j,nzb+1) = tmrt_av_grid(j,i) 992 ENDDO 993 ENDDO 994 ENDIF 995 963 996 964 997 CASE ( 'bio_perct*_xy' ) ! 2d-array … … 1372 1405 READ ( 13 ) average_trigger_pet 1373 1406 1407 CASE ( 'average_trigger_mrt' ) 1408 READ ( 13 ) average_trigger_mrt 1409 1374 1410 1375 1411 CASE DEFAULT … … 1451 1487 CALL wrd_write_string( 'average_trigger_pet' ) 1452 1488 WRITE ( 14 ) average_trigger_pet 1489 CALL wrd_write_string( 'average_trigger_mrt' ) 1490 WRITE ( 14 ) average_trigger_mrt 1453 1491 1454 1492 END SUBROUTINE bio_wrd_global … … 1694 1732 IF ( do_calculate_perct .OR. do_calculate_perct_av .OR. & 1695 1733 do_calculate_utci .OR. do_calculate_utci_av .OR. & 1696 do_calculate_pet .OR. do_calculate_pet_av ) THEN 1734 do_calculate_pet .OR. do_calculate_pet_av .OR. & 1735 do_calculate_mrt2d ) THEN 1697 1736 1698 1737 !
Note: See TracChangeset
for help on using the changeset viewer.