Changeset 4671 for palm/trunk/SOURCE/surface_data_output_mod.f90
- Timestamp:
- Sep 9, 2020 8:27:58 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/surface_data_output_mod.f90
r4601 r4671 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Implementation of downward facing USM and LSM surfaces 28 ! 29 ! 4601 2020-07-14 12:06:09Z suehring 27 30 ! Minor simplification in name creation for IO variables in restart files. 28 31 ! … … 372 375 ! 373 376 !-- Determine the number of surface elements on subdomain 374 surfaces%ns = surf_def_h(0)%ns + surf_lsm_h %ns + surf_usm_h%ns& !horizontal upward-facing375 + surf_def_h(1)%ns 377 surfaces%ns = surf_def_h(0)%ns + surf_lsm_h(0)%ns + surf_usm_h(0)%ns & !horizontal upward-facing 378 + surf_def_h(1)%ns + surf_lsm_h(1)%ns + surf_usm_h(1)%ns & !horizontal downard-facing 376 379 + surf_def_v(0)%ns + surf_lsm_v(0)%ns + surf_usm_v(0)%ns & !northward-facing 377 380 + surf_def_v(1)%ns + surf_lsm_v(1)%ns + surf_usm_v(1)%ns & !southward-facing … … 474 477 ENDIF 475 478 ENDDO 476 ENDDO477 DO m = 1, surf_lsm_h%ns478 i = surf_lsm_h%i(m) + surf_lsm_h%ioff479 j = surf_lsm_h%j(m) + surf_lsm_h%joff480 k = surf_lsm_h%k(m) + surf_lsm_h%koff 481 482 IF ( point_index(k,j,i) < 0 ) THEN483 surfaces%npoints = surfaces%npoints +1484 point_index(k,j,i) = surfaces%npoints - 1485 ENDIF486 IF ( point_index(k,j,i+1) < 0 ) THEN487 surfaces%npoints = surfaces%npoints +1488 point_index(k,j,i+1) = surfaces%npoints - 1489 ENDIF490 IF ( point_index(k,j+1,i+1) < 0 ) THEN491 surfaces%npoints = surfaces%npoints +1492 point_index(k,j+1,i+1) = surfaces%npoints - 1493 ENDIF494 IF ( point_index(k,j+1,i) < 0 ) THEN495 surfaces%npoints = surfaces%npoints +1496 point_index(k,j+1,i) = surfaces%npoints - 1497 END IF498 ENDDO499 DO m = 1, surf_usm_h%ns500 i = surf_usm_h%i(m) + surf_usm_h%ioff501 j = surf_usm_h%j(m) + surf_usm_h%joff502 k = surf_usm_h%k(m) + surf_usm_h%koff 503 504 IF ( point_index(k,j,i) < 0 ) THEN505 surfaces%npoints = surfaces%npoints +1506 point_index(k,j,i) = surfaces%npoints - 1507 ENDIF508 IF ( point_index(k,j,i+1) < 0 ) THEN509 surfaces%npoints = surfaces%npoints +1510 point_index(k,j,i+1) = surfaces%npoints - 1511 ENDIF512 IF ( point_index(k,j+1,i+1) < 0 ) THEN513 surfaces%npoints = surfaces%npoints +1514 point_index(k,j+1,i+1) = surfaces%npoints - 1515 ENDIF516 IF ( point_index(k,j+1,i) < 0 ) THEN517 surfaces%npoints = surfaces%npoints +1518 point_index(k,j+1,i) = surfaces%npoints - 1519 END IF479 DO m = 1, surf_lsm_h(l)%ns 480 i = surf_lsm_h(l)%i(m) + surf_lsm_h(l)%ioff 481 j = surf_lsm_h(l)%j(m) + surf_lsm_h(l)%joff 482 k = surf_lsm_h(l)%k(m) + surf_lsm_h(l)%koff 483 484 IF ( point_index(k,j,i) < 0 ) THEN 485 surfaces%npoints = surfaces%npoints + 1 486 point_index(k,j,i) = surfaces%npoints - 1 487 ENDIF 488 IF ( point_index(k,j,i+1) < 0 ) THEN 489 surfaces%npoints = surfaces%npoints + 1 490 point_index(k,j,i+1) = surfaces%npoints - 1 491 ENDIF 492 IF ( point_index(k,j+1,i+1) < 0 ) THEN 493 surfaces%npoints = surfaces%npoints + 1 494 point_index(k,j+1,i+1) = surfaces%npoints - 1 495 ENDIF 496 IF ( point_index(k,j+1,i) < 0 ) THEN 497 surfaces%npoints = surfaces%npoints + 1 498 point_index(k,j+1,i) = surfaces%npoints - 1 499 ENDIF 500 ENDDO 501 DO m = 1, surf_usm_h(l)%ns 502 i = surf_usm_h(l)%i(m) + surf_usm_h(l)%ioff 503 j = surf_usm_h(l)%j(m) + surf_usm_h(l)%joff 504 k = surf_usm_h(l)%k(m) + surf_usm_h(l)%koff 505 506 IF ( point_index(k,j,i) < 0 ) THEN 507 surfaces%npoints = surfaces%npoints + 1 508 point_index(k,j,i) = surfaces%npoints - 1 509 ENDIF 510 IF ( point_index(k,j,i+1) < 0 ) THEN 511 surfaces%npoints = surfaces%npoints + 1 512 point_index(k,j,i+1) = surfaces%npoints - 1 513 ENDIF 514 IF ( point_index(k,j+1,i+1) < 0 ) THEN 515 surfaces%npoints = surfaces%npoints + 1 516 point_index(k,j+1,i+1) = surfaces%npoints - 1 517 ENDIF 518 IF ( point_index(k,j+1,i) < 0 ) THEN 519 surfaces%npoints = surfaces%npoints + 1 520 point_index(k,j+1,i) = surfaces%npoints - 1 521 ENDIF 522 ENDDO 520 523 ENDDO 521 524 ! … … 731 734 surfaces%polygons(5,npg) = point_index(k,j+1,i) 732 735 ENDDO 733 ENDDO734 DO m = 1, surf_lsm_h%ns735 i = surf_lsm_h%i(m) + surf_lsm_h%ioff736 j = surf_lsm_h%j(m) + surf_lsm_h%joff737 k = surf_lsm_h%k(m) + surf_lsm_h%koff738 IF ( point_index(k,j,i) < 0 ) THEN739 surfaces%npoints = surfaces%npoints + 1740 point_index(k,j,i) = point_index_count741 point_index_count = point_index_count + 1742 surfaces%points(1,surfaces%npoints) = ( i - 0.5_wp ) * dx743 surfaces%points(2,surfaces%npoints) = ( j - 0.5_wp ) * dy744 surfaces%points(3,surfaces%npoints) = zw(k)745 ENDIF746 IF ( point_index(k,j,i+1) < 0 ) THEN747 surfaces%npoints = surfaces%npoints + 1748 point_index(k,j,i+1) = point_index_count749 point_index_count = point_index_count + 1750 surfaces%points(1,surfaces%npoints) = ( i + 1 - 0.5_wp ) * dx751 surfaces%points(2,surfaces%npoints) = ( j - 0.5_wp ) * dy752 surfaces%points(3,surfaces%npoints) = zw(k)753 ENDIF754 IF ( point_index(k,j+1,i+1) < 0 ) THEN755 surfaces%npoints = surfaces%npoints + 1756 point_index(k,j+1,i+1) = point_index_count757 point_index_count = point_index_count + 1758 surfaces%points(1,surfaces%npoints) = ( i + 1 - 0.5_wp ) * dx759 surfaces%points(2,surfaces%npoints) = ( j + 1 - 0.5_wp ) * dy760 surfaces%points(3,surfaces%npoints) = zw(k)761 ENDIF762 IF ( point_index(k,j+1,i) < 0 ) THEN763 surfaces%npoints = surfaces%npoints + 1764 point_index(k,j+1,i) = point_index_count765 point_index_count = point_index_count + 1766 surfaces%points(1,surfaces%npoints) = ( i - 0.5_wp ) * dx767 surfaces%points(2,surfaces%npoints) = ( j + 1 - 0.5_wp ) * dy768 surfaces%points(3,surfaces%npoints) = zw(k)769 ENDIF 770 771 npg = npg + 1772 surfaces%polygons(1,npg) = 4773 surfaces%polygons(2,npg) = point_index(k,j,i)774 surfaces%polygons(3,npg) = point_index(k,j,i+1)775 surfaces%polygons(4,npg) = point_index(k,j+1,i+1)776 surfaces%polygons(5,npg) = point_index(k,j+1,i)777 ENDDO 778 779 DO m = 1, surf_usm_h%ns780 i = surf_usm_h%i(m) + surf_usm_h%ioff781 j = surf_usm_h%j(m) + surf_usm_h%joff782 k = surf_usm_h%k(m) + surf_usm_h%koff 783 784 IF ( point_index(k,j,i) < 0 ) THEN785 surfaces%npoints = surfaces%npoints + 1786 point_index(k,j,i) = point_index_count787 point_index_count = point_index_count + 1788 surfaces%points(1,surfaces%npoints) = ( i - 0.5_wp ) * dx789 surfaces%points(2,surfaces%npoints) = ( j - 0.5_wp ) * dy790 surfaces%points(3,surfaces%npoints) = zw(k)791 ENDIF792 IF ( point_index(k,j,i+1) < 0 ) THEN793 surfaces%npoints = surfaces%npoints + 1794 point_index(k,j,i+1) = point_index_count795 point_index_count = point_index_count + 1796 surfaces%points(1,surfaces%npoints) = ( i + 1 - 0.5_wp ) * dx797 surfaces%points(2,surfaces%npoints) = ( j - 0.5_wp ) * dy798 surfaces%points(3,surfaces%npoints) = zw(k)799 ENDIF800 IF ( point_index(k,j+1,i+1) < 0 ) THEN801 surfaces%npoints = surfaces%npoints + 1802 point_index(k,j+1,i+1) = point_index_count803 point_index_count = point_index_count + 1804 surfaces%points(1,surfaces%npoints) = ( i + 1 - 0.5_wp ) * dx805 surfaces%points(2,surfaces%npoints) = ( j + 1 - 0.5_wp ) * dy806 surfaces%points(3,surfaces%npoints) = zw(k)807 ENDIF808 IF ( point_index(k,j+1,i) < 0 ) THEN809 surfaces%npoints = surfaces%npoints + 1810 point_index(k,j+1,i) = point_index_count811 point_index_count = point_index_count + 1812 surfaces%points(1,surfaces%npoints) = ( i - 0.5_wp ) * dx813 surfaces%points(2,surfaces%npoints) = ( j + 1 - 0.5_wp ) * dy814 surfaces%points(3,surfaces%npoints) = zw(k)815 ENDIF 816 817 npg = npg + 1818 surfaces%polygons(1,npg) = 4819 surfaces%polygons(2,npg) = point_index(k,j,i)820 surfaces%polygons(3,npg) = point_index(k,j,i+1)821 surfaces%polygons(4,npg) = point_index(k,j+1,i+1)822 surfaces%polygons(5,npg) = point_index(k,j+1,i)736 DO m = 1, surf_lsm_h(l)%ns 737 i = surf_lsm_h(l)%i(m) + surf_lsm_h(l)%ioff 738 j = surf_lsm_h(l)%j(m) + surf_lsm_h(l)%joff 739 k = surf_lsm_h(l)%k(m) + surf_lsm_h(l)%koff 740 IF ( point_index(k,j,i) < 0 ) THEN 741 surfaces%npoints = surfaces%npoints + 1 742 point_index(k,j,i) = point_index_count 743 point_index_count = point_index_count + 1 744 surfaces%points(1,surfaces%npoints) = ( i - 0.5_wp ) * dx 745 surfaces%points(2,surfaces%npoints) = ( j - 0.5_wp ) * dy 746 surfaces%points(3,surfaces%npoints) = zw(k) 747 ENDIF 748 IF ( point_index(k,j,i+1) < 0 ) THEN 749 surfaces%npoints = surfaces%npoints + 1 750 point_index(k,j,i+1) = point_index_count 751 point_index_count = point_index_count + 1 752 surfaces%points(1,surfaces%npoints) = ( i + 1 - 0.5_wp ) * dx 753 surfaces%points(2,surfaces%npoints) = ( j - 0.5_wp ) * dy 754 surfaces%points(3,surfaces%npoints) = zw(k) 755 ENDIF 756 IF ( point_index(k,j+1,i+1) < 0 ) THEN 757 surfaces%npoints = surfaces%npoints + 1 758 point_index(k,j+1,i+1) = point_index_count 759 point_index_count = point_index_count + 1 760 surfaces%points(1,surfaces%npoints) = ( i + 1 - 0.5_wp ) * dx 761 surfaces%points(2,surfaces%npoints) = ( j + 1 - 0.5_wp ) * dy 762 surfaces%points(3,surfaces%npoints) = zw(k) 763 ENDIF 764 IF ( point_index(k,j+1,i) < 0 ) THEN 765 surfaces%npoints = surfaces%npoints + 1 766 point_index(k,j+1,i) = point_index_count 767 point_index_count = point_index_count + 1 768 surfaces%points(1,surfaces%npoints) = ( i - 0.5_wp ) * dx 769 surfaces%points(2,surfaces%npoints) = ( j + 1 - 0.5_wp ) * dy 770 surfaces%points(3,surfaces%npoints) = zw(k) 771 ENDIF 772 773 npg = npg + 1 774 surfaces%polygons(1,npg) = 4 775 surfaces%polygons(2,npg) = point_index(k,j,i) 776 surfaces%polygons(3,npg) = point_index(k,j,i+1) 777 surfaces%polygons(4,npg) = point_index(k,j+1,i+1) 778 surfaces%polygons(5,npg) = point_index(k,j+1,i) 779 ENDDO 780 781 DO m = 1, surf_usm_h(l)%ns 782 i = surf_usm_h(l)%i(m) + surf_usm_h(l)%ioff 783 j = surf_usm_h(l)%j(m) + surf_usm_h(l)%joff 784 k = surf_usm_h(l)%k(m) + surf_usm_h(l)%koff 785 786 IF ( point_index(k,j,i) < 0 ) THEN 787 surfaces%npoints = surfaces%npoints + 1 788 point_index(k,j,i) = point_index_count 789 point_index_count = point_index_count + 1 790 surfaces%points(1,surfaces%npoints) = ( i - 0.5_wp ) * dx 791 surfaces%points(2,surfaces%npoints) = ( j - 0.5_wp ) * dy 792 surfaces%points(3,surfaces%npoints) = zw(k) 793 ENDIF 794 IF ( point_index(k,j,i+1) < 0 ) THEN 795 surfaces%npoints = surfaces%npoints + 1 796 point_index(k,j,i+1) = point_index_count 797 point_index_count = point_index_count + 1 798 surfaces%points(1,surfaces%npoints) = ( i + 1 - 0.5_wp ) * dx 799 surfaces%points(2,surfaces%npoints) = ( j - 0.5_wp ) * dy 800 surfaces%points(3,surfaces%npoints) = zw(k) 801 ENDIF 802 IF ( point_index(k,j+1,i+1) < 0 ) THEN 803 surfaces%npoints = surfaces%npoints + 1 804 point_index(k,j+1,i+1) = point_index_count 805 point_index_count = point_index_count + 1 806 surfaces%points(1,surfaces%npoints) = ( i + 1 - 0.5_wp ) * dx 807 surfaces%points(2,surfaces%npoints) = ( j + 1 - 0.5_wp ) * dy 808 surfaces%points(3,surfaces%npoints) = zw(k) 809 ENDIF 810 IF ( point_index(k,j+1,i) < 0 ) THEN 811 surfaces%npoints = surfaces%npoints + 1 812 point_index(k,j+1,i) = point_index_count 813 point_index_count = point_index_count + 1 814 surfaces%points(1,surfaces%npoints) = ( i - 0.5_wp ) * dx 815 surfaces%points(2,surfaces%npoints) = ( j + 1 - 0.5_wp ) * dy 816 surfaces%points(3,surfaces%npoints) = zw(k) 817 ENDIF 818 819 npg = npg + 1 820 surfaces%polygons(1,npg) = 4 821 surfaces%polygons(2,npg) = point_index(k,j,i) 822 surfaces%polygons(3,npg) = point_index(k,j,i+1) 823 surfaces%polygons(4,npg) = point_index(k,j+1,i+1) 824 surfaces%polygons(5,npg) = point_index(k,j+1,i) 825 ENDDO 823 826 ENDDO 824 827 … … 1119 1122 i = start_count 1120 1123 mm = 1 1121 DO m = 1, surf_def_h(0)%ns 1122 surfaces%s(mm) = i 1123 surfaces%xs(mm) = ( surf_def_h(0)%i(m) + 0.5_wp ) * dx 1124 surfaces%ys(mm) = ( surf_def_h(0)%j(m) + 0.5_wp ) * dy 1125 surfaces%zs(mm) = zw(surf_def_h(0)%k(m)+surf_def_h(0)%koff) 1126 surfaces%azimuth(mm) = surfaces%fillvalue 1127 surfaces%zenith(mm) = 0.0 1128 i = i + 1 1129 mm = mm + 1 1130 ENDDO 1131 DO m = 1, surf_lsm_h%ns 1132 surfaces%s(mm) = i 1133 surfaces%xs(mm) = ( surf_lsm_h%i(m) + 0.5_wp ) * dx 1134 surfaces%ys(mm) = ( surf_lsm_h%j(m) + 0.5_wp ) * dy 1135 surfaces%zs(mm) = zw(surf_lsm_h%k(m)+surf_lsm_h%koff) 1136 surfaces%azimuth(mm) = surfaces%fillvalue 1137 surfaces%zenith(mm) = 0.0 1138 i = i + 1 1139 mm = mm + 1 1140 ENDDO 1141 DO m = 1, surf_usm_h%ns 1142 surfaces%s(mm) = i 1143 surfaces%xs(mm) = ( surf_usm_h%i(m) + 0.5_wp ) * dx 1144 surfaces%ys(mm) = ( surf_usm_h%j(m) + 0.5_wp ) * dy 1145 surfaces%zs(mm) = zw(surf_usm_h%k(m)+surf_usm_h%koff) 1146 surfaces%azimuth(mm) = surfaces%fillvalue 1147 surfaces%zenith(mm) = 0.0 1148 i = i + 1 1149 mm = mm + 1 1150 ENDDO 1151 DO m = 1, surf_def_h(1)%ns 1152 surfaces%s(mm) = i 1153 surfaces%xs(mm) = ( surf_def_h(1)%i(m) + 0.5_wp ) * dx 1154 surfaces%ys(mm) = ( surf_def_h(1)%j(m) + 0.5_wp ) * dy 1155 surfaces%zs(mm) = zw(surf_def_h(1)%k(m)+surf_def_h(1)%koff) 1156 surfaces%azimuth(mm) = surfaces%fillvalue 1157 surfaces%zenith(mm) = 180.0 1158 i = i + 1 1159 mm = mm + 1 1124 DO l = 0, 1 1125 DO m = 1, surf_def_h(l)%ns 1126 surfaces%s(mm) = i 1127 surfaces%xs(mm) = ( surf_def_h(l)%i(m) + 0.5_wp ) * dx 1128 surfaces%ys(mm) = ( surf_def_h(l)%j(m) + 0.5_wp ) * dy 1129 surfaces%zs(mm) = zw(surf_def_h(l)%k(m)+surf_def_h(l)%koff) 1130 surfaces%azimuth(mm) = surfaces%fillvalue 1131 surfaces%zenith(mm) = 180.0_wp * l 1132 i = i + 1 1133 mm = mm + 1 1134 ENDDO 1135 DO m = 1, surf_lsm_h(l)%ns 1136 surfaces%s(mm) = i 1137 surfaces%xs(mm) = ( surf_lsm_h(l)%i(m) + 0.5_wp ) * dx 1138 surfaces%ys(mm) = ( surf_lsm_h(l)%j(m) + 0.5_wp ) * dy 1139 surfaces%zs(mm) = zw(surf_lsm_h(l)%k(m)+surf_lsm_h(l)%koff) 1140 surfaces%azimuth(mm) = surfaces%fillvalue 1141 surfaces%zenith(mm) = 180.0_wp * l 1142 i = i + 1 1143 mm = mm + 1 1144 ENDDO 1145 DO m = 1, surf_usm_h(l)%ns 1146 surfaces%s(mm) = i 1147 surfaces%xs(mm) = ( surf_usm_h(l)%i(m) + 0.5_wp ) * dx 1148 surfaces%ys(mm) = ( surf_usm_h(l)%j(m) + 0.5_wp ) * dy 1149 surfaces%zs(mm) = zw(surf_usm_h(l)%k(m)+surf_usm_h(l)%koff) 1150 surfaces%azimuth(mm) = surfaces%fillvalue 1151 surfaces%zenith(mm) = 180.0_wp * l 1152 i = i + 1 1153 mm = mm + 1 1154 ENDDO 1160 1155 ENDDO 1161 1156 ! … … 1528 1523 !-- Output of instantaneous data 1529 1524 IF ( av == 0 ) THEN 1530 CALL surface_data_output_collect( surf_def_h(0)%us, surf_def_h(1)%us, & 1531 surf_lsm_h%us, surf_usm_h%us, surf_def_v(0)%us, & 1532 surf_lsm_v(0)%us, surf_usm_v(0)%us, & 1533 surf_def_v(1)%us, surf_lsm_v(1)%us, & 1534 surf_usm_v(1)%us, surf_def_v(2)%us, & 1535 surf_lsm_v(2)%us, surf_usm_v(2)%us, & 1536 surf_def_v(3)%us, surf_lsm_v(3)%us, & 1537 surf_usm_v(3)%us ) 1525 CALL surface_data_output_collect( & 1526 surf_def_h(0)%us, surf_lsm_h(0)%us, surf_usm_h(0)%us, & 1527 surf_def_h(1)%us, surf_lsm_h(1)%us, surf_usm_h(1)%us, & 1528 surf_def_v(0)%us, surf_lsm_v(0)%us, surf_usm_v(0)%us, & 1529 surf_def_v(1)%us, surf_lsm_v(1)%us, surf_usm_v(1)%us, & 1530 surf_def_v(2)%us, surf_lsm_v(2)%us, surf_usm_v(2)%us, & 1531 surf_def_v(3)%us, surf_lsm_v(3)%us, surf_usm_v(3)%us ) 1538 1532 ELSE 1539 1533 ! … … 1548 1542 !-- Output of instantaneous data 1549 1543 IF ( av == 0 ) THEN 1550 CALL surface_data_output_collect( surf_def_h(0)%ts, surf_def_h(1)%ts, & 1551 surf_lsm_h%ts, surf_usm_h%ts, surf_def_v(0)%ts, & 1552 surf_lsm_v(0)%ts, surf_usm_v(0)%ts, & 1553 surf_def_v(1)%ts, surf_lsm_v(1)%ts, & 1554 surf_usm_v(1)%ts, surf_def_v(2)%ts, & 1555 surf_lsm_v(2)%ts, surf_usm_v(2)%ts, & 1556 surf_def_v(3)%ts, surf_lsm_v(3)%ts, & 1557 surf_usm_v(3)%ts ) 1544 CALL surface_data_output_collect( & 1545 surf_def_h(0)%ts, surf_lsm_h(0)%ts, surf_usm_h(0)%ts, & 1546 surf_def_h(1)%ts, surf_lsm_h(1)%ts, surf_usm_h(1)%ts, & 1547 surf_def_v(0)%ts, surf_lsm_v(0)%ts, surf_usm_v(0)%ts, & 1548 surf_def_v(1)%ts, surf_lsm_v(1)%ts, surf_usm_v(1)%ts, & 1549 surf_def_v(2)%ts, surf_lsm_v(2)%ts, surf_usm_v(2)%ts, & 1550 surf_def_v(3)%ts, surf_lsm_v(3)%ts, surf_usm_v(3)%ts ) 1558 1551 ELSE 1559 1552 ! … … 1568 1561 !-- Output of instantaneous data 1569 1562 IF ( av == 0 ) THEN 1570 CALL surface_data_output_collect( surf_def_h(0)%qs, surf_def_h(1)%qs, & 1571 surf_lsm_h%qs, surf_usm_h%qs, surf_def_v(0)%qs, & 1572 surf_lsm_v(0)%qs, surf_usm_v(0)%qs, & 1573 surf_def_v(1)%qs, surf_lsm_v(1)%qs, & 1574 surf_usm_v(1)%qs, surf_def_v(2)%qs, & 1575 surf_lsm_v(2)%qs, surf_usm_v(2)%qs, & 1576 surf_def_v(3)%qs, surf_lsm_v(3)%qs, & 1577 surf_usm_v(3)%qs ) 1563 CALL surface_data_output_collect( & 1564 surf_def_h(0)%qs, surf_lsm_h(0)%qs, surf_usm_h(0)%qs, & 1565 surf_def_h(1)%qs, surf_lsm_h(1)%qs, surf_usm_h(1)%qs, & 1566 surf_def_v(0)%qs, surf_lsm_v(0)%qs, surf_usm_v(0)%qs, & 1567 surf_def_v(1)%qs, surf_lsm_v(1)%qs, surf_usm_v(1)%qs, & 1568 surf_def_v(2)%qs, surf_lsm_v(2)%qs, surf_usm_v(2)%qs, & 1569 surf_def_v(3)%qs, surf_lsm_v(3)%qs, surf_usm_v(3)%qs ) 1578 1570 ELSE 1579 1571 ! … … 1588 1580 !-- Output of instantaneous data 1589 1581 IF ( av == 0 ) THEN 1590 CALL surface_data_output_collect( surf_def_h(0)%ss, surf_def_h(1)%ss, & 1591 surf_lsm_h%ss, surf_usm_h%ss, surf_def_v(0)%ss, & 1592 surf_lsm_v(0)%ss, surf_usm_v(0)%ss, & 1593 surf_def_v(1)%ss, surf_lsm_v(1)%ss, & 1594 surf_usm_v(1)%ss, surf_def_v(2)%ss, & 1595 surf_lsm_v(2)%ss, surf_usm_v(2)%ss, & 1596 surf_def_v(3)%ss, surf_lsm_v(3)%ss, & 1597 surf_usm_v(3)%ss ) 1582 CALL surface_data_output_collect( & 1583 surf_def_h(0)%ss, surf_lsm_h(0)%ss, surf_usm_h(0)%ss, & 1584 surf_def_h(1)%ss, surf_lsm_h(1)%ss, surf_usm_h(1)%ss, & 1585 surf_def_v(0)%ss, surf_lsm_v(0)%ss, surf_usm_v(0)%ss, & 1586 surf_def_v(1)%ss, surf_lsm_v(1)%ss, surf_usm_v(1)%ss, & 1587 surf_def_v(2)%ss, surf_lsm_v(2)%ss, surf_usm_v(2)%ss, & 1588 surf_def_v(3)%ss, surf_lsm_v(3)%ss, surf_usm_v(3)%ss ) 1598 1589 ELSE 1599 1590 ! … … 1608 1599 !-- Output of instantaneous data 1609 1600 IF ( av == 0 ) THEN 1610 CALL surface_data_output_collect( surf_def_h(0)%qcs, surf_def_h(1)%qcs, & 1611 surf_lsm_h%qcs, surf_usm_h%qcs, & 1612 surf_def_v(0)%qcs, surf_lsm_v(0)%qcs, & 1613 surf_usm_v(0)%qcs, surf_def_v(1)%qcs, & 1614 surf_lsm_v(1)%qcs, surf_usm_v(1)%qcs, & 1615 surf_def_v(2)%qcs, surf_lsm_v(2)%qcs, & 1616 surf_usm_v(2)%qcs, surf_def_v(3)%qcs, & 1617 surf_lsm_v(3)%qcs, surf_usm_v(3)%qcs ) 1601 CALL surface_data_output_collect( & 1602 surf_def_h(0)%qcs, surf_lsm_h(0)%qcs, surf_usm_h(0)%qcs, & 1603 surf_def_h(1)%qcs, surf_lsm_h(1)%qcs, surf_usm_h(1)%qcs, & 1604 surf_def_v(0)%qcs, surf_lsm_v(0)%qcs, surf_usm_v(0)%qcs, & 1605 surf_def_v(1)%qcs, surf_lsm_v(1)%qcs, surf_usm_v(1)%qcs, & 1606 surf_def_v(2)%qcs, surf_lsm_v(2)%qcs, surf_usm_v(2)%qcs, & 1607 surf_def_v(3)%qcs, surf_lsm_v(3)%qcs, surf_usm_v(3)%qcs ) 1618 1608 ELSE 1619 1609 ! … … 1628 1618 !-- Output of instantaneous data 1629 1619 IF ( av == 0 ) THEN 1630 CALL surface_data_output_collect( surf_def_h(0)%ncs, surf_def_h(1)%ncs, & 1631 surf_lsm_h%ncs, surf_usm_h%ncs, & 1632 surf_def_v(0)%ncs, surf_lsm_v(0)%ncs, & 1633 surf_usm_v(0)%ncs, surf_def_v(1)%ncs, & 1634 surf_lsm_v(1)%ncs, surf_usm_v(1)%ncs, & 1635 surf_def_v(2)%ncs, surf_lsm_v(2)%ncs, & 1636 surf_usm_v(2)%ncs, surf_def_v(3)%ncs, & 1637 surf_lsm_v(3)%ncs, surf_usm_v(3)%ncs ) 1620 CALL surface_data_output_collect( & 1621 surf_def_h(0)%ncs, surf_lsm_h(0)%ncs, surf_usm_h(0)%ncs, & 1622 surf_def_h(1)%ncs, surf_lsm_h(1)%ncs, surf_usm_h(1)%ncs, & 1623 surf_def_v(0)%ncs, surf_lsm_v(0)%ncs, surf_usm_v(0)%ncs, & 1624 surf_def_v(1)%ncs, surf_lsm_v(1)%ncs, surf_usm_v(1)%ncs, & 1625 surf_def_v(2)%ncs, surf_lsm_v(2)%ncs, surf_usm_v(2)%ncs, & 1626 surf_def_v(3)%ncs, surf_lsm_v(3)%ncs, surf_usm_v(3)%ncs ) 1638 1627 ELSE 1639 1628 ! … … 1648 1637 !-- Output of instantaneous data 1649 1638 IF ( av == 0 ) THEN 1650 CALL surface_data_output_collect( surf_def_h(0)%qis, surf_def_h(1)%qis, & 1651 surf_lsm_h%qis, surf_usm_h%qis, & 1652 surf_def_v(0)%qis, surf_lsm_v(0)%qis, & 1653 surf_usm_v(0)%qis, surf_def_v(1)%qis, & 1654 surf_lsm_v(1)%qis, surf_usm_v(1)%qis, & 1655 surf_def_v(2)%qis, surf_lsm_v(2)%qis, & 1656 surf_usm_v(2)%qis, surf_def_v(3)%qis, & 1657 surf_lsm_v(3)%qis, surf_usm_v(3)%qis ) 1639 CALL surface_data_output_collect( & 1640 surf_def_h(0)%qis, surf_lsm_h(0)%qis, surf_usm_h(0)%qis, & 1641 surf_def_h(1)%qis, surf_lsm_h(1)%qis, surf_usm_h(1)%qis, & 1642 surf_def_v(0)%qis, surf_lsm_v(0)%qis, surf_usm_v(0)%qis, & 1643 surf_def_v(1)%qis, surf_lsm_v(1)%qis, surf_usm_v(1)%qis, & 1644 surf_def_v(2)%qis, surf_lsm_v(2)%qis, surf_usm_v(2)%qis, & 1645 surf_def_v(3)%qis, surf_lsm_v(3)%qis, surf_usm_v(3)%qis ) 1658 1646 ELSE 1659 1647 ! … … 1668 1656 !-- Output of instantaneous data 1669 1657 IF ( av == 0 ) THEN 1670 CALL surface_data_output_collect( surf_def_h(0)%nis, surf_def_h(1)%nis, & 1671 surf_lsm_h%nis, surf_usm_h%nis, & 1672 surf_def_v(0)%nis, surf_lsm_v(0)%nis, & 1673 surf_usm_v(0)%nis, surf_def_v(1)%nis, & 1674 surf_lsm_v(1)%nis, surf_usm_v(1)%nis, & 1675 surf_def_v(2)%nis, surf_lsm_v(2)%nis, & 1676 surf_usm_v(2)%nis, surf_def_v(3)%nis, & 1677 surf_lsm_v(3)%nis, surf_usm_v(3)%nis ) 1658 CALL surface_data_output_collect( & 1659 surf_def_h(0)%nis, surf_lsm_h(0)%nis, surf_usm_h(0)%nis, & 1660 surf_def_h(1)%nis, surf_lsm_h(1)%nis, surf_usm_h(1)%nis, & 1661 surf_def_v(0)%nis, surf_lsm_v(0)%nis, surf_usm_v(0)%nis, & 1662 surf_def_v(1)%nis, surf_lsm_v(1)%nis, surf_usm_v(1)%nis, & 1663 surf_def_v(2)%nis, surf_lsm_v(2)%nis, surf_usm_v(2)%nis, & 1664 surf_def_v(3)%nis, surf_lsm_v(3)%nis, surf_usm_v(3)%nis ) 1678 1665 ELSE 1679 1666 ! … … 1688 1675 !-- Output of instantaneous data 1689 1676 IF ( av == 0 ) THEN 1690 CALL surface_data_output_collect( surf_def_h(0)%qrs, surf_def_h(1)%qrs, & 1691 surf_lsm_h%qrs, surf_usm_h%qrs, & 1692 surf_def_v(0)%qrs, surf_lsm_v(0)%qrs, & 1693 surf_usm_v(0)%qrs, surf_def_v(1)%qrs, & 1694 surf_lsm_v(1)%qrs, surf_usm_v(1)%qrs, & 1695 surf_def_v(2)%qrs, surf_lsm_v(2)%qrs, & 1696 surf_usm_v(2)%qrs, surf_def_v(3)%qrs, & 1697 surf_lsm_v(3)%qrs, surf_usm_v(3)%qrs ) 1677 CALL surface_data_output_collect( & 1678 surf_def_h(0)%qrs, surf_lsm_h(0)%qrs, surf_usm_h(0)%qrs, & 1679 surf_def_h(1)%qrs, surf_lsm_h(1)%qrs, surf_usm_h(1)%qrs, & 1680 surf_def_v(0)%qrs, surf_lsm_v(0)%qrs, surf_usm_v(0)%qrs, & 1681 surf_def_v(1)%qrs, surf_lsm_v(1)%qrs, surf_usm_v(1)%qrs, & 1682 surf_def_v(2)%qrs, surf_lsm_v(2)%qrs, surf_usm_v(2)%qrs, & 1683 surf_def_v(3)%qrs, surf_lsm_v(3)%qrs, surf_usm_v(3)%qrs ) 1698 1684 ELSE 1699 1685 ! … … 1708 1694 !-- Output of instantaneous data 1709 1695 IF ( av == 0 ) THEN 1710 CALL surface_data_output_collect( surf_def_h(0)%nrs, surf_def_h(1)%nrs, & 1711 surf_lsm_h%nrs, surf_usm_h%nrs, & 1712 surf_def_v(0)%nrs, surf_lsm_v(0)%nrs, & 1713 surf_usm_v(0)%nrs, surf_def_v(1)%nrs, & 1714 surf_lsm_v(1)%nrs, surf_usm_v(1)%nrs, & 1715 surf_def_v(2)%nrs, surf_lsm_v(2)%nrs, & 1716 surf_usm_v(2)%nrs, surf_def_v(3)%nrs, & 1717 surf_lsm_v(3)%nrs, surf_usm_v(3)%nrs ) 1696 CALL surface_data_output_collect( & 1697 surf_def_h(0)%nrs, surf_lsm_h(0)%nrs, surf_usm_h(0)%nrs, & 1698 surf_def_h(1)%nrs, surf_lsm_h(1)%nrs, surf_usm_h(1)%nrs, & 1699 surf_def_v(0)%nrs, surf_lsm_v(0)%nrs, surf_usm_v(0)%nrs, & 1700 surf_def_v(1)%nrs, surf_lsm_v(1)%nrs, surf_usm_v(1)%nrs, & 1701 surf_def_v(2)%nrs, surf_lsm_v(2)%nrs, surf_usm_v(2)%nrs, & 1702 surf_def_v(3)%nrs, surf_lsm_v(3)%nrs, surf_usm_v(3)%nrs ) 1718 1703 ELSE 1719 1704 ! … … 1728 1713 !-- Output of instantaneous data 1729 1714 IF ( av == 0 ) THEN 1730 CALL surface_data_output_collect( surf_def_h(0)%ol, surf_def_h(1)%ol, & 1731 surf_lsm_h%ol, surf_usm_h%ol, surf_def_v(0)%ol, & 1732 surf_lsm_v(0)%ol, surf_usm_v(0)%ol, & 1733 surf_def_v(1)%ol, surf_lsm_v(1)%ol, & 1734 surf_usm_v(1)%ol, surf_def_v(2)%ol, & 1735 surf_lsm_v(2)%ol, surf_usm_v(2)%ol, & 1736 surf_def_v(3)%ol, surf_lsm_v(3)%ol, & 1737 surf_usm_v(3)%ol ) 1715 CALL surface_data_output_collect( & 1716 surf_def_h(0)%ol, surf_lsm_h(0)%ol, surf_usm_h(0)%ol, & 1717 surf_def_h(1)%ol, surf_lsm_h(1)%ol, surf_usm_h(1)%ol, & 1718 surf_def_v(0)%ol, surf_lsm_v(0)%ol, surf_usm_v(0)%ol, & 1719 surf_def_v(1)%ol, surf_lsm_v(1)%ol, surf_usm_v(1)%ol, & 1720 surf_def_v(2)%ol, surf_lsm_v(2)%ol, surf_usm_v(2)%ol, & 1721 surf_def_v(3)%ol, surf_lsm_v(3)%ol, surf_usm_v(3)%ol ) 1738 1722 ELSE 1739 1723 ! … … 1748 1732 !-- Output of instantaneous data 1749 1733 IF ( av == 0 ) THEN 1750 CALL surface_data_output_collect( surf_def_h(0)%z0, surf_def_h(1)%z0, & 1751 surf_lsm_h%z0, surf_usm_h%z0, surf_def_v(0)%z0, & 1752 surf_lsm_v(0)%z0, surf_usm_v(0)%z0, & 1753 surf_def_v(1)%z0, surf_lsm_v(1)%z0, & 1754 surf_usm_v(1)%z0, surf_def_v(2)%z0, & 1755 surf_lsm_v(2)%z0, surf_usm_v(2)%z0, & 1756 surf_def_v(3)%z0, surf_lsm_v(3)%z0, & 1757 surf_usm_v(3)%z0 ) 1734 CALL surface_data_output_collect( & 1735 surf_def_h(0)%z0, surf_lsm_h(0)%z0, surf_usm_h(0)%z0, & 1736 surf_def_h(1)%z0, surf_lsm_h(1)%z0, surf_usm_h(1)%z0, & 1737 surf_def_v(0)%z0, surf_lsm_v(0)%z0, surf_usm_v(0)%z0, & 1738 surf_def_v(1)%z0, surf_lsm_v(1)%z0, surf_usm_v(1)%z0, & 1739 surf_def_v(2)%z0, surf_lsm_v(2)%z0, surf_usm_v(2)%z0, & 1740 surf_def_v(3)%z0, surf_lsm_v(3)%z0, surf_usm_v(3)%z0 ) 1758 1741 ELSE 1759 1742 ! … … 1768 1751 !-- Output of instantaneous data 1769 1752 IF ( av == 0 ) THEN 1770 CALL surface_data_output_collect( surf_def_h(0)%z0h, surf_def_h(1)%z0h, & 1771 surf_lsm_h%z0h, surf_usm_h%z0h, & 1772 surf_def_v(0)%z0h, surf_lsm_v(0)%z0h, & 1773 surf_usm_v(0)%z0h, surf_def_v(1)%z0h, & 1774 surf_lsm_v(1)%z0h, surf_usm_v(1)%z0h, & 1775 surf_def_v(2)%z0h, surf_lsm_v(2)%z0h, & 1776 surf_usm_v(2)%z0h, surf_def_v(3)%z0h, & 1777 surf_lsm_v(3)%z0h, surf_usm_v(3)%z0h ) 1753 CALL surface_data_output_collect( & 1754 surf_def_h(0)%z0h, surf_lsm_h(0)%z0h, surf_usm_h(0)%z0h, & 1755 surf_def_h(1)%z0h, surf_lsm_h(1)%z0h, surf_usm_h(1)%z0h, & 1756 surf_def_v(0)%z0h, surf_lsm_v(0)%z0h, surf_usm_v(0)%z0h, & 1757 surf_def_v(1)%z0h, surf_lsm_v(1)%z0h, surf_usm_v(1)%z0h, & 1758 surf_def_v(2)%z0h, surf_lsm_v(2)%z0h, surf_usm_v(2)%z0h, & 1759 surf_def_v(3)%z0h, surf_lsm_v(3)%z0h, surf_usm_v(3)%z0h ) 1778 1760 ELSE 1779 1761 ! … … 1788 1770 !-- Output of instantaneous data 1789 1771 IF ( av == 0 ) THEN 1790 CALL surface_data_output_collect( surf_def_h(0)%z0q, surf_def_h(1)%z0q, & 1791 surf_lsm_h%z0q, surf_usm_h%z0q, & 1792 surf_def_v(0)%z0q, surf_lsm_v(0)%z0q, & 1793 surf_usm_v(0)%z0q, surf_def_v(1)%z0q, & 1794 surf_lsm_v(1)%z0q, surf_usm_v(1)%z0q, & 1795 surf_def_v(2)%z0q, surf_lsm_v(2)%z0q, & 1796 surf_usm_v(2)%z0q, surf_def_v(3)%z0q, & 1797 surf_lsm_v(3)%z0q, surf_usm_v(3)%z0q ) 1772 CALL surface_data_output_collect( & 1773 surf_def_h(0)%z0q, surf_lsm_h(0)%z0q, surf_usm_h(0)%z0q, & 1774 surf_def_h(1)%z0q, surf_lsm_h(1)%z0q, surf_usm_h(1)%z0q, & 1775 surf_def_v(0)%z0q, surf_lsm_v(0)%z0q, surf_usm_v(0)%z0q, & 1776 surf_def_v(1)%z0q, surf_lsm_v(1)%z0q, surf_usm_v(1)%z0q, & 1777 surf_def_v(2)%z0q, surf_lsm_v(2)%z0q, surf_usm_v(2)%z0q, & 1778 surf_def_v(3)%z0q, surf_lsm_v(3)%z0q, surf_usm_v(3)%z0q ) 1798 1779 ELSE 1799 1780 ! … … 1808 1789 !-- Output of instantaneous data 1809 1790 IF ( av == 0 ) THEN 1810 CALL surface_data_output_collect( surf_def_h(0)%pt1, surf_def_h(1)%pt1, & 1811 surf_lsm_h%pt1, surf_usm_h%pt1, & 1812 surf_def_v(0)%pt1, surf_lsm_v(0)%pt1, & 1813 surf_usm_v(0)%pt1, surf_def_v(1)%pt1, & 1814 surf_lsm_v(1)%pt1, surf_usm_v(1)%pt1, & 1815 surf_def_v(2)%pt1, surf_lsm_v(2)%pt1, & 1816 surf_usm_v(2)%pt1, surf_def_v(3)%pt1, & 1817 surf_lsm_v(3)%pt1, surf_usm_v(3)%pt1 ) 1791 CALL surface_data_output_collect( & 1792 surf_def_h(0)%pt1, surf_lsm_h(0)%pt1, surf_usm_h(0)%pt1, & 1793 surf_def_h(1)%pt1, surf_lsm_h(1)%pt1, surf_usm_h(1)%pt1, & 1794 surf_def_v(0)%pt1, surf_lsm_v(0)%pt1, surf_usm_v(0)%pt1, & 1795 surf_def_v(1)%pt1, surf_lsm_v(1)%pt1, surf_usm_v(1)%pt1, & 1796 surf_def_v(2)%pt1, surf_lsm_v(2)%pt1, surf_usm_v(2)%pt1, & 1797 surf_def_v(3)%pt1, surf_lsm_v(3)%pt1, surf_usm_v(3)%pt1 ) 1818 1798 ELSE 1819 1799 ! … … 1828 1808 !-- Output of instantaneous data 1829 1809 IF ( av == 0 ) THEN 1830 CALL surface_data_output_collect( surf_def_h(0)%qv1, surf_def_h(1)%qv1, & 1831 surf_lsm_h%qv1, surf_usm_h%qv1, & 1832 surf_def_v(0)%qv1, surf_lsm_v(0)%qv1, & 1833 surf_usm_v(0)%qv1, surf_def_v(1)%qv1, & 1834 surf_lsm_v(1)%qv1, surf_usm_v(1)%qv1, & 1835 surf_def_v(2)%qv1, surf_lsm_v(2)%qv1, & 1836 surf_usm_v(2)%qv1, surf_def_v(3)%qv1, & 1837 surf_lsm_v(3)%qv1, surf_usm_v(3)%qv1 ) 1810 CALL surface_data_output_collect( & 1811 surf_def_h(0)%qv1, surf_lsm_h(0)%qv1, surf_usm_h(0)%qv1, & 1812 surf_def_h(1)%qv1, surf_lsm_h(1)%qv1, surf_usm_h(1)%qv1, & 1813 surf_def_v(0)%qv1, surf_lsm_v(0)%qv1, surf_usm_v(0)%qv1, & 1814 surf_def_v(1)%qv1, surf_lsm_v(1)%qv1, surf_usm_v(1)%qv1, & 1815 surf_def_v(2)%qv1, surf_lsm_v(2)%qv1, surf_usm_v(2)%qv1, & 1816 surf_def_v(3)%qv1, surf_lsm_v(3)%qv1, surf_usm_v(3)%qv1 ) 1838 1817 ELSE 1839 1818 ! … … 1848 1827 !-- Output of instantaneous data 1849 1828 IF ( av == 0 ) THEN 1850 CALL surface_data_output_collect( surf_def_h(0)%vpt1, surf_def_h(1)%vpt1, & 1851 surf_lsm_h%vpt1, surf_usm_h%vpt1, & 1852 surf_def_v(0)%vpt1, surf_lsm_v(0)%vpt1, & 1853 surf_usm_v(0)%vpt1, surf_def_v(1)%vpt1, & 1854 surf_lsm_v(1)%vpt1, surf_usm_v(1)%vpt1, & 1855 surf_def_v(2)%vpt1, surf_lsm_v(2)%vpt1, & 1856 surf_usm_v(2)%vpt1, surf_def_v(3)%vpt1, & 1857 surf_lsm_v(3)%vpt1, surf_usm_v(3)%vpt1 ) 1829 CALL surface_data_output_collect( & 1830 surf_def_h(0)%vpt1, surf_lsm_h(0)%vpt1, surf_usm_h(0)%vpt1, & 1831 surf_def_h(1)%vpt1, surf_lsm_h(1)%vpt1, surf_usm_h(1)%vpt1, & 1832 surf_def_v(0)%vpt1, surf_lsm_v(0)%vpt1, surf_usm_v(0)%vpt1, & 1833 surf_def_v(1)%vpt1, surf_lsm_v(1)%vpt1, surf_usm_v(1)%vpt1, & 1834 surf_def_v(2)%vpt1, surf_lsm_v(2)%vpt1, surf_usm_v(2)%vpt1, & 1835 surf_def_v(3)%vpt1, surf_lsm_v(3)%vpt1, surf_usm_v(3)%vpt1 ) 1858 1836 ELSE 1859 1837 ! … … 1868 1846 !-- Output of instantaneous data 1869 1847 IF ( av == 0 ) THEN 1870 CALL surface_data_output_collect( surf_def_h(0)%usws, surf_def_h(1)%usws, & 1871 surf_lsm_h%usws, surf_usm_h%usws, & 1872 surf_def_v(0)%usws, surf_lsm_v(0)%usws, & 1873 surf_usm_v(0)%usws, surf_def_v(1)%usws, & 1874 surf_lsm_v(1)%usws, surf_usm_v(1)%usws, & 1875 surf_def_v(2)%usws, surf_lsm_v(2)%usws, & 1876 surf_usm_v(2)%usws, surf_def_v(3)%usws, & 1877 surf_lsm_v(3)%usws, surf_usm_v(3)%usws, & 1878 momentumflux_output_conversion ) 1848 CALL surface_data_output_collect( & 1849 surf_def_h(0)%usws, surf_lsm_h(0)%usws, surf_usm_h(0)%usws, & 1850 surf_def_h(1)%usws, surf_lsm_h(1)%usws, surf_usm_h(1)%usws, & 1851 surf_def_v(0)%usws, surf_lsm_v(0)%usws, surf_usm_v(0)%usws, & 1852 surf_def_v(1)%usws, surf_lsm_v(1)%usws, surf_usm_v(1)%usws, & 1853 surf_def_v(2)%usws, surf_lsm_v(2)%usws, surf_usm_v(2)%usws, & 1854 surf_def_v(3)%usws, surf_lsm_v(3)%usws, surf_usm_v(3)%usws, & 1855 momentumflux_output_conversion ) 1879 1856 ELSE 1880 1857 ! … … 1889 1866 !-- Output of instantaneous data 1890 1867 IF ( av == 0 ) THEN 1891 CALL surface_data_output_collect( surf_def_h(0)%vsws, surf_def_h(1)%vsws, & 1892 surf_lsm_h%vsws, surf_usm_h%vsws, & 1893 surf_def_v(0)%vsws, surf_lsm_v(0)%vsws, & 1894 surf_usm_v(0)%vsws, surf_def_v(1)%vsws, & 1895 surf_lsm_v(1)%vsws, surf_usm_v(1)%vsws, & 1896 surf_def_v(2)%vsws, surf_lsm_v(2)%vsws, & 1897 surf_usm_v(2)%vsws, surf_def_v(3)%vsws, & 1898 surf_lsm_v(3)%vsws, surf_usm_v(3)%vsws, & 1899 momentumflux_output_conversion ) 1868 CALL surface_data_output_collect( & 1869 surf_def_h(0)%vsws, surf_lsm_h(0)%vsws, surf_usm_h(0)%vsws, & 1870 surf_def_h(1)%vsws, surf_lsm_h(1)%vsws, surf_usm_h(1)%vsws, & 1871 surf_def_v(0)%vsws, surf_lsm_v(0)%vsws, surf_usm_v(0)%vsws, & 1872 surf_def_v(1)%vsws, surf_lsm_v(1)%vsws, surf_usm_v(1)%vsws, & 1873 surf_def_v(2)%vsws, surf_lsm_v(2)%vsws, surf_usm_v(2)%vsws, & 1874 surf_def_v(3)%vsws, surf_lsm_v(3)%vsws, surf_usm_v(3)%vsws, & 1875 momentumflux_output_conversion ) 1900 1876 ELSE 1901 1877 ! … … 1910 1886 !-- Output of instantaneous data 1911 1887 IF ( av == 0 ) THEN 1912 CALL surface_data_output_collect( surf_def_h(0)%shf, surf_def_h(1)%shf, & 1913 surf_lsm_h%shf, surf_usm_h%shf, & 1914 surf_def_v(0)%shf, surf_lsm_v(0)%shf, & 1915 surf_usm_v(0)%shf, surf_def_v(1)%shf, & 1916 surf_lsm_v(1)%shf, surf_usm_v(1)%shf, & 1917 surf_def_v(2)%shf, surf_lsm_v(2)%shf, & 1918 surf_usm_v(2)%shf, surf_def_v(3)%shf, & 1919 surf_lsm_v(3)%shf, surf_usm_v(3)%shf, & 1920 heatflux_output_conversion ) 1888 CALL surface_data_output_collect( & 1889 surf_def_h(0)%shf, surf_lsm_h(0)%shf, surf_usm_h(0)%shf, & 1890 surf_def_h(1)%shf, surf_lsm_h(1)%shf, surf_usm_h(1)%shf, & 1891 surf_def_v(0)%shf, surf_lsm_v(0)%shf, surf_usm_v(0)%shf, & 1892 surf_def_v(1)%shf, surf_lsm_v(1)%shf, surf_usm_v(1)%shf, & 1893 surf_def_v(2)%shf, surf_lsm_v(2)%shf, surf_usm_v(2)%shf, & 1894 surf_def_v(3)%shf, surf_lsm_v(3)%shf, surf_usm_v(3)%shf, & 1895 heatflux_output_conversion ) 1921 1896 ELSE 1922 1897 ! … … 1930 1905 !-- Output of instantaneous data 1931 1906 IF ( av == 0 ) THEN 1932 CALL surface_data_output_collect( surf_def_h(0)%qsws, surf_def_h(1)%qsws, & 1933 surf_lsm_h%qsws, surf_usm_h%qsws, & 1934 surf_def_v(0)%qsws, surf_lsm_v(0)%qsws, & 1935 surf_usm_v(0)%qsws, surf_def_v(1)%qsws, & 1936 surf_lsm_v(1)%qsws, surf_usm_v(1)%qsws, & 1937 surf_def_v(2)%qsws, surf_lsm_v(2)%qsws, & 1938 surf_usm_v(2)%qsws, surf_def_v(3)%qsws, & 1939 surf_lsm_v(3)%qsws, surf_usm_v(3)%qsws, & 1940 waterflux_output_conversion ) 1907 CALL surface_data_output_collect( & 1908 surf_def_h(0)%qsws, surf_lsm_h(0)%qsws, surf_usm_h(0)%qsws, & 1909 surf_def_h(1)%qsws, surf_lsm_h(1)%qsws, surf_usm_h(1)%qsws, & 1910 surf_def_v(0)%qsws, surf_lsm_v(0)%qsws, surf_usm_v(0)%qsws, & 1911 surf_def_v(1)%qsws, surf_lsm_v(1)%qsws, surf_usm_v(1)%qsws, & 1912 surf_def_v(2)%qsws, surf_lsm_v(2)%qsws, surf_usm_v(2)%qsws, & 1913 surf_def_v(3)%qsws, surf_lsm_v(3)%qsws, surf_usm_v(3)%qsws, & 1914 waterflux_output_conversion ) 1941 1915 ELSE 1942 1916 ! … … 1951 1925 !-- Output of instantaneous data 1952 1926 IF ( av == 0 ) THEN 1953 CALL surface_data_output_collect( surf_def_h(0)%ssws, surf_def_h(1)%ssws, & 1954 surf_lsm_h%ssws, surf_usm_h%ssws, & 1955 surf_def_v(0)%ssws, surf_lsm_v(0)%ssws, & 1956 surf_usm_v(0)%ssws, surf_def_v(1)%ssws, & 1957 surf_lsm_v(1)%ssws, surf_usm_v(1)%ssws, & 1958 surf_def_v(2)%ssws, surf_lsm_v(2)%ssws, & 1959 surf_usm_v(2)%ssws, surf_def_v(3)%ssws, & 1960 surf_lsm_v(3)%ssws, surf_usm_v(3)%ssws ) 1927 CALL surface_data_output_collect( & 1928 surf_def_h(0)%ssws, surf_lsm_h(0)%ssws, surf_usm_h(0)%ssws, & 1929 surf_def_h(1)%ssws, surf_lsm_h(1)%ssws, surf_usm_h(1)%ssws, & 1930 surf_def_v(0)%ssws, surf_lsm_v(0)%ssws, surf_usm_v(0)%ssws, & 1931 surf_def_v(1)%ssws, surf_lsm_v(1)%ssws, surf_usm_v(1)%ssws, & 1932 surf_def_v(2)%ssws, surf_lsm_v(2)%ssws, surf_usm_v(2)%ssws, & 1933 surf_def_v(3)%ssws, surf_lsm_v(3)%ssws, surf_usm_v(3)%ssws ) 1961 1934 ELSE 1962 1935 ! … … 1971 1944 !-- Output of instantaneous data 1972 1945 IF ( av == 0 ) THEN 1973 CALL surface_data_output_collect( surf_def_h(0)%qcsws, surf_def_h(1)%qcsws, & 1974 surf_lsm_h%qcsws, surf_usm_h%qcsws, & 1975 surf_def_v(0)%qcsws, surf_lsm_v(0)%qcsws, & 1976 surf_usm_v(0)%qcsws, surf_def_v(1)%qcsws, & 1977 surf_lsm_v(1)%qcsws, surf_usm_v(1)%qcsws, & 1978 surf_def_v(2)%qcsws, surf_lsm_v(2)%qcsws, & 1979 surf_usm_v(2)%qcsws, surf_def_v(3)%qcsws, & 1980 surf_lsm_v(3)%qcsws, surf_usm_v(3)%qcsws ) 1946 CALL surface_data_output_collect( & 1947 surf_def_h(0)%qcsws, surf_lsm_h(0)%qcsws, surf_usm_h(0)%qcsws, & 1948 surf_def_h(1)%qcsws, surf_lsm_h(1)%qcsws, surf_usm_h(1)%qcsws, & 1949 surf_def_v(0)%qcsws, surf_lsm_v(0)%qcsws, surf_usm_v(0)%qcsws, & 1950 surf_def_v(1)%qcsws, surf_lsm_v(1)%qcsws, surf_usm_v(1)%qcsws, & 1951 surf_def_v(2)%qcsws, surf_lsm_v(2)%qcsws, surf_usm_v(2)%qcsws, & 1952 surf_def_v(3)%qcsws, surf_lsm_v(3)%qcsws, surf_usm_v(3)%qcsws ) 1981 1953 ELSE 1982 1954 ! … … 1991 1963 !-- Output of instantaneous data 1992 1964 IF ( av == 0 ) THEN 1993 CALL surface_data_output_collect( surf_def_h(0)%ncsws, surf_def_h(1)%ncsws, & 1994 surf_lsm_h%ncsws, surf_usm_h%ncsws, & 1995 surf_def_v(0)%ncsws, surf_lsm_v(0)%ncsws, & 1996 surf_usm_v(0)%ncsws, surf_def_v(1)%ncsws, & 1997 surf_lsm_v(1)%ncsws, surf_usm_v(1)%ncsws, & 1998 surf_def_v(2)%ncsws, surf_lsm_v(2)%ncsws, & 1999 surf_usm_v(2)%ncsws, surf_def_v(3)%ncsws, & 2000 surf_lsm_v(3)%ncsws, surf_usm_v(3)%ncsws ) 1965 CALL surface_data_output_collect( & 1966 surf_def_h(0)%ncsws, surf_lsm_h(0)%ncsws, surf_usm_h(0)%ncsws, & 1967 surf_def_h(1)%ncsws, surf_lsm_h(1)%ncsws, surf_usm_h(1)%ncsws, & 1968 surf_def_v(0)%ncsws, surf_lsm_v(0)%ncsws, surf_usm_v(0)%ncsws, & 1969 surf_def_v(1)%ncsws, surf_lsm_v(1)%ncsws, surf_usm_v(1)%ncsws, & 1970 surf_def_v(2)%ncsws, surf_lsm_v(2)%ncsws, surf_usm_v(2)%ncsws, & 1971 surf_def_v(3)%ncsws, surf_lsm_v(3)%ncsws, surf_usm_v(3)%ncsws ) 2001 1972 ELSE 2002 1973 ! … … 2012 1983 !-- Output of instantaneous data 2013 1984 IF ( av == 0 ) THEN 2014 CALL surface_data_output_collect( surf_def_h(0)%qisws, surf_def_h(1)%qisws, & 2015 surf_lsm_h%qisws, surf_usm_h%qisws, & 2016 surf_def_v(0)%qisws, surf_lsm_v(0)%qisws, & 2017 surf_usm_v(0)%qisws, surf_def_v(1)%qisws, & 2018 surf_lsm_v(1)%qisws, surf_usm_v(1)%qisws, & 2019 surf_def_v(2)%qisws, surf_lsm_v(2)%qisws, & 2020 surf_usm_v(2)%qisws, surf_def_v(3)%qisws, & 2021 surf_lsm_v(3)%qisws, surf_usm_v(3)%qisws ) 1985 CALL surface_data_output_collect( & 1986 surf_def_h(0)%qisws, surf_lsm_h(0)%qisws, surf_usm_h(0)%qisws, & 1987 surf_def_h(1)%qisws, surf_lsm_h(1)%qisws, surf_usm_h(1)%qisws, & 1988 surf_def_v(0)%qisws, surf_lsm_v(0)%qisws, surf_usm_v(0)%qisws, & 1989 surf_def_v(1)%qisws, surf_lsm_v(1)%qisws, surf_usm_v(1)%qisws, & 1990 surf_def_v(2)%qisws, surf_lsm_v(2)%qisws, surf_usm_v(2)%qisws, & 1991 surf_def_v(3)%qisws, surf_lsm_v(3)%qisws, surf_usm_v(3)%qisws ) 2022 1992 ELSE 2023 1993 ! … … 2032 2002 !-- Output of instantaneous data 2033 2003 IF ( av == 0 ) THEN 2034 CALL surface_data_output_collect( surf_def_h(0)%nisws, surf_def_h(1)%nisws, & 2035 surf_lsm_h%nisws, surf_usm_h%nisws, & 2036 surf_def_v(0)%nisws, surf_lsm_v(0)%nisws, & 2037 surf_usm_v(0)%nisws, surf_def_v(1)%nisws, & 2038 surf_lsm_v(1)%nisws, surf_usm_v(1)%nisws, & 2039 surf_def_v(2)%nisws, surf_lsm_v(2)%nisws, & 2040 surf_usm_v(2)%nisws, surf_def_v(3)%nisws, & 2041 surf_lsm_v(3)%nisws, surf_usm_v(3)%nisws ) 2004 CALL surface_data_output_collect( & 2005 surf_def_h(0)%nisws, surf_lsm_h(0)%nisws, surf_usm_h(0)%nisws, & 2006 surf_def_h(1)%nisws, surf_lsm_h(1)%nisws, surf_usm_h(1)%nisws, & 2007 surf_def_v(0)%nisws, surf_lsm_v(0)%nisws, surf_usm_v(0)%nisws, & 2008 surf_def_v(1)%nisws, surf_lsm_v(1)%nisws, surf_usm_v(1)%nisws, & 2009 surf_def_v(2)%nisws, surf_lsm_v(2)%nisws, surf_usm_v(2)%nisws, & 2010 surf_def_v(3)%nisws, surf_lsm_v(3)%nisws, surf_usm_v(3)%nisws ) 2042 2011 ELSE 2043 2012 ! … … 2052 2021 !-- Output of instantaneous data 2053 2022 IF ( av == 0 ) THEN 2054 CALL surface_data_output_collect( surf_def_h(0)%qrsws, surf_def_h(1)%qrsws, & 2055 surf_lsm_h%qrsws, surf_usm_h%qrsws, & 2056 surf_def_v(0)%qrsws, surf_lsm_v(0)%qrsws, & 2057 surf_usm_v(0)%qrsws, surf_def_v(1)%qrsws, & 2058 surf_lsm_v(1)%qrsws, surf_usm_v(1)%qrsws, & 2059 surf_def_v(2)%qrsws, surf_lsm_v(2)%qrsws, & 2060 surf_usm_v(2)%qrsws, surf_def_v(3)%qrsws, & 2061 surf_lsm_v(3)%qrsws, surf_usm_v(3)%qrsws ) 2023 CALL surface_data_output_collect( & 2024 surf_def_h(0)%qrsws, surf_lsm_h(0)%qrsws, surf_usm_h(0)%qrsws, & 2025 surf_def_h(1)%qrsws, surf_lsm_h(1)%qrsws, surf_usm_h(1)%qrsws, & 2026 surf_def_v(0)%qrsws, surf_lsm_v(0)%qrsws, surf_usm_v(0)%qrsws, & 2027 surf_def_v(1)%qrsws, surf_lsm_v(1)%qrsws, surf_usm_v(1)%qrsws, & 2028 surf_def_v(2)%qrsws, surf_lsm_v(2)%qrsws, surf_usm_v(2)%qrsws, & 2029 surf_def_v(3)%qrsws, surf_lsm_v(3)%qrsws, surf_usm_v(3)%qrsws ) 2062 2030 ELSE 2063 2031 ! … … 2072 2040 !-- Output of instantaneous data 2073 2041 IF ( av == 0 ) THEN 2074 CALL surface_data_output_collect( surf_def_h(0)%nrsws, surf_def_h(1)%nrsws, & 2075 surf_lsm_h%nrsws, surf_usm_h%nrsws, & 2076 surf_def_v(0)%nrsws, surf_lsm_v(0)%nrsws, & 2077 surf_usm_v(0)%nrsws, surf_def_v(1)%nrsws, & 2078 surf_lsm_v(1)%nrsws, surf_usm_v(1)%nrsws, & 2079 surf_def_v(2)%nrsws, surf_lsm_v(2)%nrsws, & 2080 surf_usm_v(2)%nrsws, surf_def_v(3)%nrsws, & 2081 surf_lsm_v(3)%nrsws, surf_usm_v(3)%nrsws ) 2042 CALL surface_data_output_collect( & 2043 surf_def_h(0)%nrsws, surf_lsm_h(0)%nrsws, surf_usm_h(0)%nrsws, & 2044 surf_def_h(1)%nrsws, surf_lsm_h(1)%nrsws, surf_usm_h(1)%nrsws, & 2045 surf_def_v(0)%nrsws, surf_lsm_v(0)%nrsws, surf_usm_v(0)%nrsws, & 2046 surf_def_v(1)%nrsws, surf_lsm_v(1)%nrsws, surf_usm_v(1)%nrsws, & 2047 surf_def_v(2)%nrsws, surf_lsm_v(2)%nrsws, surf_usm_v(2)%nrsws, & 2048 surf_def_v(3)%nrsws, surf_lsm_v(3)%nrsws, surf_usm_v(3)%nrsws ) 2082 2049 ELSE 2083 2050 ! … … 2092 2059 !-- Output of instantaneous data 2093 2060 IF ( av == 0 ) THEN 2094 CALL surface_data_output_collect( surf_def_h(0)%sasws, surf_def_h(1)%sasws, & 2095 surf_lsm_h%sasws, surf_usm_h%sasws, & 2096 surf_def_v(0)%sasws, surf_lsm_v(0)%sasws, & 2097 surf_usm_v(0)%sasws, surf_def_v(1)%sasws, & 2098 surf_lsm_v(1)%sasws, surf_usm_v(1)%sasws, & 2099 surf_def_v(2)%sasws, surf_lsm_v(2)%sasws, & 2100 surf_usm_v(2)%sasws, surf_def_v(3)%sasws, & 2101 surf_lsm_v(3)%sasws, surf_usm_v(3)%sasws ) 2061 CALL surface_data_output_collect( & 2062 surf_def_h(0)%sasws, surf_lsm_h(0)%sasws, surf_usm_h(0)%sasws, & 2063 surf_def_h(1)%sasws, surf_lsm_h(1)%sasws, surf_usm_h(1)%sasws, & 2064 surf_def_v(0)%sasws, surf_lsm_v(0)%sasws, surf_usm_v(0)%sasws, & 2065 surf_def_v(1)%sasws, surf_lsm_v(1)%sasws, surf_usm_v(1)%sasws, & 2066 surf_def_v(2)%sasws, surf_lsm_v(2)%sasws, surf_usm_v(2)%sasws, & 2067 surf_def_v(3)%sasws, surf_lsm_v(3)%sasws, surf_usm_v(3)%sasws ) 2102 2068 ELSE 2103 2069 ! … … 2112 2078 !-- Output of instantaneous data 2113 2079 IF ( av == 0 ) THEN 2114 CALL surface_data_output_collect( surf_def_h(0)%q_surface, surf_def_h(1)%q_surface,& 2115 surf_lsm_h%q_surface, surf_usm_h%q_surface, & 2116 surf_def_v(0)%q_surface, surf_lsm_v(0)%q_surface,& 2117 surf_usm_v(0)%q_surface, surf_def_v(1)%q_surface,& 2118 surf_lsm_v(1)%q_surface, surf_usm_v(1)%q_surface,& 2119 surf_def_v(2)%q_surface, surf_lsm_v(2)%q_surface,& 2120 surf_usm_v(2)%q_surface, surf_def_v(3)%q_surface,& 2121 surf_lsm_v(3)%q_surface, surf_usm_v(3)%q_surface ) 2080 CALL surface_data_output_collect( & 2081 surf_def_h(0)%q_surface, surf_lsm_h(0)%q_surface, surf_usm_h(0)%q_surface, & 2082 surf_def_h(1)%q_surface, surf_lsm_h(1)%q_surface, surf_usm_h(1)%q_surface, & 2083 surf_def_v(0)%q_surface, surf_lsm_v(0)%q_surface, surf_usm_v(0)%q_surface, & 2084 surf_def_v(1)%q_surface, surf_lsm_v(1)%q_surface, surf_usm_v(1)%q_surface, & 2085 surf_def_v(2)%q_surface, surf_lsm_v(2)%q_surface, surf_usm_v(2)%q_surface, & 2086 surf_def_v(3)%q_surface, surf_lsm_v(3)%q_surface, surf_usm_v(3)%q_surface ) 2122 2087 ELSE 2123 2088 ! … … 2132 2097 !-- Output of instantaneous data 2133 2098 IF ( av == 0 ) THEN 2134 CALL surface_data_output_collect( surf_def_h(0)%pt_surface, & 2135 surf_def_h(1)%pt_surface, & 2136 surf_lsm_h%pt_surface, surf_usm_h%pt_surface, & 2137 surf_def_v(0)%pt_surface, & 2138 surf_lsm_v(0)%pt_surface, & 2139 surf_usm_v(0)%pt_surface, & 2140 surf_def_v(1)%pt_surface, & 2141 surf_lsm_v(1)%pt_surface, & 2142 surf_usm_v(1)%pt_surface, & 2143 surf_def_v(2)%pt_surface, & 2144 surf_lsm_v(2)%pt_surface, & 2145 surf_usm_v(2)%pt_surface, & 2146 surf_def_v(3)%pt_surface, & 2147 surf_lsm_v(3)%pt_surface, & 2148 surf_usm_v(3)%pt_surface ) 2099 CALL surface_data_output_collect( & 2100 surf_def_h(0)%pt_surface, surf_lsm_h(0)%pt_surface, surf_usm_h(0)%pt_surface, & 2101 surf_def_h(1)%pt_surface, surf_lsm_h(1)%pt_surface, surf_usm_h(1)%pt_surface, & 2102 surf_def_v(0)%pt_surface, surf_lsm_v(0)%pt_surface, surf_usm_v(0)%pt_surface, & 2103 surf_def_v(1)%pt_surface, surf_lsm_v(1)%pt_surface, surf_usm_v(1)%pt_surface, & 2104 surf_def_v(2)%pt_surface, surf_lsm_v(2)%pt_surface, surf_usm_v(2)%pt_surface, & 2105 surf_def_v(3)%pt_surface, surf_lsm_v(3)%pt_surface, surf_usm_v(3)%pt_surface ) 2149 2106 ELSE 2150 2107 ! … … 2159 2116 !-- Output of instantaneous data 2160 2117 IF ( av == 0 ) THEN 2161 CALL surface_data_output_collect( surf_def_h(0)%vpt_surface, & 2162 surf_def_h(1)%vpt_surface, & 2163 surf_lsm_h%vpt_surface, surf_usm_h%vpt_surface, & 2164 surf_def_v(0)%vpt_surface, & 2165 surf_lsm_v(0)%vpt_surface, & 2166 surf_usm_v(0)%vpt_surface, & 2167 surf_def_v(1)%vpt_surface, & 2168 surf_lsm_v(1)%vpt_surface, & 2169 surf_usm_v(1)%vpt_surface, & 2170 surf_def_v(2)%vpt_surface, & 2171 surf_lsm_v(2)%vpt_surface, & 2172 surf_usm_v(2)%vpt_surface, & 2173 surf_def_v(3)%vpt_surface, & 2174 surf_lsm_v(3)%vpt_surface, & 2175 surf_usm_v(3)%vpt_surface) 2118 CALL surface_data_output_collect( & 2119 surf_def_h(0)%vpt_surface, surf_lsm_h(0)%vpt_surface, surf_usm_h(0)%vpt_surface, & 2120 surf_def_h(1)%vpt_surface, surf_lsm_h(1)%vpt_surface, surf_usm_h(1)%vpt_surface, & 2121 surf_def_v(0)%vpt_surface, surf_lsm_v(0)%vpt_surface, surf_usm_v(0)%vpt_surface, & 2122 surf_def_v(1)%vpt_surface, surf_lsm_v(1)%vpt_surface, surf_usm_v(1)%vpt_surface, & 2123 surf_def_v(2)%vpt_surface, surf_lsm_v(2)%vpt_surface, surf_usm_v(2)%vpt_surface, & 2124 surf_def_v(3)%vpt_surface, surf_lsm_v(3)%vpt_surface, surf_usm_v(3)%vpt_surface ) 2176 2125 ELSE 2177 2126 ! … … 2186 2135 !-- Output of instantaneous data 2187 2136 IF ( av == 0 ) THEN 2188 CALL surface_data_output_collect( surf_def_h(0)%rad_net, surf_def_h(1)%rad_net, & 2189 surf_lsm_h%rad_net, surf_usm_h%rad_net, & 2190 surf_def_v(0)%rad_net, surf_lsm_v(0)%rad_net, & 2191 surf_usm_v(0)%rad_net, surf_def_v(1)%rad_net, & 2192 surf_lsm_v(1)%rad_net, surf_usm_v(1)%rad_net, & 2193 surf_def_v(2)%rad_net, surf_lsm_v(2)%rad_net, & 2194 surf_usm_v(2)%rad_net, surf_def_v(3)%rad_net, & 2195 surf_lsm_v(3)%rad_net, surf_usm_v(3)%rad_net ) 2137 CALL surface_data_output_collect( & 2138 surf_def_h(0)%rad_net, surf_lsm_h(0)%rad_net, surf_usm_h(0)%rad_net, & 2139 surf_def_h(1)%rad_net, surf_lsm_h(1)%rad_net, surf_usm_h(1)%rad_net, & 2140 surf_def_v(0)%rad_net, surf_lsm_v(0)%rad_net, surf_usm_v(0)%rad_net, & 2141 surf_def_v(1)%rad_net, surf_lsm_v(1)%rad_net, surf_usm_v(1)%rad_net, & 2142 surf_def_v(2)%rad_net, surf_lsm_v(2)%rad_net, surf_usm_v(2)%rad_net, & 2143 surf_def_v(3)%rad_net, surf_lsm_v(3)%rad_net, surf_usm_v(3)%rad_net ) 2196 2144 ELSE 2197 2145 ! … … 2206 2154 !-- Output of instantaneous data 2207 2155 IF ( av == 0 ) THEN 2208 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_in, & 2209 surf_def_h(1)%rad_lw_in, surf_lsm_h%rad_lw_in, & 2210 surf_usm_h%rad_lw_in, surf_def_v(0)%rad_lw_in, & 2211 surf_lsm_v(0)%rad_lw_in, & 2212 surf_usm_v(0)%rad_lw_in, & 2213 surf_def_v(1)%rad_lw_in, & 2214 surf_lsm_v(1)%rad_lw_in, & 2215 surf_usm_v(1)%rad_lw_in, & 2216 surf_def_v(2)%rad_lw_in, & 2217 surf_lsm_v(2)%rad_lw_in, & 2218 surf_usm_v(2)%rad_lw_in, & 2219 surf_def_v(3)%rad_lw_in, & 2220 surf_lsm_v(3)%rad_lw_in, & 2221 surf_usm_v(3)%rad_lw_in ) 2156 CALL surface_data_output_collect( & 2157 surf_def_h(0)%rad_lw_in, surf_lsm_h(0)%rad_lw_in, surf_usm_h(0)%rad_lw_in, & 2158 surf_def_h(1)%rad_lw_in, surf_lsm_h(1)%rad_lw_in, surf_usm_h(1)%rad_lw_in, & 2159 surf_def_v(0)%rad_lw_in, surf_lsm_v(0)%rad_lw_in, surf_usm_v(0)%rad_lw_in, & 2160 surf_def_v(1)%rad_lw_in, surf_lsm_v(1)%rad_lw_in, surf_usm_v(1)%rad_lw_in, & 2161 surf_def_v(2)%rad_lw_in, surf_lsm_v(2)%rad_lw_in, surf_usm_v(2)%rad_lw_in, & 2162 surf_def_v(3)%rad_lw_in, surf_lsm_v(3)%rad_lw_in, surf_usm_v(3)%rad_lw_in ) 2222 2163 ELSE 2223 2164 ! … … 2232 2173 !-- Output of instantaneous data 2233 2174 IF ( av == 0 ) THEN 2234 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_out, & 2235 surf_def_h(1)%rad_lw_out, surf_lsm_h%rad_lw_out, & 2236 surf_usm_h%rad_lw_out, surf_def_v(0)%rad_lw_out, & 2237 surf_lsm_v(0)%rad_lw_out, & 2238 surf_usm_v(0)%rad_lw_out, & 2239 surf_def_v(1)%rad_lw_out, & 2240 surf_lsm_v(1)%rad_lw_out, & 2241 surf_usm_v(1)%rad_lw_out, & 2242 surf_def_v(2)%rad_lw_out, & 2243 surf_lsm_v(2)%rad_lw_out, & 2244 surf_usm_v(2)%rad_lw_out, & 2245 surf_def_v(3)%rad_lw_out, & 2246 surf_lsm_v(3)%rad_lw_out, & 2247 surf_usm_v(3)%rad_lw_out ) 2175 CALL surface_data_output_collect( & 2176 surf_def_h(0)%rad_lw_out, surf_lsm_h(0)%rad_lw_out, surf_usm_h(0)%rad_lw_out, & 2177 surf_def_h(1)%rad_lw_out, surf_lsm_h(1)%rad_lw_out, surf_usm_h(1)%rad_lw_out, & 2178 surf_def_v(0)%rad_lw_out, surf_lsm_v(0)%rad_lw_out, surf_usm_v(0)%rad_lw_out, & 2179 surf_def_v(1)%rad_lw_out, surf_lsm_v(1)%rad_lw_out, surf_usm_v(1)%rad_lw_out, & 2180 surf_def_v(2)%rad_lw_out, surf_lsm_v(2)%rad_lw_out, surf_usm_v(2)%rad_lw_out, & 2181 surf_def_v(3)%rad_lw_out, surf_lsm_v(3)%rad_lw_out, surf_usm_v(3)%rad_lw_out ) 2248 2182 ELSE 2249 2183 ! … … 2258 2192 !-- Output of instantaneous data 2259 2193 IF ( av == 0 ) THEN 2260 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_in, & 2261 surf_def_h(1)%rad_sw_in, surf_lsm_h%rad_sw_in, & 2262 surf_usm_h%rad_sw_in, surf_def_v(0)%rad_sw_in, & 2263 surf_lsm_v(0)%rad_sw_in, & 2264 surf_usm_v(0)%rad_sw_in, & 2265 surf_def_v(1)%rad_sw_in, & 2266 surf_lsm_v(1)%rad_sw_in, & 2267 surf_usm_v(1)%rad_sw_in, & 2268 surf_def_v(2)%rad_sw_in, & 2269 surf_lsm_v(2)%rad_sw_in, & 2270 surf_usm_v(2)%rad_sw_in, & 2271 surf_def_v(3)%rad_sw_in, & 2272 surf_lsm_v(3)%rad_sw_in, & 2273 surf_usm_v(3)%rad_sw_in ) 2194 CALL surface_data_output_collect( & 2195 surf_def_h(0)%rad_sw_in, surf_lsm_h(0)%rad_sw_in, surf_usm_h(0)%rad_sw_in, & 2196 surf_def_h(1)%rad_sw_in, surf_lsm_h(1)%rad_sw_in, surf_usm_h(1)%rad_sw_in, & 2197 surf_def_v(0)%rad_sw_in, surf_lsm_v(0)%rad_sw_in, surf_usm_v(0)%rad_sw_in, & 2198 surf_def_v(1)%rad_sw_in, surf_lsm_v(1)%rad_sw_in, surf_usm_v(1)%rad_sw_in, & 2199 surf_def_v(2)%rad_sw_in, surf_lsm_v(2)%rad_sw_in, surf_usm_v(2)%rad_sw_in, & 2200 surf_def_v(3)%rad_sw_in, surf_lsm_v(3)%rad_sw_in, surf_usm_v(3)%rad_sw_in ) 2274 2201 ELSE 2275 2202 ! … … 2284 2211 !-- Output of instantaneous data 2285 2212 IF ( av == 0 ) THEN 2286 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_out, & 2287 surf_def_h(1)%rad_sw_out, surf_lsm_h%rad_sw_out, & 2288 surf_usm_h%rad_sw_out, surf_def_v(0)%rad_sw_out, & 2289 surf_lsm_v(0)%rad_sw_out, & 2290 surf_usm_v(0)%rad_sw_out, & 2291 surf_def_v(1)%rad_sw_out, & 2292 surf_lsm_v(1)%rad_sw_out, & 2293 surf_usm_v(1)%rad_sw_out, & 2294 surf_def_v(2)%rad_sw_out, & 2295 surf_lsm_v(2)%rad_sw_out, & 2296 surf_usm_v(2)%rad_sw_out, & 2297 surf_def_v(3)%rad_sw_out, & 2298 surf_lsm_v(3)%rad_sw_out, & 2299 surf_usm_v(3)%rad_sw_out ) 2213 CALL surface_data_output_collect( & 2214 surf_def_h(0)%rad_sw_out, surf_lsm_h(0)%rad_sw_out, surf_usm_h(0)%rad_sw_out, & 2215 surf_def_h(1)%rad_sw_out, surf_lsm_h(1)%rad_sw_out, surf_usm_h(1)%rad_sw_out, & 2216 surf_def_v(0)%rad_sw_out, surf_lsm_v(0)%rad_sw_out, surf_usm_v(0)%rad_sw_out, & 2217 surf_def_v(1)%rad_sw_out, surf_lsm_v(1)%rad_sw_out, surf_usm_v(1)%rad_sw_out, & 2218 surf_def_v(2)%rad_sw_out, surf_lsm_v(2)%rad_sw_out, surf_usm_v(2)%rad_sw_out, & 2219 surf_def_v(3)%rad_sw_out, surf_lsm_v(3)%rad_sw_out, surf_usm_v(3)%rad_sw_out ) 2300 2220 ELSE 2301 2221 ! … … 2313 2233 !-- Sum up ground / wall heat flux. Note, for urban surfaces the wall heat flux is 2314 2234 !-- aggregated from the different green, window and wall tiles. 2315 DO m = 1, surf_usm_h%ns 2316 surf_usm_h%ghf(m) = surf_usm_h%frac(m,ind_veg_wall) * surf_usm_h%wghf_eb(m) + & 2317 surf_usm_h%frac(m,ind_pav_green) * & 2318 surf_usm_h%wghf_eb_green(m) + & 2319 surf_usm_h%frac(m,ind_wat_win) * & 2320 surf_usm_h%wghf_eb_window(m) 2235 DO l = 0, 1 2236 DO m = 1, surf_usm_h(l)%ns 2237 surf_usm_h(l)%ghf(m) = surf_usm_h(l)%frac(m,ind_veg_wall) * & 2238 surf_usm_h(l)%wghf_eb(m) + & 2239 surf_usm_h(l)%frac(m,ind_pav_green) * & 2240 surf_usm_h(l)%wghf_eb_green(m) + & 2241 surf_usm_h(l)%frac(m,ind_wat_win) * & 2242 surf_usm_h(l)%wghf_eb_window(m) 2243 ENDDO 2321 2244 ENDDO 2322 2245 DO l = 0, 3 … … 2331 2254 ENDDO 2332 2255 2333 CALL surface_data_output_collect( surf_def_h(0)%ghf, surf_def_h(1)%ghf, & 2334 surf_lsm_h%ghf, surf_usm_h%ghf, & 2335 surf_def_v(0)%ghf, surf_lsm_v(0)%ghf, & 2336 surf_usm_v(0)%ghf, surf_def_v(1)%ghf, & 2337 surf_lsm_v(1)%ghf, surf_usm_v(1)%ghf, & 2338 surf_def_v(2)%ghf, surf_lsm_v(2)%ghf, & 2339 surf_usm_v(2)%ghf, surf_def_v(3)%ghf, & 2340 surf_lsm_v(3)%ghf, surf_usm_v(3)%ghf ) 2256 CALL surface_data_output_collect( & 2257 surf_def_h(0)%ghf, surf_lsm_h(0)%ghf, surf_usm_h(0)%ghf, & 2258 surf_def_h(1)%ghf, surf_lsm_h(1)%ghf, surf_usm_h(1)%ghf, & 2259 surf_def_v(0)%ghf, surf_lsm_v(0)%ghf, surf_usm_v(0)%ghf, & 2260 surf_def_v(1)%ghf, surf_lsm_v(1)%ghf, surf_usm_v(1)%ghf, & 2261 surf_def_v(2)%ghf, surf_lsm_v(2)%ghf, surf_usm_v(2)%ghf, & 2262 surf_def_v(3)%ghf, surf_lsm_v(3)%ghf, surf_usm_v(3)%ghf ) 2341 2263 ELSE 2342 2264 ! … … 2351 2273 !-- Output of instantaneous data 2352 2274 IF ( av == 0 ) THEN 2353 CALL surface_data_output_collect( surf_def_h(0)%r_a, surf_def_h(1)%r_a, & 2354 surf_lsm_h%r_a, surf_usm_h%r_a, & 2355 surf_def_v(0)%r_a, surf_lsm_v(0)%r_a, & 2356 surf_usm_v(0)%r_a, surf_def_v(1)%r_a, & 2357 surf_lsm_v(1)%r_a, surf_usm_v(1)%r_a, & 2358 surf_def_v(2)%r_a, surf_lsm_v(2)%r_a, & 2359 surf_usm_v(2)%r_a, surf_def_v(3)%r_a, & 2360 surf_lsm_v(3)%r_a, surf_usm_v(3)%r_a ) 2275 CALL surface_data_output_collect( & 2276 surf_def_h(0)%r_a, surf_lsm_h(0)%r_a, surf_usm_h(0)%r_a, & 2277 surf_def_h(1)%r_a, surf_lsm_h(1)%r_a, surf_usm_h(1)%r_a, & 2278 surf_def_v(0)%r_a, surf_lsm_v(0)%r_a, surf_usm_v(0)%r_a, & 2279 surf_def_v(1)%r_a, surf_lsm_v(1)%r_a, surf_usm_v(1)%r_a, & 2280 surf_def_v(2)%r_a, surf_lsm_v(2)%r_a, surf_usm_v(2)%r_a, & 2281 surf_def_v(3)%r_a, surf_lsm_v(3)%r_a, surf_usm_v(3)%r_a ) 2361 2282 ELSE 2362 2283 ! … … 2371 2292 !-- Output of instantaneous data 2372 2293 IF ( av == 0 ) THEN 2373 CALL surface_data_output_collect( surf_def_h(0)%r_soil, surf_def_h(1)%r_soil, & 2374 surf_lsm_h%r_soil, surf_usm_h%r_soil, & 2375 surf_def_v(0)%r_soil, surf_lsm_v(0)%r_soil, & 2376 surf_usm_v(0)%r_soil, surf_def_v(1)%r_soil, & 2377 surf_lsm_v(1)%r_soil, surf_usm_v(1)%r_soil, & 2378 surf_def_v(2)%r_soil, surf_lsm_v(2)%r_soil, & 2379 surf_usm_v(2)%r_soil, surf_def_v(3)%r_soil, & 2380 surf_lsm_v(3)%r_soil, surf_usm_v(3)%r_soil ) 2294 CALL surface_data_output_collect( & 2295 surf_def_h(0)%r_soil, surf_lsm_h(0)%r_soil, surf_usm_h(0)%r_soil, & 2296 surf_def_h(1)%r_soil, surf_lsm_h(1)%r_soil, surf_usm_h(1)%r_soil, & 2297 surf_def_v(0)%r_soil, surf_lsm_v(0)%r_soil, surf_usm_v(0)%r_soil, & 2298 surf_def_v(1)%r_soil, surf_lsm_v(1)%r_soil, surf_usm_v(1)%r_soil, & 2299 surf_def_v(2)%r_soil, surf_lsm_v(2)%r_soil, surf_usm_v(2)%r_soil, & 2300 surf_def_v(3)%r_soil, surf_lsm_v(3)%r_soil, surf_usm_v(3)%r_soil ) 2381 2301 ELSE 2382 2302 ! … … 2391 2311 !-- Output of instantaneous data 2392 2312 IF ( av == 0 ) THEN 2393 CALL surface_data_output_collect( surf_def_h(0)%r_canopy, surf_def_h(1)%r_canopy, & 2394 surf_lsm_h%r_canopy, surf_usm_h%r_canopy, & 2395 surf_def_v(0)%r_canopy, surf_lsm_v(0)%r_canopy, & 2396 surf_usm_v(0)%r_canopy, surf_def_v(1)%r_canopy, & 2397 surf_lsm_v(1)%r_canopy, surf_usm_v(1)%r_canopy, & 2398 surf_def_v(2)%r_canopy, surf_lsm_v(2)%r_canopy, & 2399 surf_usm_v(2)%r_canopy, surf_def_v(3)%r_canopy, & 2400 surf_lsm_v(3)%r_canopy, surf_usm_v(3)%r_canopy ) 2313 CALL surface_data_output_collect( & 2314 surf_def_h(0)%r_canopy, surf_lsm_h(0)%r_canopy, surf_usm_h(0)%r_canopy, & 2315 surf_def_h(1)%r_canopy, surf_lsm_h(1)%r_canopy, surf_usm_h(1)%r_canopy, & 2316 surf_def_v(0)%r_canopy, surf_lsm_v(0)%r_canopy, surf_usm_v(0)%r_canopy, & 2317 surf_def_v(1)%r_canopy, surf_lsm_v(1)%r_canopy, surf_usm_v(1)%r_canopy, & 2318 surf_def_v(2)%r_canopy, surf_lsm_v(2)%r_canopy, surf_usm_v(2)%r_canopy, & 2319 surf_def_v(3)%r_canopy, surf_lsm_v(3)%r_canopy, surf_usm_v(3)%r_canopy ) 2401 2320 ELSE 2402 2321 ! … … 2411 2330 !-- Output of instantaneous data 2412 2331 IF ( av == 0 ) THEN 2413 CALL surface_data_output_collect( surf_def_h(0)%r_s, surf_def_h(1)%r_s, & 2414 surf_lsm_h%r_s, surf_usm_h%r_s, & 2415 surf_def_v(0)%r_s, surf_lsm_v(0)%r_s, & 2416 surf_usm_v(0)%r_s, surf_def_v(1)%r_s, & 2417 surf_lsm_v(1)%r_s, surf_usm_v(1)%r_s, & 2418 surf_def_v(2)%r_s, surf_lsm_v(2)%r_s, & 2419 surf_usm_v(2)%r_s, surf_def_v(3)%r_s, & 2420 surf_lsm_v(3)%r_s, surf_usm_v(3)%r_s ) 2332 CALL surface_data_output_collect( & 2333 surf_def_h(0)%r_s, surf_lsm_h(0)%r_s, surf_usm_h(0)%r_s, & 2334 surf_def_h(1)%r_s, surf_lsm_h(1)%r_s, surf_usm_h(1)%r_s, & 2335 surf_def_v(0)%r_s, surf_lsm_v(0)%r_s, surf_usm_v(0)%r_s, & 2336 surf_def_v(1)%r_s, surf_lsm_v(1)%r_s, surf_usm_v(1)%r_s, & 2337 surf_def_v(2)%r_s, surf_lsm_v(2)%r_s, surf_usm_v(2)%r_s, & 2338 surf_def_v(3)%r_s, surf_lsm_v(3)%r_s, surf_usm_v(3)%r_s ) 2421 2339 ELSE 2422 2340 ! … … 2431 2349 !-- Output of instantaneous data 2432 2350 IF ( av == 0 ) THEN 2433 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_dir, & 2434 surf_def_h(1)%rad_sw_dir, surf_lsm_h%rad_sw_dir, & 2435 surf_usm_h%rad_sw_dir, surf_def_v(0)%rad_sw_dir, & 2436 surf_lsm_v(0)%rad_sw_dir, & 2437 surf_usm_v(0)%rad_sw_dir, & 2438 surf_def_v(1)%rad_sw_dir, & 2439 surf_lsm_v(1)%rad_sw_dir, & 2440 surf_usm_v(1)%rad_sw_dir, & 2441 surf_def_v(2)%rad_sw_dir, & 2442 surf_lsm_v(2)%rad_sw_dir, & 2443 surf_usm_v(2)%rad_sw_dir, & 2444 surf_def_v(3)%rad_sw_dir, & 2445 surf_lsm_v(3)%rad_sw_dir, & 2446 surf_usm_v(3)%rad_sw_dir ) 2351 CALL surface_data_output_collect( & 2352 surf_def_h(0)%rad_sw_dir, surf_lsm_h(0)%rad_sw_dir, surf_usm_h(0)%rad_sw_dir, & 2353 surf_def_h(1)%rad_sw_dir, surf_lsm_h(1)%rad_sw_dir, surf_usm_h(1)%rad_sw_dir, & 2354 surf_def_v(0)%rad_sw_dir, surf_lsm_v(0)%rad_sw_dir, surf_usm_v(0)%rad_sw_dir, & 2355 surf_def_v(1)%rad_sw_dir, surf_lsm_v(1)%rad_sw_dir, surf_usm_v(1)%rad_sw_dir, & 2356 surf_def_v(2)%rad_sw_dir, surf_lsm_v(2)%rad_sw_dir, surf_usm_v(2)%rad_sw_dir, & 2357 surf_def_v(3)%rad_sw_dir, surf_lsm_v(3)%rad_sw_dir, surf_usm_v(3)%rad_sw_dir ) 2447 2358 ELSE 2448 2359 ! … … 2457 2368 !-- Output of instantaneous data 2458 2369 IF ( av == 0 ) THEN 2459 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_dif, & 2460 surf_def_h(1)%rad_sw_dif, surf_lsm_h%rad_sw_dif, & 2461 surf_usm_h%rad_sw_dif, surf_def_v(0)%rad_sw_dif, & 2462 surf_lsm_v(0)%rad_sw_dif, & 2463 surf_usm_v(0)%rad_sw_dif, & 2464 surf_def_v(1)%rad_sw_dif, & 2465 surf_lsm_v(1)%rad_sw_dif, & 2466 surf_usm_v(1)%rad_sw_dif, & 2467 surf_def_v(2)%rad_sw_dif, & 2468 surf_lsm_v(2)%rad_sw_dif, & 2469 surf_usm_v(2)%rad_sw_dif, & 2470 surf_def_v(3)%rad_sw_dif, & 2471 surf_lsm_v(3)%rad_sw_dif, & 2472 surf_usm_v(3)%rad_sw_dif ) 2370 CALL surface_data_output_collect( & 2371 surf_def_h(0)%rad_sw_dif, surf_lsm_h(0)%rad_sw_dif, surf_usm_h(0)%rad_sw_dif, & 2372 surf_def_h(1)%rad_sw_dif, surf_lsm_h(1)%rad_sw_dif, surf_usm_h(1)%rad_sw_dif, & 2373 surf_def_v(0)%rad_sw_dif, surf_lsm_v(0)%rad_sw_dif, surf_usm_v(0)%rad_sw_dif, & 2374 surf_def_v(1)%rad_sw_dif, surf_lsm_v(1)%rad_sw_dif, surf_usm_v(1)%rad_sw_dif, & 2375 surf_def_v(2)%rad_sw_dif, surf_lsm_v(2)%rad_sw_dif, surf_usm_v(2)%rad_sw_dif, & 2376 surf_def_v(3)%rad_sw_dif, surf_lsm_v(3)%rad_sw_dif, surf_usm_v(3)%rad_sw_dif ) 2473 2377 ELSE 2474 2378 ! … … 2483 2387 !-- Output of instantaneous data 2484 2388 IF ( av == 0 ) THEN 2485 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_ref, & 2486 surf_def_h(1)%rad_sw_ref, surf_lsm_h%rad_sw_ref, & 2487 surf_usm_h%rad_sw_ref, surf_def_v(0)%rad_sw_ref, & 2488 surf_lsm_v(0)%rad_sw_ref, & 2489 surf_usm_v(0)%rad_sw_ref, & 2490 surf_def_v(1)%rad_sw_ref, & 2491 surf_lsm_v(1)%rad_sw_ref, & 2492 surf_usm_v(1)%rad_sw_ref, & 2493 surf_def_v(2)%rad_sw_ref, & 2494 surf_lsm_v(2)%rad_sw_ref, & 2495 surf_usm_v(2)%rad_sw_ref, & 2496 surf_def_v(3)%rad_sw_ref, & 2497 surf_lsm_v(3)%rad_sw_ref, & 2498 surf_usm_v(3)%rad_sw_ref ) 2389 CALL surface_data_output_collect( & 2390 surf_def_h(0)%rad_sw_ref, surf_lsm_h(0)%rad_sw_ref, surf_usm_h(0)%rad_sw_ref, & 2391 surf_def_h(1)%rad_sw_ref, surf_lsm_h(1)%rad_sw_ref, surf_usm_h(1)%rad_sw_ref, & 2392 surf_def_v(0)%rad_sw_ref, surf_lsm_v(0)%rad_sw_ref, surf_usm_v(0)%rad_sw_ref, & 2393 surf_def_v(1)%rad_sw_ref, surf_lsm_v(1)%rad_sw_ref, surf_usm_v(1)%rad_sw_ref, & 2394 surf_def_v(2)%rad_sw_ref, surf_lsm_v(2)%rad_sw_ref, surf_usm_v(2)%rad_sw_ref, & 2395 surf_def_v(3)%rad_sw_ref, surf_lsm_v(3)%rad_sw_ref, surf_usm_v(3)%rad_sw_ref ) 2499 2396 ELSE 2500 2397 ! … … 2509 2406 !-- Output of instantaneous data 2510 2407 IF ( av == 0 ) THEN 2511 CALL surface_data_output_collect( surf_def_h(0)%rad_sw_res, & 2512 surf_def_h(1)%rad_sw_res, surf_lsm_h%rad_sw_res, & 2513 surf_usm_h%rad_sw_res, surf_def_v(0)%rad_sw_res, & 2514 surf_lsm_v(0)%rad_sw_res, & 2515 surf_usm_v(0)%rad_sw_res, & 2516 surf_def_v(1)%rad_sw_res, & 2517 surf_lsm_v(1)%rad_sw_res, & 2518 surf_usm_v(1)%rad_sw_res, & 2519 surf_def_v(2)%rad_sw_res, & 2520 surf_lsm_v(2)%rad_sw_res, & 2521 surf_usm_v(2)%rad_sw_res, & 2522 surf_def_v(3)%rad_sw_res, & 2523 surf_lsm_v(3)%rad_sw_res, & 2524 surf_usm_v(3)%rad_sw_res ) 2408 CALL surface_data_output_collect( & 2409 surf_def_h(0)%rad_sw_res, surf_lsm_h(0)%rad_sw_res, surf_usm_h(0)%rad_sw_res, & 2410 surf_def_h(1)%rad_sw_res, surf_lsm_h(1)%rad_sw_res, surf_usm_h(1)%rad_sw_res, & 2411 surf_def_v(0)%rad_sw_res, surf_lsm_v(0)%rad_sw_res, surf_usm_v(0)%rad_sw_res, & 2412 surf_def_v(1)%rad_sw_res, surf_lsm_v(1)%rad_sw_res, surf_usm_v(1)%rad_sw_res, & 2413 surf_def_v(2)%rad_sw_res, surf_lsm_v(2)%rad_sw_res, surf_usm_v(2)%rad_sw_res, & 2414 surf_def_v(3)%rad_sw_res, surf_lsm_v(3)%rad_sw_res, surf_usm_v(3)%rad_sw_res ) 2525 2415 ELSE 2526 2416 ! … … 2535 2425 !-- Output of instantaneous data 2536 2426 IF ( av == 0 ) THEN 2537 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_dif, & 2538 surf_def_h(1)%rad_lw_dif, surf_lsm_h%rad_lw_dif, & 2539 surf_usm_h%rad_lw_dif, surf_def_v(0)%rad_lw_dif, & 2540 surf_lsm_v(0)%rad_lw_dif, & 2541 surf_usm_v(0)%rad_lw_dif, & 2542 surf_def_v(1)%rad_lw_dif, & 2543 surf_lsm_v(1)%rad_lw_dif, & 2544 surf_usm_v(1)%rad_lw_dif, & 2545 surf_def_v(2)%rad_lw_dif, & 2546 surf_lsm_v(2)%rad_lw_dif, & 2547 surf_usm_v(2)%rad_lw_dif, & 2548 surf_def_v(3)%rad_lw_dif, & 2549 surf_lsm_v(3)%rad_lw_dif, & 2550 surf_usm_v(3)%rad_lw_dif ) 2427 CALL surface_data_output_collect( & 2428 surf_def_h(0)%rad_lw_dif, surf_lsm_h(0)%rad_lw_dif, surf_usm_h(0)%rad_lw_dif, & 2429 surf_def_h(1)%rad_lw_dif, surf_lsm_h(1)%rad_lw_dif, surf_usm_h(1)%rad_lw_dif, & 2430 surf_def_v(0)%rad_lw_dif, surf_lsm_v(0)%rad_lw_dif, surf_usm_v(0)%rad_lw_dif, & 2431 surf_def_v(1)%rad_lw_dif, surf_lsm_v(1)%rad_lw_dif, surf_usm_v(1)%rad_lw_dif, & 2432 surf_def_v(2)%rad_lw_dif, surf_lsm_v(2)%rad_lw_dif, surf_usm_v(2)%rad_lw_dif, & 2433 surf_def_v(3)%rad_lw_dif, surf_lsm_v(3)%rad_lw_dif, surf_usm_v(3)%rad_lw_dif ) 2551 2434 ELSE 2552 2435 ! … … 2561 2444 !-- Output of instantaneous data 2562 2445 IF ( av == 0 ) THEN 2563 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_ref, & 2564 surf_def_h(1)%rad_lw_ref, surf_lsm_h%rad_lw_ref, & 2565 surf_usm_h%rad_lw_ref, surf_def_v(0)%rad_lw_ref, & 2566 surf_lsm_v(0)%rad_lw_ref, & 2567 surf_usm_v(0)%rad_lw_ref, & 2568 surf_def_v(1)%rad_lw_ref, & 2569 surf_lsm_v(1)%rad_lw_ref, & 2570 surf_usm_v(1)%rad_lw_ref, & 2571 surf_def_v(2)%rad_lw_ref, & 2572 surf_lsm_v(2)%rad_lw_ref, & 2573 surf_usm_v(2)%rad_lw_ref, & 2574 surf_def_v(3)%rad_lw_ref, & 2575 surf_lsm_v(3)%rad_lw_ref, & 2576 surf_usm_v(3)%rad_lw_ref ) 2446 CALL surface_data_output_collect( & 2447 surf_def_h(0)%rad_lw_ref, surf_lsm_h(0)%rad_lw_ref, surf_usm_h(0)%rad_lw_ref, & 2448 surf_def_h(1)%rad_lw_ref, surf_lsm_h(1)%rad_lw_ref, surf_usm_h(1)%rad_lw_ref, & 2449 surf_def_v(0)%rad_lw_ref, surf_lsm_v(0)%rad_lw_ref, surf_usm_v(0)%rad_lw_ref, & 2450 surf_def_v(1)%rad_lw_ref, surf_lsm_v(1)%rad_lw_ref, surf_usm_v(1)%rad_lw_ref, & 2451 surf_def_v(2)%rad_lw_ref, surf_lsm_v(2)%rad_lw_ref, surf_usm_v(2)%rad_lw_ref, & 2452 surf_def_v(3)%rad_lw_ref, surf_lsm_v(3)%rad_lw_ref, surf_usm_v(3)%rad_lw_ref ) 2577 2453 ELSE 2578 2454 ! … … 2587 2463 !-- Output of instantaneous data 2588 2464 IF ( av == 0 ) THEN 2589 CALL surface_data_output_collect( surf_def_h(0)%rad_lw_res, & 2590 surf_def_h(1)%rad_lw_res, surf_lsm_h%rad_lw_res, & 2591 surf_usm_h%rad_lw_res, surf_def_v(0)%rad_lw_res, & 2592 surf_lsm_v(0)%rad_lw_res, & 2593 surf_usm_v(0)%rad_lw_res, & 2594 surf_def_v(1)%rad_lw_res, & 2595 surf_lsm_v(1)%rad_lw_res, & 2596 surf_usm_v(1)%rad_lw_res, & 2597 surf_def_v(2)%rad_lw_res, & 2598 surf_lsm_v(2)%rad_lw_res, & 2599 surf_usm_v(2)%rad_lw_res, & 2600 surf_def_v(3)%rad_lw_res, & 2601 surf_lsm_v(3)%rad_lw_res, & 2602 surf_usm_v(3)%rad_lw_res ) 2465 CALL surface_data_output_collect( & 2466 surf_def_h(0)%rad_lw_res, surf_lsm_h(0)%rad_lw_res, surf_usm_h(0)%rad_lw_res, & 2467 surf_def_h(1)%rad_lw_res, surf_lsm_h(1)%rad_lw_res, surf_usm_h(1)%rad_lw_res, & 2468 surf_def_v(0)%rad_lw_res, surf_lsm_v(0)%rad_lw_res, surf_usm_v(0)%rad_lw_res, & 2469 surf_def_v(1)%rad_lw_res, surf_lsm_v(1)%rad_lw_res, surf_usm_v(1)%rad_lw_res, & 2470 surf_def_v(2)%rad_lw_res, surf_lsm_v(2)%rad_lw_res, surf_usm_v(2)%rad_lw_res, & 2471 surf_def_v(3)%rad_lw_res, surf_lsm_v(3)%rad_lw_res, surf_usm_v(3)%rad_lw_res ) 2603 2472 ELSE 2604 2473 ! … … 2613 2482 !-- Output of instantaneous data 2614 2483 IF ( av == 0 ) THEN 2615 CALL surface_data_output_collect( surf_def_h(0)%uvw_abs, & 2616 surf_def_h(1)%uvw_abs, surf_lsm_h%uvw_abs, & 2617 surf_usm_h%uvw_abs, surf_def_v(0)%uvw_abs, & 2618 surf_lsm_v(0)%uvw_abs, & 2619 surf_usm_v(0)%uvw_abs, & 2620 surf_def_v(1)%uvw_abs, & 2621 surf_lsm_v(1)%uvw_abs, & 2622 surf_usm_v(1)%uvw_abs, & 2623 surf_def_v(2)%uvw_abs, & 2624 surf_lsm_v(2)%uvw_abs, & 2625 surf_usm_v(2)%uvw_abs, & 2626 surf_def_v(3)%uvw_abs, & 2627 surf_lsm_v(3)%uvw_abs, & 2628 surf_usm_v(3)%uvw_abs ) 2484 CALL surface_data_output_collect( & 2485 surf_def_h(0)%uvw_abs, surf_lsm_h(0)%uvw_abs, surf_usm_h(0)%uvw_abs, & 2486 surf_def_h(1)%uvw_abs, surf_lsm_h(1)%uvw_abs, surf_usm_h(1)%uvw_abs, & 2487 surf_def_v(0)%uvw_abs, surf_lsm_v(0)%uvw_abs, surf_usm_v(0)%uvw_abs, & 2488 surf_def_v(1)%uvw_abs, surf_lsm_v(1)%uvw_abs, surf_usm_v(1)%uvw_abs, & 2489 surf_def_v(2)%uvw_abs, surf_lsm_v(2)%uvw_abs, surf_usm_v(2)%uvw_abs, & 2490 surf_def_v(3)%uvw_abs, surf_lsm_v(3)%uvw_abs, surf_usm_v(3)%uvw_abs ) 2629 2491 ELSE 2630 2492 ! … … 2640 2502 !-- Output of instantaneous data 2641 2503 IF ( av == 0 ) THEN 2642 CALL surface_data_output_collect( surf_def_h(0)%waste_heat, & 2643 surf_def_h(1)%waste_heat, surf_lsm_h%waste_heat, & 2644 surf_usm_h%waste_heat, surf_def_v(0)%waste_heat, & 2645 surf_lsm_v(0)%waste_heat, & 2646 surf_usm_v(0)%waste_heat, & 2647 surf_def_v(1)%waste_heat, & 2648 surf_lsm_v(1)%waste_heat, & 2649 surf_usm_v(1)%waste_heat, & 2650 surf_def_v(2)%waste_heat, & 2651 surf_lsm_v(2)%waste_heat, & 2652 surf_usm_v(2)%waste_heat, & 2653 surf_def_v(3)%waste_heat, & 2654 surf_lsm_v(3)%waste_heat, & 2655 surf_usm_v(3)%waste_heat ) 2504 CALL surface_data_output_collect( & 2505 surf_def_h(0)%waste_heat, surf_lsm_h(0)%waste_heat, surf_usm_h(0)%waste_heat, & 2506 surf_def_h(1)%waste_heat, surf_lsm_h(1)%waste_heat, surf_usm_h(1)%waste_heat, & 2507 surf_def_v(0)%waste_heat, surf_lsm_v(0)%waste_heat, surf_usm_v(0)%waste_heat, & 2508 surf_def_v(1)%waste_heat, surf_lsm_v(1)%waste_heat, surf_usm_v(1)%waste_heat, & 2509 surf_def_v(2)%waste_heat, surf_lsm_v(2)%waste_heat, surf_usm_v(2)%waste_heat, & 2510 surf_def_v(3)%waste_heat, surf_lsm_v(3)%waste_heat, surf_usm_v(3)%waste_heat ) 2656 2511 ELSE 2657 2512 ! … … 2667 2522 !-- Output of instantaneous data 2668 2523 IF ( av == 0 ) THEN 2669 CALL surface_data_output_collect( surf_def_h(0)%iwghf_eb, surf_def_h(1)%iwghf_eb, & 2670 surf_lsm_h%iwghf_eb, surf_usm_h%iwghf_eb, & 2671 surf_def_v(0)%iwghf_eb, surf_lsm_v(0)%iwghf_eb, & 2672 surf_usm_v(0)%iwghf_eb, surf_def_v(1)%iwghf_eb, & 2673 surf_lsm_v(1)%iwghf_eb, surf_usm_v(1)%iwghf_eb, & 2674 surf_def_v(2)%iwghf_eb, surf_lsm_v(2)%iwghf_eb, & 2675 surf_usm_v(2)%iwghf_eb, surf_def_v(3)%iwghf_eb, & 2676 surf_lsm_v(3)%iwghf_eb, surf_usm_v(3)%iwghf_eb ) 2524 CALL surface_data_output_collect( & 2525 surf_def_h(0)%iwghf_eb, surf_lsm_h(0)%iwghf_eb, surf_usm_h(0)%iwghf_eb, & 2526 surf_def_h(1)%iwghf_eb, surf_lsm_h(1)%iwghf_eb, surf_usm_h(1)%iwghf_eb, & 2527 surf_def_v(0)%iwghf_eb, surf_lsm_v(0)%iwghf_eb, surf_usm_v(0)%iwghf_eb, & 2528 surf_def_v(1)%iwghf_eb, surf_lsm_v(1)%iwghf_eb, surf_usm_v(1)%iwghf_eb, & 2529 surf_def_v(2)%iwghf_eb, surf_lsm_v(2)%iwghf_eb, surf_usm_v(2)%iwghf_eb, & 2530 surf_def_v(3)%iwghf_eb, surf_lsm_v(3)%iwghf_eb, surf_usm_v(3)%iwghf_eb ) 2677 2531 ELSE 2678 2532 ! … … 2688 2542 !-- Output of instantaneous data 2689 2543 IF ( av == 0 ) THEN 2690 CALL surface_data_output_collect( surf_def_h(0)%albedo, surf_def_h(1)%albedo, & 2691 surf_lsm_h%albedo, surf_usm_h%albedo, & 2692 surf_def_v(0)%albedo, surf_lsm_v(0)%albedo, & 2693 surf_usm_v(0)%albedo, surf_def_v(1)%albedo, & 2694 surf_lsm_v(1)%albedo, surf_usm_v(1)%albedo, & 2695 surf_def_v(2)%albedo, surf_lsm_v(2)%albedo, & 2696 surf_usm_v(2)%albedo, surf_def_v(3)%albedo, & 2697 surf_lsm_v(3)%albedo, surf_usm_v(3)%albedo ) 2544 CALL surface_data_output_collect( & 2545 surf_def_h(0)%albedo, surf_lsm_h(0)%albedo, surf_usm_h(0)%albedo, & 2546 surf_def_h(1)%albedo, surf_lsm_h(1)%albedo, surf_usm_h(1)%albedo, & 2547 surf_def_v(0)%albedo, surf_lsm_v(0)%albedo, surf_usm_v(0)%albedo, & 2548 surf_def_v(1)%albedo, surf_lsm_v(1)%albedo, surf_usm_v(1)%albedo, & 2549 surf_def_v(2)%albedo, surf_lsm_v(2)%albedo, surf_usm_v(2)%albedo, & 2550 surf_def_v(3)%albedo, surf_lsm_v(3)%albedo, surf_usm_v(3)%albedo ) 2698 2551 ELSE 2699 2552 ! … … 2709 2562 !-- Output of instantaneous data 2710 2563 IF ( av == 0 ) THEN 2711 CALL surface_data_output_collect( surf_def_h(0)%emissivity, & 2712 surf_def_h(1)%emissivity, surf_lsm_h%emissivity, & 2713 surf_usm_h%emissivity, surf_def_v(0)%emissivity, & 2714 surf_lsm_v(0)%emissivity, & 2715 surf_usm_v(0)%emissivity, & 2716 surf_def_v(1)%emissivity, & 2717 surf_lsm_v(1)%emissivity, & 2718 surf_usm_v(1)%emissivity, & 2719 surf_def_v(2)%emissivity, & 2720 surf_lsm_v(2)%emissivity, & 2721 surf_usm_v(2)%emissivity, & 2722 surf_def_v(3)%emissivity, & 2723 surf_lsm_v(3)%emissivity, & 2724 surf_usm_v(3)%emissivity ) 2564 CALL surface_data_output_collect( & 2565 surf_def_h(0)%emissivity, surf_lsm_h(0)%emissivity, surf_usm_h(0)%emissivity, & 2566 surf_def_h(1)%emissivity, surf_lsm_h(1)%emissivity, surf_usm_h(1)%emissivity, & 2567 surf_def_v(0)%emissivity, surf_lsm_v(0)%emissivity, surf_usm_v(0)%emissivity, & 2568 surf_def_v(1)%emissivity, surf_lsm_v(1)%emissivity, surf_usm_v(1)%emissivity, & 2569 surf_def_v(2)%emissivity, surf_lsm_v(2)%emissivity, surf_usm_v(2)%emissivity, & 2570 surf_def_v(3)%emissivity, surf_lsm_v(3)%emissivity, surf_usm_v(3)%emissivity ) 2725 2571 ELSE 2726 2572 ! … … 2801 2647 2802 2648 CASE ( 'us' ) 2803 CALL surface_data_output_sum_up( surf_def_h(0)%us, surf_def_h(1)%us, surf_lsm_h%us,&2804 surf_usm_h%us, surf_def_v(0)%us, surf_lsm_v(0)%us,&2805 surf_usm_v(0)%us, surf_def_v(1)%us,&2806 surf_lsm_v(1)%us, surf_usm_v(1)%us,&2807 surf_def_v(2)%us, surf_lsm_v(2)%us,&2808 surf_usm_v(2)%us, surf_def_v(3)%us,&2809 2649 CALL surface_data_output_sum_up( & 2650 surf_def_h(0)%us, surf_lsm_h(0)%us, surf_usm_h(0)%us, & 2651 surf_def_h(1)%us, surf_lsm_h(1)%us, surf_usm_h(1)%us, & 2652 surf_def_v(0)%us, surf_lsm_v(0)%us, surf_usm_v(0)%us, & 2653 surf_def_v(1)%us, surf_lsm_v(1)%us, surf_usm_v(1)%us, & 2654 surf_def_v(2)%us, surf_lsm_v(2)%us, surf_usm_v(2)%us, & 2655 surf_def_v(3)%us, surf_lsm_v(3)%us, surf_usm_v(3)%us, n_out ) 2810 2656 2811 2657 CASE ( 'ts' ) 2812 CALL surface_data_output_sum_up( surf_def_h(0)%ts, surf_def_h(1)%ts, surf_lsm_h%ts,&2813 surf_usm_h%ts, surf_def_v(0)%ts, surf_lsm_v(0)%ts,&2814 surf_usm_v(0)%ts, surf_def_v(1)%ts,&2815 surf_lsm_v(1)%ts, surf_usm_v(1)%ts,&2816 surf_def_v(2)%ts, surf_lsm_v(2)%ts,&2817 surf_usm_v(2)%ts, surf_def_v(3)%ts,&2818 2658 CALL surface_data_output_sum_up( & 2659 surf_def_h(0)%ts, surf_lsm_h(0)%ts, surf_usm_h(0)%ts, & 2660 surf_def_h(1)%ts, surf_lsm_h(1)%ts, surf_usm_h(1)%ts, & 2661 surf_def_v(0)%ts, surf_lsm_v(0)%ts, surf_usm_v(0)%ts, & 2662 surf_def_v(1)%ts, surf_lsm_v(1)%ts, surf_usm_v(1)%ts, & 2663 surf_def_v(2)%ts, surf_lsm_v(2)%ts, surf_usm_v(2)%ts, & 2664 surf_def_v(3)%ts, surf_lsm_v(3)%ts, surf_usm_v(3)%ts, n_out ) 2819 2665 2820 2666 CASE ( 'qs' ) 2821 CALL surface_data_output_sum_up( surf_def_h(0)%qs, surf_def_h(1)%qs, surf_lsm_h%qs,&2822 surf_usm_h%qs, surf_def_v(0)%qs, surf_lsm_v(0)%qs,&2823 surf_usm_v(0)%qs, surf_def_v(1)%qs,&2824 surf_lsm_v(1)%qs, surf_usm_v(1)%qs,&2825 surf_def_v(2)%qs, surf_lsm_v(2)%qs,&2826 surf_usm_v(2)%qs, surf_def_v(3)%qs,&2827 2667 CALL surface_data_output_sum_up( & 2668 surf_def_h(0)%qs, surf_lsm_h(0)%qs, surf_usm_h(0)%qs, & 2669 surf_def_h(1)%qs, surf_lsm_h(1)%qs, surf_usm_h(1)%qs, & 2670 surf_def_v(0)%qs, surf_lsm_v(0)%qs, surf_usm_v(0)%qs, & 2671 surf_def_v(1)%qs, surf_lsm_v(1)%qs, surf_usm_v(1)%qs, & 2672 surf_def_v(2)%qs, surf_lsm_v(2)%qs, surf_usm_v(2)%qs, & 2673 surf_def_v(3)%qs, surf_lsm_v(3)%qs, surf_usm_v(3)%qs, n_out ) 2828 2674 2829 2675 CASE ( 'ss' ) 2830 CALL surface_data_output_sum_up( surf_def_h(0)%ss, surf_def_h(1)%ss, surf_lsm_h%ss,&2831 surf_usm_h%ss, surf_def_v(0)%ss, surf_lsm_v(0)%ss,&2832 surf_usm_v(0)%ss, surf_def_v(1)%ss,&2833 surf_lsm_v(1)%ss, surf_usm_v(1)%ss,&2834 surf_def_v(2)%ss, surf_lsm_v(2)%ss,&2835 surf_usm_v(2)%ss, surf_def_v(3)%ss,&2836 2676 CALL surface_data_output_sum_up( & 2677 surf_def_h(0)%ss, surf_lsm_h(0)%ss, surf_usm_h(0)%ss, & 2678 surf_def_h(1)%ss, surf_lsm_h(1)%ss, surf_usm_h(1)%ss, & 2679 surf_def_v(0)%ss, surf_lsm_v(0)%ss, surf_usm_v(0)%ss, & 2680 surf_def_v(1)%ss, surf_lsm_v(1)%ss, surf_usm_v(1)%ss, & 2681 surf_def_v(2)%ss, surf_lsm_v(2)%ss, surf_usm_v(2)%ss, & 2682 surf_def_v(3)%ss, surf_lsm_v(3)%ss, surf_usm_v(3)%ss, n_out ) 2837 2683 2838 2684 CASE ( 'qcs' ) 2839 CALL surface_data_output_sum_up( surf_def_h(0)%qcs, surf_def_h(1)%qcs, & 2840 surf_lsm_h%qcs, surf_usm_h%qcs, surf_def_v(0)%qcs, & 2841 surf_lsm_v(0)%qcs, surf_usm_v(0)%qcs, & 2842 surf_def_v(1)%qcs, surf_lsm_v(1)%qcs, & 2843 surf_usm_v(1)%qcs, surf_def_v(2)%qcs, & 2844 surf_lsm_v(2)%qcs, surf_usm_v(2)%qcs, & 2845 surf_def_v(3)%qcs, surf_lsm_v(3)%qcs, & 2846 surf_usm_v(3)%qcs, n_out ) 2685 CALL surface_data_output_sum_up( & 2686 surf_def_h(0)%qcs, surf_lsm_h(0)%qcs, surf_usm_h(0)%qcs, & 2687 surf_def_h(1)%qcs, surf_lsm_h(1)%qcs, surf_usm_h(1)%qcs, & 2688 surf_def_v(0)%qcs, surf_lsm_v(0)%qcs, surf_usm_v(0)%qcs, & 2689 surf_def_v(1)%qcs, surf_lsm_v(1)%qcs, surf_usm_v(1)%qcs, & 2690 surf_def_v(2)%qcs, surf_lsm_v(2)%qcs, surf_usm_v(2)%qcs, & 2691 surf_def_v(3)%qcs, surf_lsm_v(3)%qcs, surf_usm_v(3)%qcs, n_out ) 2847 2692 2848 2693 CASE ( 'ncs' ) 2849 CALL surface_data_output_sum_up( surf_def_h(0)%ncs, surf_def_h(1)%ncs, surf_lsm_h%ncs,& 2850 surf_usm_h%ncs, surf_def_v(0)%ncs, & 2851 surf_lsm_v(0)%ncs, surf_usm_v(0)%ncs, & 2852 surf_def_v(1)%ncs, surf_lsm_v(1)%ncs, & 2853 surf_usm_v(1)%ncs, surf_def_v(2)%ncs, & 2854 surf_lsm_v(2)%ncs, surf_usm_v(2)%ncs, & 2855 surf_def_v(3)%ncs, surf_lsm_v(3)%ncs, & 2856 surf_usm_v(3)%ncs, n_out ) 2694 CALL surface_data_output_sum_up( & 2695 surf_def_h(0)%ncs, surf_lsm_h(0)%ncs, surf_usm_h(0)%ncs, & 2696 surf_def_h(1)%ncs, surf_lsm_h(1)%ncs, surf_usm_h(1)%ncs, & 2697 surf_def_v(0)%ncs, surf_lsm_v(0)%ncs, surf_usm_v(0)%ncs, & 2698 surf_def_v(1)%ncs, surf_lsm_v(1)%ncs, surf_usm_v(1)%ncs, & 2699 surf_def_v(2)%ncs, surf_lsm_v(2)%ncs, surf_usm_v(2)%ncs, & 2700 surf_def_v(3)%ncs, surf_lsm_v(3)%ncs, surf_usm_v(3)%ncs, n_out ) 2857 2701 2858 2702 CASE ( 'qis' ) 2859 CALL surface_data_output_sum_up( surf_def_h(0)%qis, surf_def_h(1)%qis, & 2860 surf_lsm_h%qis, surf_usm_h%qis, surf_def_v(0)%qis, & 2861 surf_lsm_v(0)%qis, surf_usm_v(0)%qis, & 2862 surf_def_v(1)%qis, surf_lsm_v(1)%qis, & 2863 surf_usm_v(1)%qis, surf_def_v(2)%qis, & 2864 surf_lsm_v(2)%qis, surf_usm_v(2)%qis, & 2865 surf_def_v(3)%qis, surf_lsm_v(3)%qis, & 2866 surf_usm_v(3)%qrs, n_out ) 2703 CALL surface_data_output_sum_up( & 2704 surf_def_h(0)%qis, surf_lsm_h(0)%qis, surf_usm_h(0)%qis, & 2705 surf_def_h(1)%qis, surf_lsm_h(1)%qis, surf_usm_h(1)%qis, & 2706 surf_def_v(0)%qis, surf_lsm_v(0)%qis, surf_usm_v(0)%qis, & 2707 surf_def_v(1)%qis, surf_lsm_v(1)%qis, surf_usm_v(1)%qis, & 2708 surf_def_v(2)%qis, surf_lsm_v(2)%qis, surf_usm_v(2)%qis, & 2709 surf_def_v(3)%qis, surf_lsm_v(3)%qis, surf_usm_v(3)%qis, n_out ) 2867 2710 2868 2711 CASE ( 'nis' ) 2869 CALL surface_data_output_sum_up( surf_def_h(0)%nis, surf_def_h(1)%nis, & 2870 surf_lsm_h%nis, surf_usm_h%nis, surf_def_v(0)%nis, & 2871 surf_lsm_v(0)%nis, surf_usm_v(0)%nis, & 2872 surf_def_v(1)%nis, surf_lsm_v(1)%nis, & 2873 surf_usm_v(1)%nis, surf_def_v(2)%nis, & 2874 surf_lsm_v(2)%nis, surf_usm_v(2)%nis, & 2875 surf_def_v(3)%nis, surf_lsm_v(3)%nis, & 2876 surf_usm_v(3)%nis, n_out ) 2712 CALL surface_data_output_sum_up( & 2713 surf_def_h(0)%nis, surf_lsm_h(0)%nis, surf_usm_h(0)%nis, & 2714 surf_def_h(1)%nis, surf_lsm_h(1)%nis, surf_usm_h(1)%nis, & 2715 surf_def_v(0)%nis, surf_lsm_v(0)%nis, surf_usm_v(0)%nis, & 2716 surf_def_v(1)%nis, surf_lsm_v(1)%nis, surf_usm_v(1)%nis, & 2717 surf_def_v(2)%nis, surf_lsm_v(2)%nis, surf_usm_v(2)%nis, & 2718 surf_def_v(3)%nis, surf_lsm_v(3)%nis, surf_usm_v(3)%nis, n_out ) 2877 2719 2878 2720 CASE ( 'qrs' ) 2879 CALL surface_data_output_sum_up( surf_def_h(0)%qrs, surf_def_h(1)%qrs, & 2880 surf_lsm_h%qrs, surf_usm_h%qrs, surf_def_v(0)%qrs, & 2881 surf_lsm_v(0)%qrs, surf_usm_v(0)%qrs, & 2882 surf_def_v(1)%qrs, surf_lsm_v(1)%qrs, & 2883 surf_usm_v(1)%qrs, surf_def_v(2)%qrs, & 2884 surf_lsm_v(2)%qrs, surf_usm_v(2)%qrs, & 2885 surf_def_v(3)%qrs, surf_lsm_v(3)%qrs, & 2886 surf_usm_v(3)%qrs, n_out ) 2721 CALL surface_data_output_sum_up( & 2722 surf_def_h(0)%qrs, surf_lsm_h(0)%qrs, surf_usm_h(0)%qrs, & 2723 surf_def_h(1)%qrs, surf_lsm_h(1)%qrs, surf_usm_h(1)%qrs, & 2724 surf_def_v(0)%qrs, surf_lsm_v(0)%qrs, surf_usm_v(0)%qrs, & 2725 surf_def_v(1)%qrs, surf_lsm_v(1)%qrs, surf_usm_v(1)%qrs, & 2726 surf_def_v(2)%qrs, surf_lsm_v(2)%qrs, surf_usm_v(2)%qrs, & 2727 surf_def_v(3)%qrs, surf_lsm_v(3)%qrs, surf_usm_v(3)%qrs, n_out ) 2887 2728 2888 2729 CASE ( 'nrs' ) 2889 CALL surface_data_output_sum_up( surf_def_h(0)%nrs, surf_def_h(1)%nrs, & 2890 surf_lsm_h%nrs, surf_usm_h%nrs, surf_def_v(0)%nrs, & 2891 surf_lsm_v(0)%nrs, surf_usm_v(0)%nrs, & 2892 surf_def_v(1)%nrs, surf_lsm_v(1)%nrs, & 2893 surf_usm_v(1)%nrs, surf_def_v(2)%nrs, & 2894 surf_lsm_v(2)%nrs, surf_usm_v(2)%nrs, & 2895 surf_def_v(3)%nrs, surf_lsm_v(3)%nrs, & 2896 surf_usm_v(3)%nrs, n_out ) 2730 CALL surface_data_output_sum_up( & 2731 surf_def_h(0)%nrs, surf_lsm_h(0)%nrs, surf_usm_h(0)%nrs, & 2732 surf_def_h(1)%nrs, surf_lsm_h(1)%nrs, surf_usm_h(1)%nrs, & 2733 surf_def_v(0)%nrs, surf_lsm_v(0)%nrs, surf_usm_v(0)%nrs, & 2734 surf_def_v(1)%nrs, surf_lsm_v(1)%nrs, surf_usm_v(1)%nrs, & 2735 surf_def_v(2)%nrs, surf_lsm_v(2)%nrs, surf_usm_v(2)%nrs, & 2736 surf_def_v(3)%nrs, surf_lsm_v(3)%nrs, surf_usm_v(3)%nrs, n_out ) 2897 2737 2898 2738 CASE ( 'ol' ) 2899 CALL surface_data_output_sum_up( surf_def_h(0)%ol, surf_def_h(1)%ol, surf_lsm_h%ol,&2900 surf_usm_h%ol, surf_def_v(0)%ol, surf_lsm_v(0)%ol,&2901 surf_usm_v(0)%ol, surf_def_v(1)%ol,&2902 surf_lsm_v(1)%ol, surf_usm_v(1)%ol,&2903 surf_def_v(2)%ol, surf_lsm_v(2)%ol,&2904 surf_usm_v(2)%ol, surf_def_v(3)%ol,&2905 2739 CALL surface_data_output_sum_up( & 2740 surf_def_h(0)%ol, surf_lsm_h(0)%ol, surf_usm_h(0)%ol, & 2741 surf_def_h(1)%ol, surf_lsm_h(1)%ol, surf_usm_h(1)%ol, & 2742 surf_def_v(0)%ol, surf_lsm_v(0)%ol, surf_usm_v(0)%ol, & 2743 surf_def_v(1)%ol, surf_lsm_v(1)%ol, surf_usm_v(1)%ol, & 2744 surf_def_v(2)%ol, surf_lsm_v(2)%ol, surf_usm_v(2)%ol, & 2745 surf_def_v(3)%ol, surf_lsm_v(3)%ol, surf_usm_v(3)%ol, n_out ) 2906 2746 2907 2747 CASE ( 'z0' ) 2908 CALL surface_data_output_sum_up( surf_def_h(0)%z0, surf_def_h(1)%z0, surf_lsm_h%z0,&2909 surf_usm_h%z0, surf_def_v(0)%z0, surf_lsm_v(0)%z0,&2910 surf_usm_v(0)%z0, surf_def_v(1)%z0,&2911 surf_lsm_v(1)%z0, surf_usm_v(1)%z0,&2912 surf_def_v(2)%z0, surf_lsm_v(2)%z0,&2913 surf_usm_v(2)%z0, surf_def_v(3)%z0,&2914 2748 CALL surface_data_output_sum_up( & 2749 surf_def_h(0)%z0, surf_lsm_h(0)%z0, surf_usm_h(0)%z0, & 2750 surf_def_h(1)%z0, surf_lsm_h(1)%z0, surf_usm_h(1)%z0, & 2751 surf_def_v(0)%z0, surf_lsm_v(0)%z0, surf_usm_v(0)%z0, & 2752 surf_def_v(1)%z0, surf_lsm_v(1)%z0, surf_usm_v(1)%z0, & 2753 surf_def_v(2)%z0, surf_lsm_v(2)%z0, surf_usm_v(2)%z0, & 2754 surf_def_v(3)%z0, surf_lsm_v(3)%z0, surf_usm_v(3)%z0, n_out ) 2915 2755 2916 2756 CASE ( 'z0h' ) 2917 CALL surface_data_output_sum_up( surf_def_h(0)%z0h, surf_def_h(1)%z0h, & 2918 surf_lsm_h%z0h, surf_usm_h%z0h, surf_def_v(0)%z0h, & 2919 surf_lsm_v(0)%z0h, surf_usm_v(0)%z0h, & 2920 surf_def_v(1)%z0h, surf_lsm_v(1)%z0h, & 2921 surf_usm_v(1)%z0h, surf_def_v(2)%z0h, & 2922 surf_lsm_v(2)%z0h, surf_usm_v(2)%z0h, & 2923 surf_def_v(3)%z0h, surf_lsm_v(3)%z0h, & 2924 surf_usm_v(3)%z0h, n_out ) 2757 CALL surface_data_output_sum_up( & 2758 surf_def_h(0)%z0h, surf_lsm_h(0)%z0h, surf_usm_h(0)%z0h, & 2759 surf_def_h(1)%z0h, surf_lsm_h(1)%z0h, surf_usm_h(1)%z0h, & 2760 surf_def_v(0)%z0h, surf_lsm_v(0)%z0h, surf_usm_v(0)%z0h, & 2761 surf_def_v(1)%z0h, surf_lsm_v(1)%z0h, surf_usm_v(1)%z0h, & 2762 surf_def_v(2)%z0h, surf_lsm_v(2)%z0h, surf_usm_v(2)%z0h, & 2763 surf_def_v(3)%z0h, surf_lsm_v(3)%z0h, surf_usm_v(3)%z0h, n_out ) 2925 2764 2926 2765 CASE ( 'z0q' ) 2927 CALL surface_data_output_sum_up( surf_def_h(0)%z0q, surf_def_h(1)%z0q, & 2928 surf_lsm_h%z0q, surf_usm_h%z0q, surf_def_v(0)%z0q, & 2929 surf_lsm_v(0)%z0q, surf_usm_v(0)%z0q, & 2930 surf_def_v(1)%z0q, surf_lsm_v(1)%z0q, & 2931 surf_usm_v(1)%z0q, surf_def_v(2)%z0q, & 2932 surf_lsm_v(2)%z0q, surf_usm_v(2)%z0q, & 2933 surf_def_v(3)%z0q, surf_lsm_v(3)%z0q, & 2934 surf_usm_v(3)%z0q, n_out ) 2766 CALL surface_data_output_sum_up( & 2767 surf_def_h(0)%z0q, surf_lsm_h(0)%z0q, surf_usm_h(0)%z0q, & 2768 surf_def_h(1)%z0q, surf_lsm_h(1)%z0q, surf_usm_h(1)%z0q, & 2769 surf_def_v(0)%z0q, surf_lsm_v(0)%z0q, surf_usm_v(0)%z0q, & 2770 surf_def_v(1)%z0q, surf_lsm_v(1)%z0q, surf_usm_v(1)%z0q, & 2771 surf_def_v(2)%z0q, surf_lsm_v(2)%z0q, surf_usm_v(2)%z0q, & 2772 surf_def_v(3)%z0q, surf_lsm_v(3)%z0q, surf_usm_v(3)%z0q, n_out ) 2935 2773 2936 2774 CASE ( 'theta1' ) 2937 CALL surface_data_output_sum_up( surf_def_h(0)%pt1, surf_def_h(1)%pt1, & 2938 surf_lsm_h%pt1, surf_usm_h%pt1, surf_def_v(0)%pt1, & 2939 surf_lsm_v(0)%pt1, surf_usm_v(0)%pt1, & 2940 surf_def_v(1)%pt1, surf_lsm_v(1)%pt1, & 2941 surf_usm_v(1)%pt1, surf_def_v(2)%pt1, & 2942 surf_lsm_v(2)%pt1, surf_usm_v(2)%pt1, & 2943 surf_def_v(3)%pt1, surf_lsm_v(3)%pt1, & 2944 surf_usm_v(3)%pt1, n_out ) 2775 CALL surface_data_output_sum_up( & 2776 surf_def_h(0)%pt1, surf_lsm_h(0)%pt1, surf_usm_h(0)%pt1, & 2777 surf_def_h(1)%pt1, surf_lsm_h(1)%pt1, surf_usm_h(1)%pt1, & 2778 surf_def_v(0)%pt1, surf_lsm_v(0)%pt1, surf_usm_v(0)%pt1, & 2779 surf_def_v(1)%pt1, surf_lsm_v(1)%pt1, surf_usm_v(1)%pt1, & 2780 surf_def_v(2)%pt1, surf_lsm_v(2)%pt1, surf_usm_v(2)%pt1, & 2781 surf_def_v(3)%pt1, surf_lsm_v(3)%pt1, surf_usm_v(3)%pt1, n_out ) 2945 2782 2946 2783 CASE ( 'qv1' ) 2947 CALL surface_data_output_sum_up( surf_def_h(0)%qv1, surf_def_h(1)%qv1, & 2948 surf_lsm_h%qv1, surf_usm_h%qv1, surf_def_v(0)%qv1, & 2949 surf_lsm_v(0)%qv1, surf_usm_v(0)%qv1, & 2950 surf_def_v(1)%qv1, surf_lsm_v(1)%qv1, & 2951 surf_usm_v(1)%qv1, surf_def_v(2)%qv1, & 2952 surf_lsm_v(2)%qv1, surf_usm_v(2)%qv1, & 2953 surf_def_v(3)%qv1, surf_lsm_v(3)%qv1, & 2954 surf_usm_v(3)%qv1, n_out ) 2784 CALL surface_data_output_sum_up( & 2785 surf_def_h(0)%qv1, surf_lsm_h(0)%qv1, surf_usm_h(0)%qv1, & 2786 surf_def_h(1)%qv1, surf_lsm_h(1)%qv1, surf_usm_h(1)%qv1, & 2787 surf_def_v(0)%qv1, surf_lsm_v(0)%qv1, surf_usm_v(0)%qv1, & 2788 surf_def_v(1)%qv1, surf_lsm_v(1)%qv1, surf_usm_v(1)%qv1, & 2789 surf_def_v(2)%qv1, surf_lsm_v(2)%qv1, surf_usm_v(2)%qv1, & 2790 surf_def_v(3)%qv1, surf_lsm_v(3)%qv1, surf_usm_v(3)%qv1, n_out ) 2955 2791 2956 2792 CASE ( 'thetav1' ) 2957 CALL surface_data_output_sum_up( surf_def_h(0)%vpt1, surf_def_h(1)%vpt1, & 2958 surf_lsm_h%vpt1, surf_usm_h%vpt1, & 2959 surf_def_v(0)%vpt1, surf_lsm_v(0)%vpt1, & 2960 surf_usm_v(0)%vpt1, surf_def_v(1)%vpt1, & 2961 surf_lsm_v(1)%vpt1, surf_usm_v(1)%vpt1, & 2962 surf_def_v(2)%vpt1, surf_lsm_v(2)%vpt1, & 2963 surf_usm_v(2)%vpt1, surf_def_v(3)%vpt1, & 2964 surf_lsm_v(3)%vpt1, surf_usm_v(3)%vpt1, n_out ) 2793 CALL surface_data_output_sum_up( & 2794 surf_def_h(0)%vpt1, surf_lsm_h(0)%vpt1, surf_usm_h(0)%vpt1, & 2795 surf_def_h(1)%vpt1, surf_lsm_h(1)%vpt1, surf_usm_h(1)%vpt1, & 2796 surf_def_v(0)%vpt1, surf_lsm_v(0)%vpt1, surf_usm_v(0)%vpt1, & 2797 surf_def_v(1)%vpt1, surf_lsm_v(1)%vpt1, surf_usm_v(1)%vpt1, & 2798 surf_def_v(2)%vpt1, surf_lsm_v(2)%vpt1, surf_usm_v(2)%vpt1, & 2799 surf_def_v(3)%vpt1, surf_lsm_v(3)%vpt1, surf_usm_v(3)%vpt1, n_out ) 2965 2800 2966 2801 CASE ( 'usws' ) 2967 CALL surface_data_output_sum_up( surf_def_h(0)%usws, surf_def_h(1)%usws, & 2968 surf_lsm_h%usws, surf_usm_h%usws, & 2969 surf_def_v(0)%usws, surf_lsm_v(0)%usws, & 2970 surf_usm_v(0)%usws, surf_def_v(1)%usws, & 2971 surf_lsm_v(1)%usws, surf_usm_v(1)%usws, & 2972 surf_def_v(2)%usws, surf_lsm_v(2)%usws, & 2973 surf_usm_v(2)%usws, surf_def_v(3)%usws, & 2974 surf_lsm_v(3)%usws, surf_usm_v(3)%usws, n_out, & 2975 momentumflux_output_conversion ) 2802 CALL surface_data_output_sum_up( & 2803 surf_def_h(0)%usws, surf_lsm_h(0)%usws, surf_usm_h(0)%usws, & 2804 surf_def_h(1)%usws, surf_lsm_h(1)%usws, surf_usm_h(1)%usws, & 2805 surf_def_v(0)%usws, surf_lsm_v(0)%usws, surf_usm_v(0)%usws, & 2806 surf_def_v(1)%usws, surf_lsm_v(1)%usws, surf_usm_v(1)%usws, & 2807 surf_def_v(2)%usws, surf_lsm_v(2)%usws, surf_usm_v(2)%usws, & 2808 surf_def_v(3)%usws, surf_lsm_v(3)%usws, surf_usm_v(3)%usws, n_out, & 2809 momentumflux_output_conversion ) 2976 2810 2977 2811 CASE ( 'vsws' ) 2978 CALL surface_data_output_sum_up( surf_def_h(0)%vsws, surf_def_h(1)%vsws, & 2979 surf_lsm_h%vsws, surf_usm_h%vsws, & 2980 surf_def_v(0)%vsws, surf_lsm_v(0)%vsws, & 2981 surf_usm_v(0)%vsws, surf_def_v(1)%vsws, & 2982 surf_lsm_v(1)%vsws, surf_usm_v(1)%vsws, & 2983 surf_def_v(2)%vsws, surf_lsm_v(2)%vsws, & 2984 surf_usm_v(2)%vsws, surf_def_v(3)%vsws, & 2985 surf_lsm_v(3)%vsws, surf_usm_v(3)%vsws, n_out, & 2986 momentumflux_output_conversion ) 2812 CALL surface_data_output_sum_up( & 2813 surf_def_h(0)%vsws, surf_lsm_h(0)%vsws, surf_usm_h(0)%vsws, & 2814 surf_def_h(1)%vsws, surf_lsm_h(1)%vsws, surf_usm_h(1)%vsws, & 2815 surf_def_v(0)%vsws, surf_lsm_v(0)%vsws, surf_usm_v(0)%vsws, & 2816 surf_def_v(1)%vsws, surf_lsm_v(1)%vsws, surf_usm_v(1)%vsws, & 2817 surf_def_v(2)%vsws, surf_lsm_v(2)%vsws, surf_usm_v(2)%vsws, & 2818 surf_def_v(3)%vsws, surf_lsm_v(3)%vsws, surf_usm_v(3)%vsws, n_out, & 2819 momentumflux_output_conversion ) 2987 2820 2988 2821 CASE ( 'shf' ) 2989 CALL surface_data_output_sum_up( surf_def_h(0)%shf, surf_def_h(1)%shf,&2990 surf_lsm_h%shf, surf_usm_h%shf, surf_def_v(0)%shf,&2991 surf_lsm_v(0)%shf, surf_usm_v(0)%shf,&2992 surf_def_v(1)%shf, surf_lsm_v(1)%shf,&2993 surf_usm_v(1)%shf, surf_def_v(2)%shf,&2994 surf_lsm_v(2)%shf, surf_usm_v(2)%shf,&2995 surf_def_v(3)%shf, surf_lsm_v(3)%shf,&2996 surf_usm_v(3)%shf, n_out,heatflux_output_conversion )2822 CALL surface_data_output_sum_up( & 2823 surf_def_h(0)%shf, surf_lsm_h(0)%shf, surf_usm_h(0)%shf, & 2824 surf_def_h(1)%shf, surf_lsm_h(1)%shf, surf_usm_h(1)%shf, & 2825 surf_def_v(0)%shf, surf_lsm_v(0)%shf, surf_usm_v(0)%shf, & 2826 surf_def_v(1)%shf, surf_lsm_v(1)%shf, surf_usm_v(1)%shf, & 2827 surf_def_v(2)%shf, surf_lsm_v(2)%shf, surf_usm_v(2)%shf, & 2828 surf_def_v(3)%shf, surf_lsm_v(3)%shf, surf_usm_v(3)%shf, n_out, & 2829 heatflux_output_conversion ) 2997 2830 2998 2831 CASE ( 'qsws' ) 2999 CALL surface_data_output_sum_up( surf_def_h(0)%qsws, surf_def_h(1)%qsws, & 3000 surf_lsm_h%qsws, surf_usm_h%qsws, & 3001 surf_def_v(0)%qsws, surf_lsm_v(0)%qsws, & 3002 surf_usm_v(0)%qsws, surf_def_v(1)%qsws, & 3003 surf_lsm_v(1)%qsws, surf_usm_v(1)%qsws, & 3004 surf_def_v(2)%qsws, surf_lsm_v(2)%qsws, & 3005 surf_usm_v(2)%qsws, surf_def_v(3)%qsws, & 3006 surf_lsm_v(3)%qsws, surf_usm_v(3)%qsws, n_out, & 3007 waterflux_output_conversion ) 2832 CALL surface_data_output_sum_up( & 2833 surf_def_h(0)%qsws, surf_lsm_h(0)%qsws, surf_usm_h(0)%qsws, & 2834 surf_def_h(1)%qsws, surf_lsm_h(1)%qsws, surf_usm_h(1)%qsws, & 2835 surf_def_v(0)%qsws, surf_lsm_v(0)%qsws, surf_usm_v(0)%qsws, & 2836 surf_def_v(1)%qsws, surf_lsm_v(1)%qsws, surf_usm_v(1)%qsws, & 2837 surf_def_v(2)%qsws, surf_lsm_v(2)%qsws, surf_usm_v(2)%qsws, & 2838 surf_def_v(3)%qsws, surf_lsm_v(3)%qsws, surf_usm_v(3)%qsws, n_out, & 2839 waterflux_output_conversion ) 3008 2840 3009 2841 CASE ( 'ssws' ) 3010 CALL surface_data_output_sum_up( surf_def_h(0)%ssws, surf_def_h(1)%ssws, & 3011 surf_lsm_h%ssws, surf_usm_h%ssws, & 3012 surf_def_v(0)%ssws, surf_lsm_v(0)%ssws, & 3013 surf_usm_v(0)%ssws, surf_def_v(1)%ssws, & 3014 surf_lsm_v(1)%ssws, surf_usm_v(1)%ssws, & 3015 surf_def_v(2)%ssws, surf_lsm_v(2)%ssws, & 3016 surf_usm_v(2)%ssws, surf_def_v(3)%ssws, & 3017 surf_lsm_v(3)%ssws, surf_usm_v(3)%ssws, n_out ) 2842 CALL surface_data_output_sum_up( & 2843 surf_def_h(0)%ssws, surf_lsm_h(0)%ssws, surf_usm_h(0)%ssws, & 2844 surf_def_h(1)%ssws, surf_lsm_h(1)%ssws, surf_usm_h(1)%ssws, & 2845 surf_def_v(0)%ssws, surf_lsm_v(0)%ssws, surf_usm_v(0)%ssws, & 2846 surf_def_v(1)%ssws, surf_lsm_v(1)%ssws, surf_usm_v(1)%ssws, & 2847 surf_def_v(2)%ssws, surf_lsm_v(2)%ssws, surf_usm_v(2)%ssws, & 2848 surf_def_v(3)%ssws, surf_lsm_v(3)%ssws, surf_usm_v(3)%ssws, n_out ) 3018 2849 3019 2850 CASE ( 'qcsws' ) 3020 CALL surface_data_output_sum_up( surf_def_h(0)%qcsws, surf_def_h(1)%qcsws, & 3021 surf_lsm_h%qcsws, surf_usm_h%qcsws, & 3022 surf_def_v(0)%qcsws, surf_lsm_v(0)%qcsws, & 3023 surf_usm_v(0)%qcsws, surf_def_v(1)%qcsws, & 3024 surf_lsm_v(1)%qcsws, surf_usm_v(1)%qcsws, & 3025 surf_def_v(2)%qcsws, surf_lsm_v(2)%qcsws, & 3026 surf_usm_v(2)%qcsws, surf_def_v(3)%qcsws, & 3027 surf_lsm_v(3)%qcsws, surf_usm_v(3)%qcsws, n_out ) 2851 CALL surface_data_output_sum_up( & 2852 surf_def_h(0)%qcsws, surf_lsm_h(0)%qcsws, surf_usm_h(0)%qcsws, & 2853 surf_def_h(1)%qcsws, surf_lsm_h(1)%qcsws, surf_usm_h(1)%qcsws, & 2854 surf_def_v(0)%qcsws, surf_lsm_v(0)%qcsws, surf_usm_v(0)%qcsws, & 2855 surf_def_v(1)%qcsws, surf_lsm_v(1)%qcsws, surf_usm_v(1)%qcsws, & 2856 surf_def_v(2)%qcsws, surf_lsm_v(2)%qcsws, surf_usm_v(2)%qcsws, & 2857 surf_def_v(3)%qcsws, surf_lsm_v(3)%qcsws, surf_usm_v(3)%qcsws, n_out ) 3028 2858 3029 2859 CASE ( 'ncsws' ) 3030 CALL surface_data_output_sum_up( surf_def_h(0)%ncsws, surf_def_h(1)%ncsws, & 3031 surf_lsm_h%ncsws, surf_usm_h%ncsws, & 3032 surf_def_v(0)%ncsws, surf_lsm_v(0)%ncsws, & 3033 surf_usm_v(0)%ncsws, surf_def_v(1)%ncsws, & 3034 surf_lsm_v(1)%ncsws, surf_usm_v(1)%ncsws, & 3035 surf_def_v(2)%ncsws, surf_lsm_v(2)%ncsws, & 3036 surf_usm_v(2)%ncsws, surf_def_v(3)%ncsws, & 3037 surf_lsm_v(3)%ncsws, surf_usm_v(3)%ncsws, n_out ) 2860 CALL surface_data_output_sum_up( & 2861 surf_def_h(0)%ncsws, surf_lsm_h(0)%ncsws, surf_usm_h(0)%ncsws, & 2862 surf_def_h(1)%ncsws, surf_lsm_h(1)%ncsws, surf_usm_h(1)%ncsws, & 2863 surf_def_v(0)%ncsws, surf_lsm_v(0)%ncsws, surf_usm_v(0)%ncsws, & 2864 surf_def_v(1)%ncsws, surf_lsm_v(1)%ncsws, surf_usm_v(1)%ncsws, & 2865 surf_def_v(2)%ncsws, surf_lsm_v(2)%ncsws, surf_usm_v(2)%ncsws, & 2866 surf_def_v(3)%ncsws, surf_lsm_v(3)%ncsws, surf_usm_v(3)%ncsws, n_out ) 3038 2867 3039 2868 CASE ( 'qisws' ) 3040 CALL surface_data_output_sum_up( surf_def_h(0)%qisws, surf_def_h(1)%qisws, & 3041 surf_lsm_h%qisws, surf_usm_h%qisws, & 3042 surf_def_v(0)%qisws, surf_lsm_v(0)%qisws, & 3043 surf_usm_v(0)%qisws, surf_def_v(1)%qisws, & 3044 surf_lsm_v(1)%qisws, surf_usm_v(1)%qisws, & 3045 surf_def_v(2)%qisws, surf_lsm_v(2)%qisws, & 3046 surf_usm_v(2)%qisws, surf_def_v(3)%qisws, & 3047 surf_lsm_v(3)%qisws, surf_usm_v(3)%qisws, n_out ) 2869 CALL surface_data_output_sum_up( & 2870 surf_def_h(0)%qisws, surf_lsm_h(0)%qisws, surf_usm_h(0)%qisws, & 2871 surf_def_h(1)%qisws, surf_lsm_h(1)%qisws, surf_usm_h(1)%qisws, & 2872 surf_def_v(0)%qisws, surf_lsm_v(0)%qisws, surf_usm_v(0)%qisws, & 2873 surf_def_v(1)%qisws, surf_lsm_v(1)%qisws, surf_usm_v(1)%qisws, & 2874 surf_def_v(2)%qisws, surf_lsm_v(2)%qisws, surf_usm_v(2)%qisws, & 2875 surf_def_v(3)%qisws, surf_lsm_v(3)%qisws, surf_usm_v(3)%qisws, n_out ) 3048 2876 3049 2877 CASE ( 'nisws' ) 3050 CALL surface_data_output_sum_up( surf_def_h(0)%nisws, surf_def_h(1)%nisws, & 3051 surf_lsm_h%nisws, surf_usm_h%nisws, & 3052 surf_def_v(0)%nisws, surf_lsm_v(0)%nisws, & 3053 surf_usm_v(0)%nisws, surf_def_v(1)%nisws, & 3054 surf_lsm_v(1)%nisws, surf_usm_v(1)%nisws, & 3055 surf_def_v(2)%nisws, surf_lsm_v(2)%nisws, & 3056 surf_usm_v(2)%nisws, surf_def_v(3)%nisws, & 3057 surf_lsm_v(3)%nisws, surf_usm_v(3)%nisws, n_out ) 2878 CALL surface_data_output_sum_up( & 2879 surf_def_h(0)%nisws, surf_lsm_h(0)%nisws, surf_usm_h(0)%nisws, & 2880 surf_def_h(1)%nisws, surf_lsm_h(1)%nisws, surf_usm_h(1)%nisws, & 2881 surf_def_v(0)%nisws, surf_lsm_v(0)%nisws, surf_usm_v(0)%nisws, & 2882 surf_def_v(1)%nisws, surf_lsm_v(1)%nisws, surf_usm_v(1)%nisws, & 2883 surf_def_v(2)%nisws, surf_lsm_v(2)%nisws, surf_usm_v(2)%nisws, & 2884 surf_def_v(3)%nisws, surf_lsm_v(3)%nisws, surf_usm_v(3)%nisws, n_out ) 3058 2885 3059 2886 CASE ( 'qrsws' ) 3060 CALL surface_data_output_sum_up( surf_def_h(0)%qrsws, surf_def_h(1)%qrsws, & 3061 surf_lsm_h%qrsws, surf_usm_h%qrsws, & 3062 surf_def_v(0)%qrsws, surf_lsm_v(0)%qrsws, & 3063 surf_usm_v(0)%qrsws, surf_def_v(1)%qrsws, & 3064 surf_lsm_v(1)%qrsws, surf_usm_v(1)%qrsws, & 3065 surf_def_v(2)%qrsws, surf_lsm_v(2)%qrsws, & 3066 surf_usm_v(2)%qrsws, surf_def_v(3)%qrsws, & 3067 surf_lsm_v(3)%qrsws, surf_usm_v(3)%qrsws, n_out ) 2887 CALL surface_data_output_sum_up( & 2888 surf_def_h(0)%qrsws, surf_lsm_h(0)%qrsws, surf_usm_h(0)%qrsws, & 2889 surf_def_h(1)%qrsws, surf_lsm_h(1)%qrsws, surf_usm_h(1)%qrsws, & 2890 surf_def_v(0)%qrsws, surf_lsm_v(0)%qrsws, surf_usm_v(0)%qrsws, & 2891 surf_def_v(1)%qrsws, surf_lsm_v(1)%qrsws, surf_usm_v(1)%qrsws, & 2892 surf_def_v(2)%qrsws, surf_lsm_v(2)%qrsws, surf_usm_v(2)%qrsws, & 2893 surf_def_v(3)%qrsws, surf_lsm_v(3)%qrsws, surf_usm_v(3)%qrsws, n_out ) 3068 2894 3069 2895 CASE ( 'nrsws' ) 3070 CALL surface_data_output_sum_up( surf_def_h(0)%nrsws, surf_def_h(1)%nrsws, & 3071 surf_lsm_h%nrsws, surf_usm_h%nrsws, & 3072 surf_def_v(0)%nrsws, surf_lsm_v(0)%nrsws, & 3073 surf_usm_v(0)%nrsws, surf_def_v(1)%nrsws, & 3074 surf_lsm_v(1)%nrsws, surf_usm_v(1)%nrsws, & 3075 surf_def_v(2)%nrsws, surf_lsm_v(2)%nrsws, & 3076 surf_usm_v(2)%nrsws, surf_def_v(3)%nrsws, & 3077 surf_lsm_v(3)%nrsws, surf_usm_v(3)%nrsws, n_out ) 2896 CALL surface_data_output_sum_up( & 2897 surf_def_h(0)%nrsws, surf_lsm_h(0)%nrsws, surf_usm_h(0)%nrsws, & 2898 surf_def_h(1)%nrsws, surf_lsm_h(1)%nrsws, surf_usm_h(1)%nrsws, & 2899 surf_def_v(0)%nrsws, surf_lsm_v(0)%nrsws, surf_usm_v(0)%nrsws, & 2900 surf_def_v(1)%nrsws, surf_lsm_v(1)%nrsws, surf_usm_v(1)%nrsws, & 2901 surf_def_v(2)%nrsws, surf_lsm_v(2)%nrsws, surf_usm_v(2)%nrsws, & 2902 surf_def_v(3)%nrsws, surf_lsm_v(3)%nrsws, surf_usm_v(3)%nrsws, n_out ) 3078 2903 3079 2904 CASE ( 'sasws' ) 3080 CALL surface_data_output_sum_up( surf_def_h(0)%sasws, surf_def_h(1)%sasws, & 3081 surf_lsm_h%sasws, surf_usm_h%sasws, & 3082 surf_def_v(0)%sasws, surf_lsm_v(0)%sasws, & 3083 surf_usm_v(0)%sasws, surf_def_v(1)%sasws, & 3084 surf_lsm_v(1)%sasws, surf_usm_v(1)%sasws, & 3085 surf_def_v(2)%sasws, surf_lsm_v(2)%sasws, & 3086 surf_usm_v(2)%sasws, surf_def_v(3)%sasws, & 3087 surf_lsm_v(3)%sasws, surf_usm_v(3)%sasws, n_out ) 2905 CALL surface_data_output_sum_up( & 2906 surf_def_h(0)%sasws, surf_lsm_h(0)%sasws, surf_usm_h(0)%sasws, & 2907 surf_def_h(1)%sasws, surf_lsm_h(1)%sasws, surf_usm_h(1)%sasws, & 2908 surf_def_v(0)%sasws, surf_lsm_v(0)%sasws, surf_usm_v(0)%sasws, & 2909 surf_def_v(1)%sasws, surf_lsm_v(1)%sasws, surf_usm_v(1)%sasws, & 2910 surf_def_v(2)%sasws, surf_lsm_v(2)%sasws, surf_usm_v(2)%sasws, & 2911 surf_def_v(3)%sasws, surf_lsm_v(3)%sasws, surf_usm_v(3)%sasws, n_out ) 3088 2912 3089 2913 CASE ( 'q_surface' ) 3090 CALL surface_data_output_sum_up( surf_def_h(0)%q_surface, surf_def_h(1)%q_surface, & 3091 surf_lsm_h%q_surface, surf_usm_h%q_surface, & 3092 surf_def_v(0)%q_surface, surf_lsm_v(0)%q_surface, & 3093 surf_usm_v(0)%q_surface, surf_def_v(1)%q_surface, & 3094 surf_lsm_v(1)%q_surface, surf_usm_v(1)%q_surface, & 3095 surf_def_v(2)%q_surface, surf_lsm_v(2)%q_surface, & 3096 surf_usm_v(2)%q_surface, surf_def_v(3)%q_surface, & 3097 surf_lsm_v(3)%q_surface, surf_usm_v(3)%q_surface, & 3098 n_out ) 3099 2914 CALL surface_data_output_sum_up( & 2915 surf_def_h(0)%q_surface, surf_lsm_h(0)%q_surface, surf_usm_h(0)%q_surface, & 2916 surf_def_h(1)%q_surface, surf_lsm_h(1)%q_surface, surf_usm_h(1)%q_surface, & 2917 surf_def_v(0)%q_surface, surf_lsm_v(0)%q_surface, surf_usm_v(0)%q_surface, & 2918 surf_def_v(1)%q_surface, surf_lsm_v(1)%q_surface, surf_usm_v(1)%q_surface, & 2919 surf_def_v(2)%q_surface, surf_lsm_v(2)%q_surface, surf_usm_v(2)%q_surface, & 2920 surf_def_v(3)%q_surface, surf_lsm_v(3)%q_surface, surf_usm_v(3)%q_surface, & 2921 n_out ) 3100 2922 3101 2923 CASE ( 'theta_surface' ) 3102 CALL surface_data_output_sum_up( surf_def_h(0)%pt_surface, surf_def_h(1)%pt_surface, & 3103 surf_lsm_h%pt_surface, surf_usm_h%pt_surface, & 3104 surf_def_v(0)%pt_surface, surf_lsm_v(0)%pt_surface, & 3105 surf_usm_v(0)%pt_surface, surf_def_v(1)%pt_surface, & 3106 surf_lsm_v(1)%pt_surface, surf_usm_v(1)%pt_surface, & 3107 surf_def_v(2)%pt_surface, surf_lsm_v(2)%pt_surface, & 3108 surf_usm_v(2)%pt_surface, surf_def_v(3)%pt_surface, & 3109 surf_lsm_v(3)%pt_surface, surf_usm_v(3)%pt_surface, & 3110 n_out ) 2924 CALL surface_data_output_sum_up( & 2925 surf_def_h(0)%pt_surface, surf_lsm_h(0)%pt_surface, surf_usm_h(0)%pt_surface, & 2926 surf_def_h(1)%pt_surface, surf_lsm_h(1)%pt_surface, surf_usm_h(1)%pt_surface, & 2927 surf_def_v(0)%pt_surface, surf_lsm_v(0)%pt_surface, surf_usm_v(0)%pt_surface, & 2928 surf_def_v(1)%pt_surface, surf_lsm_v(1)%pt_surface, surf_usm_v(1)%pt_surface, & 2929 surf_def_v(2)%pt_surface, surf_lsm_v(2)%pt_surface, surf_usm_v(2)%pt_surface, & 2930 surf_def_v(3)%pt_surface, surf_lsm_v(3)%pt_surface, surf_usm_v(3)%pt_surface, & 2931 n_out ) 3111 2932 3112 2933 CASE ( 'thetav_surface' ) 3113 CALL surface_data_output_sum_up( surf_def_h(0)%vpt_surface, & 3114 surf_def_h(1)%vpt_surface, surf_lsm_h%vpt_surface, & 3115 surf_usm_h%vpt_surface, surf_def_v(0)%vpt_surface, & 3116 surf_lsm_v(0)%vpt_surface, & 3117 surf_usm_v(0)%vpt_surface, & 3118 surf_def_v(1)%vpt_surface, & 3119 surf_lsm_v(1)%vpt_surface, & 3120 surf_usm_v(1)%vpt_surface, & 3121 surf_def_v(2)%vpt_surface, & 3122 surf_lsm_v(2)%vpt_surface, & 3123 surf_usm_v(2)%vpt_surface, & 3124 surf_def_v(3)%vpt_surface, & 3125 surf_lsm_v(3)%vpt_surface, & 3126 surf_usm_v(3)%vpt_surface, n_out ) 2934 CALL surface_data_output_sum_up( & 2935 surf_def_h(0)%vpt_surface, surf_lsm_h(0)%vpt_surface, surf_usm_h(0)%vpt_surface, & 2936 surf_def_h(1)%vpt_surface, surf_lsm_h(1)%vpt_surface, surf_usm_h(1)%vpt_surface, & 2937 surf_def_v(0)%vpt_surface, surf_lsm_v(0)%vpt_surface, surf_usm_v(0)%vpt_surface, & 2938 surf_def_v(1)%vpt_surface, surf_lsm_v(1)%vpt_surface, surf_usm_v(1)%vpt_surface, & 2939 surf_def_v(2)%vpt_surface, surf_lsm_v(2)%vpt_surface, surf_usm_v(2)%vpt_surface, & 2940 surf_def_v(3)%vpt_surface, surf_lsm_v(3)%vpt_surface, surf_usm_v(3)%pt_surface, & 2941 n_out ) 3127 2942 3128 2943 CASE ( 'rad_net' ) 3129 CALL surface_data_output_sum_up( surf_def_h(0)%rad_net, surf_def_h(1)%rad_net,&3130 surf_lsm_h%rad_net, surf_usm_h%rad_net,&3131 surf_def_v(0)%rad_net, surf_lsm_v(0)%rad_net, &3132 surf_usm_v(0)%rad_net, surf_def_v(1)%rad_net, &3133 3134 surf_def_v(2)%rad_net, surf_lsm_v(2)%rad_net, &3135 surf_usm_v(2)%rad_net, surf_def_v(3)%rad_net, &3136 surf_lsm_v(3)%rad_net, surf_usm_v(3)%rad_net,n_out )2944 CALL surface_data_output_sum_up( & 2945 surf_def_h(0)%rad_net, surf_lsm_h(0)%rad_net, surf_usm_h(0)%rad_net, & 2946 surf_def_h(1)%rad_net, surf_lsm_h(1)%rad_net, surf_usm_h(1)%rad_net, & 2947 surf_def_v(0)%rad_net, surf_lsm_v(0)%rad_net, surf_usm_v(0)%rad_net, & 2948 surf_def_v(1)%rad_net, surf_lsm_v(1)%rad_net, surf_usm_v(1)%rad_net, & 2949 surf_def_v(2)%rad_net, surf_lsm_v(2)%rad_net, surf_usm_v(2)%rad_net, & 2950 surf_def_v(3)%rad_net, surf_lsm_v(3)%rad_net, surf_usm_v(3)%rad_net, & 2951 n_out ) 3137 2952 3138 2953 CASE ( 'rad_lw_in' ) 3139 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_in, surf_def_h(1)%rad_lw_in, & 3140 surf_lsm_h%rad_lw_in, surf_usm_h%rad_lw_in, & 3141 surf_def_v(0)%rad_lw_in, surf_lsm_v(0)%rad_lw_in, & 3142 surf_usm_v(0)%rad_lw_in, surf_def_v(1)%rad_lw_in, & 3143 surf_lsm_v(1)%rad_lw_in, surf_usm_v(1)%rad_lw_in, & 3144 surf_def_v(2)%rad_lw_in, surf_lsm_v(2)%rad_lw_in, & 3145 surf_usm_v(2)%rad_lw_in, surf_def_v(3)%rad_lw_in, & 3146 surf_lsm_v(3)%rad_lw_in, surf_usm_v(3)%rad_lw_in, & 3147 n_out ) 2954 CALL surface_data_output_sum_up( & 2955 surf_def_h(0)%rad_lw_in, surf_lsm_h(0)%rad_lw_in, surf_usm_h(0)%rad_lw_in, & 2956 surf_def_h(1)%rad_lw_in, surf_lsm_h(1)%rad_lw_in, surf_usm_h(1)%rad_lw_in, & 2957 surf_def_v(0)%rad_lw_in, surf_lsm_v(0)%rad_lw_in, surf_usm_v(0)%rad_lw_in, & 2958 surf_def_v(1)%rad_lw_in, surf_lsm_v(1)%rad_lw_in, surf_usm_v(1)%rad_lw_in, & 2959 surf_def_v(2)%rad_lw_in, surf_lsm_v(2)%rad_lw_in, surf_usm_v(2)%rad_lw_in, & 2960 surf_def_v(3)%rad_lw_in, surf_lsm_v(3)%rad_lw_in, surf_usm_v(3)%rad_lw_in, & 2961 n_out ) 3148 2962 3149 2963 CASE ( 'rad_lw_out' ) 3150 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_out, surf_def_h(1)%rad_lw_out, & 3151 surf_lsm_h%rad_lw_out, surf_usm_h%rad_lw_out, & 3152 surf_def_v(0)%rad_lw_out, surf_lsm_v(0)%rad_lw_out, & 3153 surf_usm_v(0)%rad_lw_out, surf_def_v(1)%rad_lw_out, & 3154 surf_lsm_v(1)%rad_lw_out, surf_usm_v(1)%rad_lw_out, & 3155 surf_def_v(2)%rad_lw_out, surf_lsm_v(2)%rad_lw_out, & 3156 surf_usm_v(2)%rad_lw_out, surf_def_v(3)%rad_lw_out, & 3157 surf_lsm_v(3)%rad_lw_out, surf_usm_v(3)%rad_lw_out, & 3158 n_out ) 2964 CALL surface_data_output_sum_up( & 2965 surf_def_h(0)%rad_lw_out, surf_lsm_h(0)%rad_lw_out, surf_usm_h(0)%rad_lw_out, & 2966 surf_def_h(1)%rad_lw_out, surf_lsm_h(1)%rad_lw_out, surf_usm_h(1)%rad_lw_out, & 2967 surf_def_v(0)%rad_lw_out, surf_lsm_v(0)%rad_lw_out, surf_usm_v(0)%rad_lw_out, & 2968 surf_def_v(1)%rad_lw_out, surf_lsm_v(1)%rad_lw_out, surf_usm_v(1)%rad_lw_out, & 2969 surf_def_v(2)%rad_lw_out, surf_lsm_v(2)%rad_lw_out, surf_usm_v(2)%rad_lw_out, & 2970 surf_def_v(3)%rad_lw_out, surf_lsm_v(3)%rad_lw_out, surf_usm_v(3)%rad_lw_out, & 2971 n_out ) 3159 2972 3160 2973 CASE ( 'rad_sw_in' ) 3161 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_in, surf_def_h(1)%rad_sw_in, & 3162 surf_lsm_h%rad_sw_in, surf_usm_h%rad_sw_in, & 3163 surf_def_v(0)%rad_sw_in, surf_lsm_v(0)%rad_sw_in, & 3164 surf_usm_v(0)%rad_sw_in, surf_def_v(1)%rad_sw_in, & 3165 surf_lsm_v(1)%rad_sw_in, surf_usm_v(1)%rad_sw_in, & 3166 surf_def_v(2)%rad_sw_in, surf_lsm_v(2)%rad_sw_in, & 3167 surf_usm_v(2)%rad_sw_in, surf_def_v(3)%rad_sw_in, & 3168 surf_lsm_v(3)%rad_sw_in, surf_usm_v(3)%rad_sw_in, & 3169 n_out ) 2974 CALL surface_data_output_sum_up( & 2975 surf_def_h(0)%rad_sw_in, surf_lsm_h(0)%rad_sw_in, surf_usm_h(0)%rad_sw_in, & 2976 surf_def_h(1)%rad_sw_in, surf_lsm_h(1)%rad_sw_in, surf_usm_h(1)%rad_sw_in, & 2977 surf_def_v(0)%rad_sw_in, surf_lsm_v(0)%rad_sw_in, surf_usm_v(0)%rad_sw_in, & 2978 surf_def_v(1)%rad_sw_in, surf_lsm_v(1)%rad_sw_in, surf_usm_v(1)%rad_sw_in, & 2979 surf_def_v(2)%rad_sw_in, surf_lsm_v(2)%rad_sw_in, surf_usm_v(2)%rad_sw_in, & 2980 surf_def_v(3)%rad_sw_in, surf_lsm_v(3)%rad_sw_in, surf_usm_v(3)%rad_sw_in, & 2981 n_out ) 3170 2982 3171 2983 CASE ( 'rad_sw_out' ) 3172 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_out, surf_def_h(1)%rad_sw_out, & 3173 surf_lsm_h%rad_sw_out, surf_usm_h%rad_sw_out, & 3174 surf_def_v(0)%rad_sw_out, surf_lsm_v(0)%rad_sw_out, & 3175 surf_usm_v(0)%rad_sw_out, surf_def_v(1)%rad_sw_out, & 3176 surf_lsm_v(1)%rad_sw_out, surf_usm_v(1)%rad_sw_out, & 3177 surf_def_v(2)%rad_sw_out, surf_lsm_v(2)%rad_sw_out, & 3178 surf_usm_v(2)%rad_sw_out, surf_def_v(3)%rad_sw_out, & 3179 surf_lsm_v(3)%rad_sw_out, surf_usm_v(3)%rad_sw_out, & 3180 n_out ) 2984 CALL surface_data_output_sum_up( & 2985 surf_def_h(0)%rad_sw_out, surf_lsm_h(0)%rad_sw_out, surf_usm_h(0)%rad_sw_out, & 2986 surf_def_h(1)%rad_sw_out, surf_lsm_h(1)%rad_sw_out, surf_usm_h(1)%rad_sw_out, & 2987 surf_def_v(0)%rad_sw_out, surf_lsm_v(0)%rad_sw_out, surf_usm_v(0)%rad_sw_out, & 2988 surf_def_v(1)%rad_sw_out, surf_lsm_v(1)%rad_sw_out, surf_usm_v(1)%rad_sw_out, & 2989 surf_def_v(2)%rad_sw_out, surf_lsm_v(2)%rad_sw_out, surf_usm_v(2)%rad_sw_out, & 2990 surf_def_v(3)%rad_sw_out, surf_lsm_v(3)%rad_sw_out, surf_usm_v(3)%rad_sw_out, & 2991 n_out ) 3181 2992 3182 2993 CASE ( 'ghf' ) … … 3184 2995 !-- Sum up ground / wall heat flux. Note, for urban surfaces the wall heat flux is 3185 2996 !-- aggregated from the different green, window and wall tiles. 3186 DO m = 1, surf_usm_h%ns 3187 surf_usm_h%ghf(m) = surf_usm_h%frac(m,ind_veg_wall) * surf_usm_h%wghf_eb(m) + & 3188 surf_usm_h%frac(m,ind_pav_green) * & 3189 surf_usm_h%wghf_eb_green(m) + surf_usm_h%frac(m,ind_wat_win) * & 3190 surf_usm_h%wghf_eb_window(m) 2997 DO l = 0, 1 2998 DO m = 1, surf_usm_h(l)%ns 2999 surf_usm_h(l)%ghf(m) = surf_usm_h(l)%frac(m,ind_veg_wall) * & 3000 surf_usm_h(l)%wghf_eb(m) + & 3001 surf_usm_h(l)%frac(m,ind_pav_green) * & 3002 surf_usm_h(l)%wghf_eb_green(m) + & 3003 surf_usm_h(l)%frac(m,ind_wat_win) * & 3004 surf_usm_h(l)%wghf_eb_window(m) 3005 ENDDO 3191 3006 ENDDO 3192 3007 DO l = 0, 3 … … 3201 3016 ENDDO 3202 3017 3203 CALL surface_data_output_sum_up( surf_def_h(0)%ghf, surf_def_h(1)%ghf, & 3204 surf_lsm_h%ghf, surf_usm_h%ghf, surf_def_v(0)%ghf, & 3205 surf_lsm_v(0)%ghf, surf_usm_v(0)%ghf, & 3206 surf_def_v(1)%ghf, surf_lsm_v(1)%ghf, & 3207 surf_usm_v(1)%ghf, surf_def_v(2)%ghf, & 3208 surf_lsm_v(2)%ghf, surf_usm_v(2)%ghf, & 3209 surf_def_v(3)%ghf, surf_lsm_v(3)%ghf, & 3210 surf_usm_v(3)%ghf, n_out ) 3018 CALL surface_data_output_sum_up( & 3019 surf_def_h(0)%ghf, surf_lsm_h(0)%ghf, surf_usm_h(0)%ghf, & 3020 surf_def_h(1)%ghf, surf_lsm_h(1)%ghf, surf_usm_h(1)%ghf, & 3021 surf_def_v(0)%ghf, surf_lsm_v(0)%ghf, surf_usm_v(0)%ghf, & 3022 surf_def_v(1)%ghf, surf_lsm_v(1)%ghf, surf_usm_v(1)%ghf, & 3023 surf_def_v(2)%ghf, surf_lsm_v(2)%ghf, surf_usm_v(2)%ghf, & 3024 surf_def_v(3)%ghf, surf_lsm_v(3)%ghf, surf_usm_v(3)%ghf, n_out ) 3211 3025 3212 3026 CASE ( 'r_a' ) 3213 CALL surface_data_output_sum_up( surf_def_h(0)%r_a, surf_def_h(1)%r_a, & 3214 surf_lsm_h%r_a, surf_usm_h%r_a, & 3215 surf_def_v(0)%r_a, surf_lsm_v(0)%r_a, & 3216 surf_usm_v(0)%r_a, surf_def_v(1)%r_a, & 3217 surf_lsm_v(1)%r_a, surf_usm_v(1)%r_a, & 3218 surf_def_v(2)%r_a, surf_lsm_v(2)%r_a, & 3219 surf_usm_v(2)%r_a, surf_def_v(3)%r_a, & 3220 surf_lsm_v(3)%r_a, surf_usm_v(3)%r_a, n_out ) 3027 CALL surface_data_output_sum_up( & 3028 surf_def_h(0)%r_a, surf_lsm_h(0)%r_a, surf_usm_h(0)%r_a, & 3029 surf_def_h(1)%r_a, surf_lsm_h(1)%r_a, surf_usm_h(1)%r_a, & 3030 surf_def_v(0)%r_a, surf_lsm_v(0)%r_a, surf_usm_v(0)%r_a, & 3031 surf_def_v(1)%r_a, surf_lsm_v(1)%r_a, surf_usm_v(1)%r_a, & 3032 surf_def_v(2)%r_a, surf_lsm_v(2)%r_a, surf_usm_v(2)%r_a, & 3033 surf_def_v(3)%r_a, surf_lsm_v(3)%r_a, surf_usm_v(3)%r_a, n_out ) 3221 3034 3222 3035 CASE ( 'r_soil' ) 3223 CALL surface_data_output_sum_up( surf_def_h(0)%r_soil, surf_def_h(1)%r_soil, & 3224 surf_lsm_h%r_soil, surf_usm_h%r_soil, & 3225 surf_def_v(0)%r_soil, surf_lsm_v(0)%r_soil, & 3226 surf_usm_v(0)%r_soil, surf_def_v(1)%r_soil, & 3227 surf_lsm_v(1)%r_soil, surf_usm_v(1)%r_soil, & 3228 surf_def_v(2)%r_soil, surf_lsm_v(2)%r_soil, & 3229 surf_usm_v(2)%r_soil, surf_def_v(3)%r_soil, & 3230 surf_lsm_v(3)%r_soil, surf_usm_v(3)%r_soil, n_out ) 3036 CALL surface_data_output_sum_up( & 3037 surf_def_h(0)%r_soil, surf_lsm_h(0)%r_soil, surf_usm_h(0)%r_soil, & 3038 surf_def_h(1)%r_soil, surf_lsm_h(1)%r_soil, surf_usm_h(1)%r_soil, & 3039 surf_def_v(0)%r_soil, surf_lsm_v(0)%r_soil, surf_usm_v(0)%r_soil, & 3040 surf_def_v(1)%r_soil, surf_lsm_v(1)%r_soil, surf_usm_v(1)%r_soil, & 3041 surf_def_v(2)%r_soil, surf_lsm_v(2)%r_soil, surf_usm_v(2)%r_soil, & 3042 surf_def_v(3)%r_soil, surf_lsm_v(3)%r_soil, surf_usm_v(3)%r_soil, n_out ) 3231 3043 3232 3044 CASE ( 'r_canopy' ) 3233 CALL surface_data_output_sum_up( surf_def_h(0)%r_canopy, surf_def_h(1)%r_canopy, & 3234 surf_lsm_h%r_canopy, surf_usm_h%r_canopy, & 3235 surf_def_v(0)%r_canopy, surf_lsm_v(0)%r_canopy, & 3236 surf_usm_v(0)%r_canopy, surf_def_v(1)%r_canopy, & 3237 surf_lsm_v(1)%r_canopy, surf_usm_v(1)%r_canopy, & 3238 surf_def_v(2)%r_canopy, surf_lsm_v(2)%r_canopy, & 3239 surf_usm_v(2)%r_canopy, surf_def_v(3)%r_canopy, & 3240 surf_lsm_v(3)%r_canopy, surf_usm_v(3)%r_canopy, & 3241 n_out ) 3045 CALL surface_data_output_sum_up( & 3046 surf_def_h(0)%r_canopy, surf_lsm_h(0)%r_canopy, surf_usm_h(0)%r_canopy, & 3047 surf_def_h(1)%r_canopy, surf_lsm_h(1)%r_canopy, surf_usm_h(1)%r_canopy, & 3048 surf_def_v(0)%r_canopy, surf_lsm_v(0)%r_canopy, surf_usm_v(0)%r_canopy, & 3049 surf_def_v(1)%r_canopy, surf_lsm_v(1)%r_canopy, surf_usm_v(1)%r_canopy, & 3050 surf_def_v(2)%r_canopy, surf_lsm_v(2)%r_canopy, surf_usm_v(2)%r_canopy, & 3051 surf_def_v(3)%r_canopy, surf_lsm_v(3)%r_canopy, surf_usm_v(3)%r_canopy, & 3052 n_out ) 3242 3053 3243 3054 CASE ( 'r_s' ) 3244 CALL surface_data_output_sum_up( surf_def_h(0)%r_s, surf_def_h(1)%r_s, & 3245 surf_lsm_h%r_s, surf_usm_h%r_s, surf_def_v(0)%r_s, & 3246 surf_lsm_v(0)%r_s, surf_usm_v(0)%r_s, & 3247 surf_def_v(1)%r_s, surf_lsm_v(1)%r_s, & 3248 surf_usm_v(1)%r_s, surf_def_v(2)%r_s, & 3249 surf_lsm_v(2)%r_s, surf_usm_v(2)%r_s, & 3250 surf_def_v(3)%r_s, surf_lsm_v(3)%r_s, & 3251 surf_usm_v(3)%r_s, n_out ) 3055 CALL surface_data_output_sum_up( & 3056 surf_def_h(0)%r_s, surf_lsm_h(0)%r_s, surf_usm_h(0)%r_s, & 3057 surf_def_h(1)%r_s, surf_lsm_h(1)%r_s, surf_usm_h(1)%r_s, & 3058 surf_def_v(0)%r_s, surf_lsm_v(0)%r_s, surf_usm_v(0)%r_s, & 3059 surf_def_v(1)%r_s, surf_lsm_v(1)%r_s, surf_usm_v(1)%r_s, & 3060 surf_def_v(2)%r_s, surf_lsm_v(2)%r_s, surf_usm_v(2)%r_s, & 3061 surf_def_v(3)%r_s, surf_lsm_v(3)%r_s, surf_usm_v(3)%r_s, n_out ) 3252 3062 3253 3063 3254 3064 CASE ( 'rad_sw_dir' ) 3255 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_dir, surf_def_h(1)%rad_sw_dir, & 3256 surf_lsm_h%rad_sw_dir, surf_usm_h%rad_sw_dir, & 3257 surf_def_v(0)%rad_sw_dir, surf_lsm_v(0)%rad_sw_dir, & 3258 surf_usm_v(0)%rad_sw_dir, surf_def_v(1)%rad_sw_dir, & 3259 surf_lsm_v(1)%rad_sw_dir, surf_usm_v(1)%rad_sw_dir, & 3260 surf_def_v(2)%rad_sw_dir, surf_lsm_v(2)%rad_sw_dir, & 3261 surf_usm_v(2)%rad_sw_dir, surf_def_v(3)%rad_sw_dir, & 3262 surf_lsm_v(3)%rad_sw_dir, surf_usm_v(3)%rad_sw_dir, & 3263 n_out ) 3065 CALL surface_data_output_sum_up( & 3066 surf_def_h(0)%rad_sw_dir, surf_lsm_h(0)%rad_sw_dir, surf_usm_h(0)%rad_sw_dir, & 3067 surf_def_h(1)%rad_sw_dir, surf_lsm_h(1)%rad_sw_dir, surf_usm_h(1)%rad_sw_dir, & 3068 surf_def_v(0)%rad_sw_dir, surf_lsm_v(0)%rad_sw_dir, surf_usm_v(0)%rad_sw_dir, & 3069 surf_def_v(1)%rad_sw_dir, surf_lsm_v(1)%rad_sw_dir, surf_usm_v(1)%rad_sw_dir, & 3070 surf_def_v(2)%rad_sw_dir, surf_lsm_v(2)%rad_sw_dir, surf_usm_v(2)%rad_sw_dir, & 3071 surf_def_v(3)%rad_sw_dir, surf_lsm_v(3)%rad_sw_dir, surf_usm_v(3)%rad_sw_dir, & 3072 n_out ) 3264 3073 CASE ( 'rad_sw_dif' ) 3265 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_dif, surf_def_h(1)%rad_sw_dif, & 3266 surf_lsm_h%rad_sw_dif, surf_usm_h%rad_sw_dif, & 3267 surf_def_v(0)%rad_sw_dif, surf_lsm_v(0)%rad_sw_dif, & 3268 surf_usm_v(0)%rad_sw_dif, surf_def_v(1)%rad_sw_dif, & 3269 surf_lsm_v(1)%rad_sw_dif, surf_usm_v(1)%rad_sw_dif, & 3270 surf_def_v(2)%rad_sw_dif, surf_lsm_v(2)%rad_sw_dif, & 3271 surf_usm_v(2)%rad_sw_dif, surf_def_v(3)%rad_sw_dif, & 3272 surf_lsm_v(3)%rad_sw_dif, surf_usm_v(3)%rad_sw_dif, & 3273 n_out ) 3074 CALL surface_data_output_sum_up( & 3075 surf_def_h(0)%rad_sw_dif, surf_lsm_h(0)%rad_sw_dif, surf_usm_h(0)%rad_sw_dif, & 3076 surf_def_h(1)%rad_sw_dif, surf_lsm_h(1)%rad_sw_dif, surf_usm_h(1)%rad_sw_dif, & 3077 surf_def_v(0)%rad_sw_dif, surf_lsm_v(0)%rad_sw_dif, surf_usm_v(0)%rad_sw_dif, & 3078 surf_def_v(1)%rad_sw_dif, surf_lsm_v(1)%rad_sw_dif, surf_usm_v(1)%rad_sw_dif, & 3079 surf_def_v(2)%rad_sw_dif, surf_lsm_v(2)%rad_sw_dif, surf_usm_v(2)%rad_sw_dif, & 3080 surf_def_v(3)%rad_sw_dif, surf_lsm_v(3)%rad_sw_dif, surf_usm_v(3)%rad_sw_dif, & 3081 n_out ) 3274 3082 3275 3083 CASE ( 'rad_sw_ref' ) 3276 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_ref, surf_def_h(1)%rad_sw_ref, & 3277 surf_lsm_h%rad_sw_ref, surf_usm_h%rad_sw_ref, & 3278 surf_def_v(0)%rad_sw_ref, surf_lsm_v(0)%rad_sw_ref, & 3279 surf_usm_v(0)%rad_sw_ref, surf_def_v(1)%rad_sw_ref, & 3280 surf_lsm_v(1)%rad_sw_ref, surf_usm_v(1)%rad_sw_ref, & 3281 surf_def_v(2)%rad_sw_ref, surf_lsm_v(2)%rad_sw_ref, & 3282 surf_usm_v(2)%rad_sw_ref, surf_def_v(3)%rad_sw_ref, & 3283 surf_lsm_v(3)%rad_sw_ref, surf_usm_v(3)%rad_sw_ref, & 3284 n_out ) 3084 CALL surface_data_output_sum_up( & 3085 surf_def_h(0)%rad_sw_ref, surf_lsm_h(0)%rad_sw_ref, surf_usm_h(0)%rad_sw_ref, & 3086 surf_def_h(1)%rad_sw_ref, surf_lsm_h(1)%rad_sw_ref, surf_usm_h(1)%rad_sw_ref, & 3087 surf_def_v(0)%rad_sw_ref, surf_lsm_v(0)%rad_sw_ref, surf_usm_v(0)%rad_sw_ref, & 3088 surf_def_v(1)%rad_sw_ref, surf_lsm_v(1)%rad_sw_ref, surf_usm_v(1)%rad_sw_ref, & 3089 surf_def_v(2)%rad_sw_ref, surf_lsm_v(2)%rad_sw_ref, surf_usm_v(2)%rad_sw_ref, & 3090 surf_def_v(3)%rad_sw_ref, surf_lsm_v(3)%rad_sw_ref, surf_usm_v(3)%rad_sw_ref, & 3091 n_out ) 3285 3092 3286 3093 CASE ( 'rad_sw_res' ) 3287 CALL surface_data_output_sum_up( surf_def_h(0)%rad_sw_res, surf_def_h(1)%rad_sw_res, & 3288 surf_lsm_h%rad_sw_res, surf_usm_h%rad_sw_res, & 3289 surf_def_v(0)%rad_sw_res, surf_lsm_v(0)%rad_sw_res, & 3290 surf_usm_v(0)%rad_sw_res, surf_def_v(1)%rad_sw_res, & 3291 surf_lsm_v(1)%rad_sw_res, surf_usm_v(1)%rad_sw_res, & 3292 surf_def_v(2)%rad_sw_res, surf_lsm_v(2)%rad_sw_res, & 3293 surf_usm_v(2)%rad_sw_res, surf_def_v(3)%rad_sw_res, & 3294 surf_lsm_v(3)%rad_sw_res, surf_usm_v(3)%rad_sw_res, & 3295 n_out ) 3094 CALL surface_data_output_sum_up( & 3095 surf_def_h(0)%rad_sw_res, surf_lsm_h(0)%rad_sw_res, surf_usm_h(0)%rad_sw_res, & 3096 surf_def_h(1)%rad_sw_res, surf_lsm_h(1)%rad_sw_res, surf_usm_h(1)%rad_sw_res, & 3097 surf_def_v(0)%rad_sw_res, surf_lsm_v(0)%rad_sw_res, surf_usm_v(0)%rad_sw_res, & 3098 surf_def_v(1)%rad_sw_res, surf_lsm_v(1)%rad_sw_res, surf_usm_v(1)%rad_sw_res, & 3099 surf_def_v(2)%rad_sw_res, surf_lsm_v(2)%rad_sw_res, surf_usm_v(2)%rad_sw_res, & 3100 surf_def_v(3)%rad_sw_res, surf_lsm_v(3)%rad_sw_res, surf_usm_v(3)%rad_sw_res, & 3101 n_out ) 3296 3102 3297 3103 CASE ( 'rad_lw_dif' ) 3298 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_dif, surf_def_h(1)%rad_lw_dif, & 3299 surf_lsm_h%rad_lw_dif, surf_usm_h%rad_lw_dif, & 3300 surf_def_v(0)%rad_lw_dif, surf_lsm_v(0)%rad_lw_dif, & 3301 surf_usm_v(0)%rad_lw_dif, surf_def_v(1)%rad_lw_dif, & 3302 surf_lsm_v(1)%rad_lw_dif, surf_usm_v(1)%rad_lw_dif, & 3303 surf_def_v(2)%rad_lw_dif, surf_lsm_v(2)%rad_lw_dif, & 3304 surf_usm_v(2)%rad_lw_dif, surf_def_v(3)%rad_lw_dif, & 3305 surf_lsm_v(3)%rad_lw_dif, surf_usm_v(3)%rad_lw_dif, & 3306 n_out ) 3104 CALL surface_data_output_sum_up( & 3105 surf_def_h(0)%rad_lw_dif, surf_lsm_h(0)%rad_lw_dif, surf_usm_h(0)%rad_lw_dif, & 3106 surf_def_h(1)%rad_lw_dif, surf_lsm_h(1)%rad_lw_dif, surf_usm_h(1)%rad_lw_dif, & 3107 surf_def_v(0)%rad_lw_dif, surf_lsm_v(0)%rad_lw_dif, surf_usm_v(0)%rad_lw_dif, & 3108 surf_def_v(1)%rad_lw_dif, surf_lsm_v(1)%rad_lw_dif, surf_usm_v(1)%rad_lw_dif, & 3109 surf_def_v(2)%rad_lw_dif, surf_lsm_v(2)%rad_lw_dif, surf_usm_v(2)%rad_lw_dif, & 3110 surf_def_v(3)%rad_lw_dif, surf_lsm_v(3)%rad_lw_dif, surf_usm_v(3)%rad_lw_dif, & 3111 n_out ) 3307 3112 3308 3113 CASE ( 'rad_lw_ref' ) 3309 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_ref, surf_def_h(1)%rad_lw_ref, & 3310 surf_lsm_h%rad_lw_ref, surf_usm_h%rad_lw_ref, & 3311 surf_def_v(0)%rad_lw_ref, surf_lsm_v(0)%rad_lw_ref, & 3312 surf_usm_v(0)%rad_lw_ref, surf_def_v(1)%rad_lw_ref, & 3313 surf_lsm_v(1)%rad_lw_ref, surf_usm_v(1)%rad_lw_ref, & 3314 surf_def_v(2)%rad_lw_ref, surf_lsm_v(2)%rad_lw_ref, & 3315 surf_usm_v(2)%rad_lw_ref, surf_def_v(3)%rad_lw_ref, & 3316 surf_lsm_v(3)%rad_lw_ref, surf_usm_v(3)%rad_lw_ref, & 3317 n_out ) 3114 CALL surface_data_output_sum_up( & 3115 surf_def_h(0)%rad_lw_ref, surf_lsm_h(0)%rad_lw_ref, surf_usm_h(0)%rad_lw_ref, & 3116 surf_def_h(1)%rad_lw_ref, surf_lsm_h(1)%rad_lw_ref, surf_usm_h(1)%rad_lw_ref, & 3117 surf_def_v(0)%rad_lw_ref, surf_lsm_v(0)%rad_lw_ref, surf_usm_v(0)%rad_lw_ref, & 3118 surf_def_v(1)%rad_lw_ref, surf_lsm_v(1)%rad_lw_ref, surf_usm_v(1)%rad_lw_ref, & 3119 surf_def_v(2)%rad_lw_ref, surf_lsm_v(2)%rad_lw_ref, surf_usm_v(2)%rad_lw_ref, & 3120 surf_def_v(3)%rad_lw_ref, surf_lsm_v(3)%rad_lw_ref, surf_usm_v(3)%rad_lw_ref, & 3121 n_out ) 3318 3122 3319 3123 CASE ( 'rad_lw_res' ) 3320 CALL surface_data_output_sum_up( surf_def_h(0)%rad_lw_res, surf_def_h(1)%rad_lw_res, & 3321 surf_lsm_h%rad_lw_res, surf_usm_h%rad_lw_res, & 3322 surf_def_v(0)%rad_lw_res, surf_lsm_v(0)%rad_lw_res, & 3323 surf_usm_v(0)%rad_lw_res, surf_def_v(1)%rad_lw_res, & 3324 surf_lsm_v(1)%rad_lw_res, surf_usm_v(1)%rad_lw_res, & 3325 surf_def_v(2)%rad_lw_res, surf_lsm_v(2)%rad_lw_res, & 3326 surf_usm_v(2)%rad_lw_res, surf_def_v(3)%rad_lw_res, & 3327 surf_lsm_v(3)%rad_lw_res, surf_usm_v(3)%rad_lw_res, & 3328 n_out ) 3124 CALL surface_data_output_sum_up( & 3125 surf_def_h(0)%rad_lw_res, surf_lsm_h(0)%rad_lw_res, surf_usm_h(0)%rad_lw_res, & 3126 surf_def_h(1)%rad_lw_res, surf_lsm_h(1)%rad_lw_res, surf_usm_h(1)%rad_lw_res, & 3127 surf_def_v(0)%rad_lw_res, surf_lsm_v(0)%rad_lw_res, surf_usm_v(0)%rad_lw_res, & 3128 surf_def_v(1)%rad_lw_res, surf_lsm_v(1)%rad_lw_res, surf_usm_v(1)%rad_lw_res, & 3129 surf_def_v(2)%rad_lw_res, surf_lsm_v(2)%rad_lw_res, surf_usm_v(2)%rad_lw_res, & 3130 surf_def_v(3)%rad_lw_res, surf_lsm_v(3)%rad_lw_res, surf_usm_v(3)%rad_lw_res, & 3131 n_out ) 3329 3132 3330 3133 CASE ( 'uvw1' ) 3331 CALL surface_data_output_sum_up( surf_def_h(0)%uvw_abs, surf_def_h(1)%uvw_abs, & 3332 surf_lsm_h%uvw_abs, surf_usm_h%uvw_abs, & 3333 surf_def_v(0)%uvw_abs, surf_lsm_v(0)%uvw_abs, & 3334 surf_usm_v(0)%uvw_abs, surf_def_v(1)%uvw_abs, & 3335 surf_lsm_v(1)%uvw_abs, surf_usm_v(1)%uvw_abs, & 3336 surf_def_v(2)%uvw_abs, surf_lsm_v(2)%uvw_abs, & 3337 surf_usm_v(2)%uvw_abs, surf_def_v(3)%uvw_abs, & 3338 surf_lsm_v(3)%uvw_abs, surf_usm_v(3)%uvw_abs, n_out ) 3134 CALL surface_data_output_sum_up( & 3135 surf_def_h(0)%uvw_abs, surf_lsm_h(0)%uvw_abs, surf_usm_h(0)%uvw_abs, & 3136 surf_def_h(1)%uvw_abs, surf_lsm_h(1)%uvw_abs, surf_usm_h(1)%uvw_abs, & 3137 surf_def_v(0)%uvw_abs, surf_lsm_v(0)%uvw_abs, surf_usm_v(0)%uvw_abs, & 3138 surf_def_v(1)%uvw_abs, surf_lsm_v(1)%uvw_abs, surf_usm_v(1)%uvw_abs, & 3139 surf_def_v(2)%uvw_abs, surf_lsm_v(2)%uvw_abs, surf_usm_v(2)%uvw_abs, & 3140 surf_def_v(3)%uvw_abs, surf_lsm_v(3)%uvw_abs, surf_usm_v(3)%uvw_abs, n_out ) 3339 3141 3340 3142 CASE ( 'waste_heat' ) 3341 CALL surface_data_output_sum_up( surf_def_h(0)%waste_heat, surf_def_h(1)%waste_heat, & 3342 surf_lsm_h%waste_heat, surf_usm_h%waste_heat, & 3343 surf_def_v(0)%waste_heat, surf_lsm_v(0)%waste_heat, & 3344 surf_usm_v(0)%waste_heat, surf_def_v(1)%waste_heat, & 3345 surf_lsm_v(1)%waste_heat, surf_usm_v(1)%waste_heat, & 3346 surf_def_v(2)%waste_heat, surf_lsm_v(2)%waste_heat, & 3347 surf_usm_v(2)%waste_heat, surf_def_v(3)%waste_heat, & 3348 surf_lsm_v(3)%waste_heat, surf_usm_v(3)%waste_heat, & 3349 n_out ) 3143 CALL surface_data_output_sum_up( & 3144 surf_def_h(0)%waste_heat, surf_lsm_h(0)%waste_heat, surf_usm_h(0)%waste_heat,& 3145 surf_def_h(1)%waste_heat, surf_lsm_h(1)%waste_heat, surf_usm_h(1)%waste_heat,& 3146 surf_def_v(0)%waste_heat, surf_lsm_v(0)%waste_heat, surf_usm_v(0)%waste_heat,& 3147 surf_def_v(1)%waste_heat, surf_lsm_v(1)%waste_heat, surf_usm_v(1)%waste_heat,& 3148 surf_def_v(2)%waste_heat, surf_lsm_v(2)%waste_heat, surf_usm_v(2)%waste_heat,& 3149 surf_def_v(3)%waste_heat, surf_lsm_v(3)%waste_heat, surf_usm_v(3)%waste_heat,& 3150 n_out ) 3350 3151 3351 3152 CASE ( 'im_hf' ) 3352 CALL surface_data_output_sum_up( surf_def_h(0)%iwghf_eb, surf_def_h(1)%iwghf_eb,&3353 surf_lsm_h%iwghf_eb, surf_usm_h%iwghf_eb,&3354 surf_def_v(0)%iwghf_eb, surf_lsm_v(0)%iwghf_eb, &3355 surf_usm_v(0)%iwghf_eb, surf_def_v(1)%iwghf_eb, &3356 3357 surf_def_v(2)%iwghf_eb, surf_lsm_v(2)%iwghf_eb, &3358 surf_usm_v(2)%iwghf_eb, surf_def_v(3)%iwghf_eb, &3359 surf_lsm_v(3)%iwghf_eb, surf_usm_v(3)%iwghf_eb,n_out )3153 CALL surface_data_output_sum_up( & 3154 surf_def_h(0)%iwghf_eb, surf_lsm_h(0)%iwghf_eb, surf_usm_h(0)%iwghf_eb, & 3155 surf_def_h(1)%iwghf_eb, surf_lsm_h(1)%iwghf_eb, surf_usm_h(1)%iwghf_eb, & 3156 surf_def_v(0)%iwghf_eb, surf_lsm_v(0)%iwghf_eb, surf_usm_v(0)%iwghf_eb, & 3157 surf_def_v(1)%iwghf_eb, surf_lsm_v(1)%iwghf_eb, surf_usm_v(1)%iwghf_eb, & 3158 surf_def_v(2)%iwghf_eb, surf_lsm_v(2)%iwghf_eb, surf_usm_v(2)%iwghf_eb, & 3159 surf_def_v(3)%iwghf_eb, surf_lsm_v(3)%iwghf_eb, surf_usm_v(3)%iwghf_eb, & 3160 n_out ) 3360 3161 3361 3162 CASE ( 'albedo' ) 3362 CALL surface_data_output_sum_up( surf_def_h(0)%albedo, surf_def_h(1)%albedo, & 3363 surf_lsm_h%albedo, surf_usm_h%albedo, & 3364 surf_def_v(0)%albedo, surf_lsm_v(0)%albedo, & 3365 surf_usm_v(0)%albedo, surf_def_v(1)%albedo, & 3366 surf_lsm_v(1)%albedo, surf_usm_v(1)%albedo, & 3367 surf_def_v(2)%albedo, surf_lsm_v(2)%albedo, & 3368 surf_usm_v(2)%albedo, surf_def_v(3)%albedo, & 3369 surf_lsm_v(3)%albedo, surf_usm_v(3)%albedo, n_out ) 3163 CALL surface_data_output_sum_up( & 3164 surf_def_h(0)%albedo, surf_lsm_h(0)%albedo, surf_usm_h(0)%albedo, & 3165 surf_def_h(1)%albedo, surf_lsm_h(1)%albedo, surf_usm_h(1)%albedo, & 3166 surf_def_v(0)%albedo, surf_lsm_v(0)%albedo, surf_usm_v(0)%albedo, & 3167 surf_def_v(1)%albedo, surf_lsm_v(1)%albedo, surf_usm_v(1)%albedo, & 3168 surf_def_v(2)%albedo, surf_lsm_v(2)%albedo, surf_usm_v(2)%albedo, & 3169 surf_def_v(3)%albedo, surf_lsm_v(3)%albedo, surf_usm_v(3)%albedo, n_out ) 3370 3170 3371 3171 3372 3172 CASE ( 'emissivity' ) 3373 CALL surface_data_output_sum_up( surf_def_h(0)%emissivity, surf_def_h(1)%emissivity, & 3374 surf_lsm_h%emissivity, surf_usm_h%emissivity, & 3375 surf_def_v(0)%emissivity, surf_lsm_v(0)%emissivity, & 3376 surf_usm_v(0)%emissivity, surf_def_v(1)%emissivity, & 3377 surf_lsm_v(1)%emissivity, surf_usm_v(1)%emissivity, & 3378 surf_def_v(2)%emissivity, surf_lsm_v(2)%emissivity, & 3379 surf_usm_v(2)%emissivity, surf_def_v(3)%emissivity, & 3380 surf_lsm_v(3)%emissivity, surf_usm_v(3)%emissivity, & 3381 n_out ) 3173 CALL surface_data_output_sum_up( & 3174 surf_def_h(0)%emissivity, surf_lsm_h(0)%emissivity, surf_usm_h(0)%emissivity,& 3175 surf_def_h(1)%emissivity, surf_lsm_h(1)%emissivity, surf_usm_h(1)%emissivity,& 3176 surf_def_v(0)%emissivity, surf_lsm_v(0)%emissivity, surf_usm_v(0)%emissivity,& 3177 surf_def_v(1)%emissivity, surf_lsm_v(1)%emissivity, surf_usm_v(1)%emissivity,& 3178 surf_def_v(2)%emissivity, surf_lsm_v(2)%emissivity, surf_usm_v(2)%emissivity,& 3179 surf_def_v(3)%emissivity, surf_lsm_v(3)%emissivity, surf_usm_v(3)%emissivity,& 3180 n_out ) 3382 3181 3383 3182 END SELECT … … 3392 3191 !> Sum-up the surface data for average output variables. 3393 3192 !--------------------------------------------------------------------------------------------------! 3394 SUBROUTINE surface_data_output_sum_up_1d( var_def_h0, var_def_h1, var_lsm_h, var_usm_h, & 3395 var_def_v0, var_lsm_v0, var_usm_v0, var_def_v1, & 3396 var_lsm_v1, var_usm_v1, var_def_v2, var_lsm_v2, & 3397 var_usm_v2, var_def_v3, var_lsm_v3, var_usm_v3, n_out, & 3398 fac ) 3193 SUBROUTINE surface_data_output_sum_up_1d( var_def_h0, var_lsm_h0, var_usm_h0, & 3194 var_def_h1, var_lsm_h1, var_usm_h1, & 3195 var_def_v0, var_lsm_v0, var_usm_v0, & 3196 var_def_v1, var_lsm_v1, var_usm_v1, & 3197 var_def_v2, var_lsm_v2, var_usm_v2, & 3198 var_def_v3, var_lsm_v3, var_usm_v3, & 3199 n_out, fac ) 3399 3200 3400 3201 IMPLICIT NONE … … 3409 3210 3410 3211 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_def_h0 !< output variable at upward-facing default-type surfaces 3212 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_lsm_h0 !< output variable at upward-facing natural-type surfaces 3213 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_usm_h0 !< output variable at upward-facing urban-type surfaces 3411 3214 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_def_h1 !< output variable at downward-facing default-type surfaces 3412 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_lsm_h !< output variable at upward-facing natural-type surfaces3413 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_usm_h !< output variable at upward-facing urban-type surfaces3215 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_lsm_h1 !< output variable at downward-facing natural-type surfaces 3216 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_usm_h1 !< output variable at downward-facing urban-type surfaces 3414 3217 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_def_v0 !< output variable at northward-facing default-type surfaces 3415 3218 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_def_v1 !< output variable at southward-facing default-type surfaces … … 3454 3257 n_surf = n_surf + surf_def_h(0)%ns 3455 3258 ENDIF 3259 IF ( ALLOCATED( var_lsm_h0 ) ) THEN 3260 DO m = 1, surf_lsm_h(0)%ns 3261 n_surf = n_surf + 1 3262 k = surf_lsm_h(0)%k(m) 3263 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) + var_lsm_h0(m) * & 3264 conversion_factor(k) 3265 ENDDO 3266 ELSE 3267 n_surf = n_surf + surf_lsm_h(0)%ns 3268 ENDIF 3269 IF ( ALLOCATED( var_usm_h0 ) ) THEN 3270 DO m = 1, surf_usm_h(0)%ns 3271 n_surf = n_surf + 1 3272 k = surf_usm_h(0)%k(m) 3273 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) + var_usm_h0(m) * & 3274 conversion_factor(k) 3275 ENDDO 3276 ELSE 3277 n_surf = n_surf + surf_usm_h(0)%ns 3278 ENDIF 3456 3279 IF ( ALLOCATED( var_def_h1 ) ) THEN 3457 3280 DO m = 1, surf_def_h(1)%ns … … 3464 3287 n_surf = n_surf + surf_def_h(1)%ns 3465 3288 ENDIF 3466 IF ( ALLOCATED( var_lsm_h ) ) THEN3467 DO m = 1, surf_lsm_h %ns3289 IF ( ALLOCATED( var_lsm_h1 ) ) THEN 3290 DO m = 1, surf_lsm_h(1)%ns 3468 3291 n_surf = n_surf + 1 3469 k = surf_lsm_h %k(m)3470 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) + var_lsm_h (m) *&3292 k = surf_lsm_h(1)%k(m) 3293 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) + var_lsm_h1(m) * & 3471 3294 conversion_factor(k) 3472 3295 ENDDO 3473 3296 ELSE 3474 n_surf = n_surf + surf_lsm_h %ns3475 ENDIF 3476 IF ( ALLOCATED( var_usm_h ) ) THEN3477 DO m = 1, surf_usm_h %ns3297 n_surf = n_surf + surf_lsm_h(1)%ns 3298 ENDIF 3299 IF ( ALLOCATED( var_usm_h1 ) ) THEN 3300 DO m = 1, surf_usm_h(1)%ns 3478 3301 n_surf = n_surf + 1 3479 k = surf_usm_h %k(m)3480 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) + var_usm_h (m) *&3302 k = surf_usm_h(1)%k(m) 3303 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) + var_usm_h1(m) * & 3481 3304 conversion_factor(k) 3482 3305 ENDDO 3483 3306 ELSE 3484 n_surf = n_surf + surf_usm_h %ns3307 n_surf = n_surf + surf_usm_h(1)%ns 3485 3308 ENDIF 3486 3309 ! … … 3621 3444 !> approach. 3622 3445 !--------------------------------------------------------------------------------------------------! 3623 SUBROUTINE surface_data_output_sum_up_2d( var_def_h0, var_def_h1, var_lsm_h, var_usm_h, & 3624 var_def_v0, var_lsm_v0, var_usm_v0, var_def_v1, & 3625 var_lsm_v1, var_usm_v1, var_def_v2, var_lsm_v2, & 3626 var_usm_v2, var_def_v3, var_lsm_v3, var_usm_v3, n_out, & 3627 fac ) 3446 SUBROUTINE surface_data_output_sum_up_2d( var_def_h0, var_lsm_h0, var_usm_h0, & 3447 var_def_h1, var_lsm_h1, var_usm_h1, & 3448 var_def_v0, var_lsm_v0, var_usm_v0, & 3449 var_def_v1, var_lsm_v1, var_usm_v1, & 3450 var_def_v2, var_lsm_v2, var_usm_v2, & 3451 var_def_v3, var_lsm_v3, var_usm_v3, & 3452 n_out, fac ) 3628 3453 3629 3454 IMPLICIT NONE … … 3638 3463 3639 3464 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_def_h0 !< output variable at upward-facing default-type surfaces 3465 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_lsm_h0 !< output variable at upward-facing natural-type surfaces 3466 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_usm_h0 !< output variable at upward-facing urban-type surfaces 3640 3467 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_def_h1 !< output variable at downward-facing default-type surfaces 3641 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_lsm_h !< output variable at upward-facing natural-type surfaces3642 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_usm_h !< output variable at upward-facing urban-type surfaces3468 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_lsm_h1 !< output variable at downward-facing natural-type surfaces 3469 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_usm_h1 !< output variable at downward-facing urban-type surfaces 3643 3470 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_def_v0 !< output variable at northward-facing default-type surfaces 3644 3471 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_def_v1 !< output variable at southward-facing default-type surfaces … … 3695 3522 n_surf = n_surf + surf_def_h(1)%ns 3696 3523 ENDIF 3697 IF ( ALLOCATED( var_lsm_h ) ) THEN3698 DO m = 1, surf_lsm_h %ns3524 IF ( ALLOCATED( var_lsm_h0 ) ) THEN 3525 DO m = 1, surf_lsm_h(0)%ns 3699 3526 n_surf = n_surf + 1 3700 k = surf_lsm_h %k(m)3527 k = surf_lsm_h(0)%k(m) 3701 3528 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) & 3702 + SUM ( surf_lsm_h %frac(m,:) *&3703 var_lsm_h (m,:) ) * conversion_factor(k)3704 ENDDO 3705 ELSE 3706 n_surf = n_surf + surf_lsm_h %ns3707 ENDIF 3708 IF ( ALLOCATED( var_ usm_h) ) THEN3709 DO m = 1, surf_ usm_h%ns3529 + SUM ( surf_lsm_h(0)%frac(m,:) * & 3530 var_lsm_h0(m,:) ) * conversion_factor(k) 3531 ENDDO 3532 ELSE 3533 n_surf = n_surf + surf_lsm_h(0)%ns 3534 ENDIF 3535 IF ( ALLOCATED( var_lsm_h1 ) ) THEN 3536 DO m = 1, surf_lsm_h(1)%ns 3710 3537 n_surf = n_surf + 1 3711 k = surf_ usm_h%k(m)3538 k = surf_lsm_h(1)%k(m) 3712 3539 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) & 3713 + SUM ( surf_usm_h%frac(m,:) * & 3714 var_usm_h(m,:) ) * conversion_factor(k) 3715 ENDDO 3716 ELSE 3717 n_surf = n_surf + surf_usm_h%ns 3540 + SUM ( surf_lsm_h(1)%frac(m,:) * & 3541 var_lsm_h1(m,:) ) * conversion_factor(k) 3542 ENDDO 3543 ELSE 3544 n_surf = n_surf + surf_lsm_h(1)%ns 3545 ENDIF 3546 IF ( ALLOCATED( var_usm_h0 ) ) THEN 3547 DO m = 1, surf_usm_h(0)%ns 3548 n_surf = n_surf + 1 3549 k = surf_usm_h(0)%k(m) 3550 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) & 3551 + SUM ( surf_usm_h(0)%frac(m,:) * & 3552 var_usm_h0(m,:) ) * conversion_factor(k) 3553 ENDDO 3554 ELSE 3555 n_surf = n_surf + surf_usm_h(0)%ns 3556 ENDIF 3557 IF ( ALLOCATED( var_usm_h1 ) ) THEN 3558 DO m = 1, surf_usm_h(1)%ns 3559 n_surf = n_surf + 1 3560 k = surf_usm_h(1)%k(m) 3561 surfaces%var_av(n_surf,n_out) = surfaces%var_av(n_surf,n_out) & 3562 + SUM ( surf_usm_h(1)%frac(m,:) * & 3563 var_usm_h1(m,:) ) * conversion_factor(k) 3564 ENDDO 3565 ELSE 3566 n_surf = n_surf + surf_usm_h(1)%ns 3718 3567 ENDIF 3719 3568 ! … … 3865 3714 !> Collect the surface data from different types and different orientation. 3866 3715 !--------------------------------------------------------------------------------------------------! 3867 SUBROUTINE surface_data_output_collect_1d( var_def_h0, var_def_h1, var_lsm_h, var_usm_h, & 3868 var_def_v0, var_lsm_v0, var_usm_v0, var_def_v1, & 3869 var_lsm_v1, var_usm_v1, var_def_v2, var_lsm_v2, & 3870 var_usm_v2, var_def_v3, var_lsm_v3, var_usm_v3, fac ) 3716 SUBROUTINE surface_data_output_collect_1d( var_def_h0, var_lsm_h0, var_usm_h0, & 3717 var_def_h1, var_lsm_h1, var_usm_h1, & 3718 var_def_v0, var_lsm_v0, var_usm_v0, & 3719 var_def_v1, var_lsm_v1, var_usm_v1, & 3720 var_def_v2, var_lsm_v2, var_usm_v2, & 3721 var_def_v3, var_lsm_v3, var_usm_v3, fac ) 3871 3722 3872 3723 IMPLICIT NONE … … 3881 3732 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_def_h0 !< output variable at upward-facing default-type surfaces 3882 3733 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_def_h1 !< output variable at downward-facing default-type surfaces 3883 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_lsm_h !< output variable at upward-facing natural-type surfaces 3884 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_usm_h !< output variable at upward-facing urban-type surfaces 3734 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_lsm_h0 !< output variable at upward-facing natural-type surfaces 3735 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_lsm_h1 !< output variable at downward-facing natural-type surfaces 3736 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_usm_h0 !< output variable at upward-facing urban-type surfaces 3737 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_usm_h1 !< output variable at downward-facing urban-type surfaces 3885 3738 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_def_v0 !< output variable at northward-facing default-type surfaces 3886 3739 REAL(wp), DIMENSION(:), ALLOCATABLE, INTENT(IN) :: var_def_v1 !< output variable at southward-facing default-type surfaces … … 3932 3785 n_surf = n_surf + surf_def_h(1)%ns 3933 3786 ENDIF 3934 IF ( ALLOCATED( var_lsm_h ) ) THEN3935 DO m = 1, surf_lsm_h %ns3787 IF ( ALLOCATED( var_lsm_h0 ) ) THEN 3788 DO m = 1, surf_lsm_h(0)%ns 3936 3789 n_surf = n_surf + 1 3937 k = surf_lsm_h %k(m)3938 surfaces%var_out(n_surf) = var_lsm_h (m) * conversion_factor(k)3939 ENDDO 3940 ELSE 3941 n_surf = n_surf + surf_lsm_h %ns3942 ENDIF 3943 IF ( ALLOCATED( var_ usm_h) ) THEN3944 DO m = 1, surf_ usm_h%ns3790 k = surf_lsm_h(0)%k(m) 3791 surfaces%var_out(n_surf) = var_lsm_h0(m) * conversion_factor(k) 3792 ENDDO 3793 ELSE 3794 n_surf = n_surf + surf_lsm_h(0)%ns 3795 ENDIF 3796 IF ( ALLOCATED( var_lsm_h1 ) ) THEN 3797 DO m = 1, surf_lsm_h(1)%ns 3945 3798 n_surf = n_surf + 1 3946 k = surf_usm_h%k(m) 3947 surfaces%var_out(n_surf) = var_usm_h(m) * conversion_factor(k) 3948 ENDDO 3949 ELSE 3950 n_surf = n_surf + surf_usm_h%ns 3799 k = surf_lsm_h(1)%k(m) 3800 surfaces%var_out(n_surf) = var_lsm_h1(m) * conversion_factor(k) 3801 ENDDO 3802 ELSE 3803 n_surf = n_surf + surf_lsm_h(1)%ns 3804 ENDIF 3805 IF ( ALLOCATED( var_usm_h0 ) ) THEN 3806 DO m = 1, surf_usm_h(0)%ns 3807 n_surf = n_surf + 1 3808 k = surf_usm_h(0)%k(m) 3809 surfaces%var_out(n_surf) = var_usm_h0(m) * conversion_factor(k) 3810 ENDDO 3811 ELSE 3812 n_surf = n_surf + surf_usm_h(0)%ns 3813 ENDIF 3814 IF ( ALLOCATED( var_usm_h1 ) ) THEN 3815 DO m = 1, surf_usm_h(1)%ns 3816 n_surf = n_surf + 1 3817 k = surf_usm_h(1)%k(m) 3818 surfaces%var_out(n_surf) = var_usm_h1(m) * conversion_factor(k) 3819 ENDDO 3820 ELSE 3821 n_surf = n_surf + surf_usm_h(1)%ns 3951 3822 ENDIF 3952 3823 ! … … 4075 3946 !> defined using tile approach. 4076 3947 !--------------------------------------------------------------------------------------------------! 4077 SUBROUTINE surface_data_output_collect_2d( var_def_h0, var_def_h1, var_lsm_h, var_usm_h, & 4078 var_def_v0, var_lsm_v0, var_usm_v0, var_def_v1, & 4079 var_lsm_v1, var_usm_v1, var_def_v2, var_lsm_v2, & 4080 var_usm_v2, var_def_v3, var_lsm_v3, var_usm_v3, fac ) 3948 SUBROUTINE surface_data_output_collect_2d( var_def_h0, var_lsm_h0, var_usm_h0, & 3949 var_def_h1, var_lsm_h1, var_usm_h1, & 3950 var_def_v0, var_lsm_v0, var_usm_v0, & 3951 var_def_v1, var_lsm_v1, var_usm_v1, & 3952 var_def_v2, var_lsm_v2, var_usm_v2, & 3953 var_def_v3, var_lsm_v3, var_usm_v3, fac ) 4081 3954 4082 3955 IMPLICIT NONE … … 4091 3964 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_def_h0 !< output variable at upward-facing default-type surfaces 4092 3965 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_def_h1 !< output variable at downward-facing default-type surfaces 4093 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_lsm_h !< output variable at upward-facing natural-type surfaces 4094 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_usm_h !< output variable at upward-facing urban-type surfaces 3966 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_lsm_h0 !< output variable at upward-facing natural-type surfaces 3967 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_lsm_h1 !< output variable at downward-facing natural-type surfaces 3968 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_usm_h0 !< output variable at upward-facing urban-type surfaces 3969 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_usm_h1 !< output variable at downward-facing urban-type surfaces 4095 3970 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_def_v0 !< output variable at northward-facing default-type surfaces 4096 3971 REAL(wp), DIMENSION(:,:), ALLOCATABLE, INTENT(IN) :: var_def_v1 !< output variable at southward-facing default-type surfaces … … 4138 4013 n_surf = n_surf + 1 4139 4014 k = surf_def_h(1)%k(m) 4140 surfaces%var_out(n_surf) = SUM ( surf_def_h(1)%frac(m,:) * var_def_h1(m,:) ) * 4015 surfaces%var_out(n_surf) = SUM ( surf_def_h(1)%frac(m,:) * var_def_h1(m,:) ) * & 4141 4016 conversion_factor(k) 4142 4017 ENDDO … … 4144 4019 n_surf = n_surf + surf_def_h(1)%ns 4145 4020 ENDIF 4146 IF ( ALLOCATED( var_lsm_h ) ) THEN4147 DO m = 1, surf_lsm_h %ns4021 IF ( ALLOCATED( var_lsm_h0 ) ) THEN 4022 DO m = 1, surf_lsm_h(0)%ns 4148 4023 n_surf = n_surf + 1 4149 k = surf_lsm_h %k(m)4150 surfaces%var_out(n_surf) = SUM ( surf_lsm_h %frac(m,:) * var_lsm_h(m,:) ) *&4024 k = surf_lsm_h(0)%k(m) 4025 surfaces%var_out(n_surf) = SUM ( surf_lsm_h(0)%frac(m,:) * var_lsm_h0(m,:) ) * & 4151 4026 conversion_factor(k) 4152 4027 ENDDO 4153 4028 ELSE 4154 n_surf = n_surf + surf_lsm_h %ns4155 ENDIF 4156 IF ( ALLOCATED( var_ usm_h) ) THEN4157 DO m = 1, surf_ usm_h%ns4029 n_surf = n_surf + surf_lsm_h(0)%ns 4030 ENDIF 4031 IF ( ALLOCATED( var_lsm_h1 ) ) THEN 4032 DO m = 1, surf_lsm_h(1)%ns 4158 4033 n_surf = n_surf + 1 4159 k = surf_usm_h%k(m) 4160 surfaces%var_out(n_surf) = SUM ( surf_usm_h%frac(m,:) * var_usm_h(m,:) ) & 4034 k = surf_lsm_h(1)%k(m) 4035 surfaces%var_out(n_surf) = SUM ( surf_lsm_h(1)%frac(m,:) * var_lsm_h1(m,:) ) * & 4036 conversion_factor(k) 4037 ENDDO 4038 ELSE 4039 n_surf = n_surf + surf_lsm_h(0)%ns 4040 ENDIF 4041 IF ( ALLOCATED( var_usm_h0 ) ) THEN 4042 DO m = 1, surf_usm_h(0)%ns 4043 n_surf = n_surf + 1 4044 k = surf_usm_h(0)%k(m) 4045 surfaces%var_out(n_surf) = SUM ( surf_usm_h(0)%frac(m,:) * var_usm_h0(m,:) ) & 4161 4046 * conversion_factor(k) 4162 4047 ENDDO 4163 4048 ELSE 4164 n_surf = n_surf + surf_usm_h%ns 4049 n_surf = n_surf + surf_usm_h(0)%ns 4050 ENDIF 4051 IF ( ALLOCATED( var_usm_h1 ) ) THEN 4052 DO m = 1, surf_usm_h(1)%ns 4053 n_surf = n_surf + 1 4054 k = surf_usm_h(1)%k(m) 4055 surfaces%var_out(n_surf) = SUM ( surf_usm_h(1)%frac(m,:) * var_usm_h1(m,:) ) & 4056 * conversion_factor(k) 4057 ENDDO 4058 ELSE 4059 n_surf = n_surf + surf_usm_h(1)%ns 4165 4060 ENDIF 4166 4061 ! … … 4723 4618 num_surf(j,i) = num_surf(j,i) + 1 4724 4619 ENDDO 4725 ENDDO4726 DO m = 1, surf_lsm_h%ns4727 i = surf_lsm_h%i(m)4728 j = surf_lsm_h%j(m)4729 n = n + 14730 surfaces%var_av(n,nv) = surf_in(start_index(j,i)+num_surf(j,i))4731 num_surf(j,i) = num_surf(j,i) + 14732 ENDDO4733 DO m = 1, surf_usm_h%ns4734 i = surf_usm_h%i(m)4735 j = surf_usm_h%j(m)4736 n = n + 14737 surfaces%var_av(n,nv) = surf_in(start_index(j,i)+num_surf(j,i))4738 num_surf(j,i) = num_surf(j,i) + 14620 DO m = 1, surf_lsm_h(l)%ns 4621 i = surf_lsm_h(l)%i(m) 4622 j = surf_lsm_h(l)%j(m) 4623 n = n + 1 4624 surfaces%var_av(n,nv) = surf_in(start_index(j,i)+num_surf(j,i)) 4625 num_surf(j,i) = num_surf(j,i) + 1 4626 ENDDO 4627 DO m = 1, surf_usm_h(l)%ns 4628 i = surf_usm_h(l)%i(m) 4629 j = surf_usm_h(l)%j(m) 4630 n = n + 1 4631 surfaces%var_av(n,nv) = surf_in(start_index(j,i)+num_surf(j,i)) 4632 num_surf(j,i) = num_surf(j,i) + 1 4633 ENDDO 4739 4634 ENDDO 4740 4635 … … 4857 4752 num_surf(j,i) = num_surf(j,i) + 1 4858 4753 ENDDO 4859 ENDDO4860 DO m = 1, surf_lsm_h%ns4861 i = surf_lsm_h%i(m)4862 j = surf_lsm_h%j(m)4863 num_surf(j,i) = num_surf(j,i) + 14864 ENDDO4865 DO m = 1, surf_usm_h%ns4866 i = surf_usm_h%i(m)4867 j = surf_usm_h%j(m)4868 num_surf(j,i) = num_surf(j,i) + 14754 DO m = 1, surf_lsm_h(l)%ns 4755 i = surf_lsm_h(l)%i(m) 4756 j = surf_lsm_h(l)%j(m) 4757 num_surf(j,i) = num_surf(j,i) + 1 4758 ENDDO 4759 DO m = 1, surf_usm_h(l)%ns 4760 i = surf_usm_h(l)%i(m) 4761 j = surf_usm_h(l)%j(m) 4762 num_surf(j,i) = num_surf(j,i) + 1 4763 ENDDO 4869 4764 ENDDO 4870 4765 … … 4915 4810 num_surf(j,i) = num_surf(j,i) + 1 4916 4811 ENDDO 4917 ENDDO4918 DO m = 1, surf_lsm_h%ns4919 i = surf_lsm_h%i(m)4920 j = surf_lsm_h%j(m)4921 n = n + 14922 surf_out(start_index(j,i)+num_surf(j,i)) = surfaces%var_av(n,nv)4923 num_surf(j,i) = num_surf(j,i) + 14924 ENDDO4925 DO m = 1, surf_usm_h%ns4926 i = surf_usm_h%i(m)4927 j = surf_usm_h%j(m)4928 n = n + 14929 surf_out(start_index(j,i)+num_surf(j,i)) = surfaces%var_av(n,nv)4930 num_surf(j,i) = num_surf(j,i) + 14812 DO m = 1, surf_lsm_h(l)%ns 4813 i = surf_lsm_h(l)%i(m) 4814 j = surf_lsm_h(l)%j(m) 4815 n = n + 1 4816 surf_out(start_index(j,i)+num_surf(j,i)) = surfaces%var_av(n,nv) 4817 num_surf(j,i) = num_surf(j,i) + 1 4818 ENDDO 4819 DO m = 1, surf_usm_h(l)%ns 4820 i = surf_usm_h(l)%i(m) 4821 j = surf_usm_h(l)%j(m) 4822 n = n + 1 4823 surf_out(start_index(j,i)+num_surf(j,i)) = surfaces%var_av(n,nv) 4824 num_surf(j,i) = num_surf(j,i) + 1 4825 ENDDO 4931 4826 ENDDO 4932 4827
Note: See TracChangeset
for help on using the changeset viewer.