Changeset 2292 for palm/trunk/SOURCE/surface_mod.f90
- Timestamp:
- Jun 20, 2017 9:51:42 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/surface_mod.f90
r2270 r2292 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Implementation of new microphysic scheme: cloud_scheme = 'morrison' 28 ! includes two more prognostic equations for cloud drop concentration (nc) 29 ! and cloud water content (qc). 30 ! 31 ! 2270 2017-06-09 12:18:47Z maronga 27 32 ! Parameters removed/added due to changes in the LSM 28 33 ! … … 104 109 REAL(wp), DIMENSION(:), ALLOCATABLE :: qs !< scaling parameter humidity 105 110 REAL(wp), DIMENSION(:), ALLOCATABLE :: ss !< scaling parameter passive scalar 111 REAL(wp), DIMENSION(:), ALLOCATABLE :: qcs !< scaling parameter qc 112 REAL(wp), DIMENSION(:), ALLOCATABLE :: ncs !< scaling parameter nc 106 113 REAL(wp), DIMENSION(:), ALLOCATABLE :: qrs !< scaling parameter qr 107 114 REAL(wp), DIMENSION(:), ALLOCATABLE :: nrs !< scaling parameter nr … … 124 131 REAL(wp), DIMENSION(:), ALLOCATABLE :: qsws !< surface flux latent heat 125 132 REAL(wp), DIMENSION(:), ALLOCATABLE :: ssws !< surface flux passive scalar 133 REAL(wp), DIMENSION(:), ALLOCATABLE :: qcsws !< surface flux qc 134 REAL(wp), DIMENSION(:), ALLOCATABLE :: ncsws !< surface flux nc 126 135 REAL(wp), DIMENSION(:), ALLOCATABLE :: qrsws !< surface flux qr 127 136 REAL(wp), DIMENSION(:), ALLOCATABLE :: nrsws !< surface flux nr … … 719 728 ! 720 729 !-- 730 IF ( cloud_physics .AND. microphysics_morrison) THEN 731 ALLOCATE ( surfaces%qcs(1:surfaces%ns) ) 732 ALLOCATE ( surfaces%ncs(1:surfaces%ns) ) 733 ALLOCATE ( surfaces%qcsws(1:surfaces%ns) ) 734 ALLOCATE ( surfaces%ncsws(1:surfaces%ns) ) 735 ENDIF 736 ! 737 !-- 721 738 IF ( cloud_physics .AND. microphysics_seifert) THEN 722 739 ALLOCATE ( surfaces%qrs(1:surfaces%ns) ) … … 775 792 ALLOCATE ( surfaces%ssws(1:surfaces%ns) ) 776 793 ENDIF 794 ! 795 !-- 796 IF ( cloud_physics .AND. microphysics_morrison) THEN 797 ALLOCATE ( surfaces%qcsws(1:surfaces%ns) ) 798 ALLOCATE ( surfaces%ncsws(1:surfaces%ns) ) 799 ENDIF 777 800 ! 778 801 !-- … … 877 900 ALLOCATE ( surfaces%ssws(1:surfaces%ns) ) 878 901 ENDIF 902 903 IF ( cloud_physics .AND. microphysics_seifert) THEN 904 ALLOCATE ( surfaces%qcs(1:surfaces%ns) ) 905 ALLOCATE ( surfaces%ncs(1:surfaces%ns) ) 906 ALLOCATE ( surfaces%qcsws(1:surfaces%ns) ) 907 ALLOCATE ( surfaces%ncsws(1:surfaces%ns) ) 908 ENDIF 879 909 880 910 IF ( cloud_physics .AND. microphysics_seifert) THEN … … 1308 1338 IF ( humidity ) THEN 1309 1339 surf%qs(num_h) = 0.0_wp 1340 IF ( cloud_physics .AND. microphysics_morrison) THEN 1341 surf%qcs(num_h) = 0.0_wp 1342 surf%ncs(num_h) = 0.0_wp 1343 1344 surf%qcsws(num_h) = 0.0_wp 1345 surf%ncsws(num_h) = 0.0_wp 1346 1347 ENDIF 1310 1348 IF ( cloud_physics .AND. microphysics_seifert) THEN 1311 1349 surf%qrs(num_h) = 0.0_wp … … 1447 1485 IF ( humidity ) THEN 1448 1486 surf%qsws = 0.0_wp 1487 IF ( cloud_physics .AND. microphysics_morrison ) THEN 1488 surf%ncsws = 0.0_wp 1489 surf%qcsws = 0.0_wp 1490 ENDIF 1449 1491 IF ( cloud_physics .AND. microphysics_seifert ) THEN 1450 1492 surf%nrsws = 0.0_wp … … 1568 1610 ! 1569 1611 !-- Following wall fluxes are assumed to be zero 1612 IF ( cloud_physics .AND. microphysics_morrison) THEN 1613 surf%qcs(num_v) = 0.0_wp 1614 surf%ncs(num_v) = 0.0_wp 1615 1616 surf%qcsws(num_v) = 0.0_wp 1617 surf%ncsws(num_v) = 0.0_wp 1618 ENDIF 1570 1619 IF ( cloud_physics .AND. microphysics_seifert) THEN 1571 1620 surf%qrs(num_v) = 0.0_wp … … 1656 1705 IF ( ALLOCATED( surf_def_h(l)%ss ) ) & 1657 1706 surf_h(l)%ss(mm(l)) = surf_def_h(l)%ss(m) 1707 IF ( ALLOCATED( surf_def_h(l)%qcs ) ) & 1708 surf_h(l)%qcs(mm(l)) = surf_def_h(l)%qcs(m) 1709 IF ( ALLOCATED( surf_def_h(l)%ncs ) ) & 1710 surf_h(l)%ncs(mm(l)) = surf_def_h(l)%ncs(m) 1658 1711 IF ( ALLOCATED( surf_def_h(l)%qrs ) ) & 1659 1712 surf_h(l)%qrs(mm(l)) = surf_def_h(l)%qrs(m) … … 1674 1727 IF ( ALLOCATED( surf_def_h(l)%ssws ) ) & 1675 1728 surf_h(l)%qsws(mm(l)) = surf_def_h(l)%ssws(m) 1729 IF ( ALLOCATED( surf_def_h(l)%ncsws ) ) & 1730 surf_h(l)%ncsws(mm(l)) = surf_def_h(l)%ncsws(m) 1676 1731 IF ( ALLOCATED( surf_def_h(l)%nrsws ) ) & 1677 1732 surf_h(l)%nrsws(mm(l)) = surf_def_h(l)%nrsws(m) … … 1693 1748 IF ( ALLOCATED( surf_lsm_h%ss ) ) & 1694 1749 surf_h(0)%ss(mm(0)) = surf_lsm_h%ss(m) 1750 IF ( ALLOCATED( surf_lsm_h%qcs ) ) & 1751 surf_h(0)%qcs(mm(0)) = surf_lsm_h%qcs(m) 1752 IF ( ALLOCATED( surf_lsm_h%ncs ) ) & 1753 surf_h(0)%ncs(mm(0)) = surf_lsm_h%ncs(m) 1695 1754 IF ( ALLOCATED( surf_lsm_h%qrs ) ) & 1696 1755 surf_h(0)%qrs(mm(0)) = surf_lsm_h%qrs(m) … … 1711 1770 IF ( ALLOCATED( surf_lsm_h%ssws ) ) & 1712 1771 surf_h(0)%qsws(mm(0)) = surf_lsm_h%ssws(m) 1772 IF ( ALLOCATED( surf_lsm_h%ncsws ) ) & 1773 surf_h(0)%ncsws(mm(0)) = surf_lsm_h%ncsws(m) 1713 1774 IF ( ALLOCATED( surf_lsm_h%nrsws ) ) & 1714 1775 surf_h(0)%nrsws(mm(0)) = surf_lsm_h%nrsws(m) … … 1730 1791 IF ( ALLOCATED( surf_usm_h%ss ) ) & 1731 1792 surf_h(0)%ss(mm(0)) = surf_usm_h%ss(m) 1793 IF ( ALLOCATED( surf_usm_h%qcs ) ) & 1794 surf_h(0)%qcs(mm(0)) = surf_usm_h%qcs(m) 1795 IF ( ALLOCATED( surf_usm_h%ncs ) ) & 1796 surf_h(0)%ncs(mm(0)) = surf_usm_h%ncs(m) 1732 1797 IF ( ALLOCATED( surf_usm_h%qrs ) ) & 1733 1798 surf_h(0)%qrs(mm(0)) = surf_usm_h%qrs(m) … … 1748 1813 IF ( ALLOCATED( surf_usm_h%ssws ) ) & 1749 1814 surf_h(0)%qsws(mm(0)) = surf_usm_h%ssws(m) 1815 IF ( ALLOCATED( surf_usm_h%ncsws ) ) & 1816 surf_h(0)%ncsws(mm(0)) = surf_usm_h%ncsws(m) 1750 1817 IF ( ALLOCATED( surf_usm_h%nrsws ) ) & 1751 1818 surf_h(0)%nrsws(mm(0)) = surf_usm_h%nrsws(m) … … 1791 1858 IF ( ALLOCATED( surf_def_v(l)%ss ) ) & 1792 1859 surf_v(l)%ss(mm(l)) = surf_def_v(l)%ss(m) 1860 IF ( ALLOCATED( surf_def_v(l)%qcs ) ) & 1861 surf_v(l)%qcs(mm(l)) = surf_def_v(l)%qcs(m) 1862 IF ( ALLOCATED( surf_def_v(l)%ncs ) ) & 1863 surf_v(l)%ncs(mm(l)) = surf_def_v(l)%ncs(m) 1793 1864 IF ( ALLOCATED( surf_def_v(l)%qrs ) ) & 1794 1865 surf_v(l)%qrs(mm(l)) = surf_def_v(l)%qrs(m) … … 1805 1876 IF ( ALLOCATED( surf_def_v(l)%ssws ) ) & 1806 1877 surf_v(l)%qsws(mm(l)) = surf_def_v(l)%ssws(m) 1878 IF ( ALLOCATED( surf_def_v(l)%ncsws ) ) & 1879 surf_v(l)%ncsws(mm(l)) = surf_def_v(l)%ncsws(m) 1807 1880 IF ( ALLOCATED( surf_def_v(l)%nrsws ) ) & 1808 1881 surf_v(l)%nrsws(mm(l)) = surf_def_v(l)%nrsws(m) … … 1829 1902 IF ( ALLOCATED( surf_lsm_v(l)%ss ) ) & 1830 1903 surf_v(l)%ss(mm(l)) = surf_lsm_v(l)%ss(m) 1904 IF ( ALLOCATED( surf_lsm_v(l)%qcs ) ) & 1905 surf_v(l)%qcs(mm(l)) = surf_lsm_v(l)%qcs(m) 1906 IF ( ALLOCATED( surf_lsm_v(l)%ncs ) ) & 1907 surf_v(l)%ncs(mm(l)) = surf_lsm_v(l)%ncs(m) 1831 1908 IF ( ALLOCATED( surf_lsm_v(l)%qrs ) ) & 1832 1909 surf_v(l)%qrs(mm(l)) = surf_lsm_v(l)%qrs(m) … … 1847 1924 IF ( ALLOCATED( surf_lsm_v(l)%ssws ) ) & 1848 1925 surf_v(l)%qsws(mm(l)) = surf_lsm_v(l)%ssws(m) 1926 IF ( ALLOCATED( surf_lsm_v(l)%ncsws ) ) & 1927 surf_v(l)%ncsws(mm(l)) = surf_lsm_v(l)%ncsws(m) 1849 1928 IF ( ALLOCATED( surf_lsm_v(l)%nrsws ) ) & 1850 1929 surf_v(l)%nrsws(mm(l)) = surf_lsm_v(l)%nrsws(m) … … 1871 1950 IF ( ALLOCATED( surf_usm_v(l)%ss ) ) & 1872 1951 surf_v(l)%ss(mm(l)) = surf_usm_v(l)%ss(m) 1952 IF ( ALLOCATED( surf_usm_v(l)%qcs ) ) & 1953 surf_v(l)%qcs(mm(l)) = surf_usm_v(l)%qcs(m) 1954 IF ( ALLOCATED( surf_usm_v(l)%ncs ) ) & 1955 surf_v(l)%ncs(mm(l)) = surf_usm_v(l)%ncs(m) 1873 1956 IF ( ALLOCATED( surf_usm_v(l)%qrs ) ) & 1874 1957 surf_v(l)%qrs(mm(l)) = surf_usm_v(l)%qrs(m) … … 1889 1972 IF ( ALLOCATED( surf_usm_v(l)%ssws ) ) & 1890 1973 surf_v(l)%qsws(mm(l)) = surf_usm_v(l)%ssws(m) 1974 IF ( ALLOCATED( surf_usm_v(l)%ncsws ) ) & 1975 surf_v(l)%ncsws(mm(l)) = surf_usm_v(l)%ncsws(m) 1891 1976 IF ( ALLOCATED( surf_usm_v(l)%nrsws ) ) & 1892 1977 surf_v(l)%nrsws(mm(l)) = surf_usm_v(l)%nrsws(m) … … 1946 2031 WRITE ( 14 ) surf_h(l)%ss 1947 2032 ENDIF 2033 WRITE ( 14 ) 'surf_h(' // dum // ')%qcs ' 2034 IF ( ALLOCATED ( surf_h(l)%qcs ) ) THEN 2035 WRITE ( 14 ) surf_h(l)%qcs 2036 ENDIF 2037 WRITE ( 14 ) 'surf_h(' // dum // ')%ncs ' 2038 IF ( ALLOCATED ( surf_h(l)%ncs ) ) THEN 2039 WRITE ( 14 ) surf_h(l)%ncs 2040 ENDIF 1948 2041 WRITE ( 14 ) 'surf_h(' // dum // ')%qrs ' 1949 2042 IF ( ALLOCATED ( surf_h(l)%qrs ) ) THEN … … 1981 2074 IF ( ALLOCATED ( surf_h(l)%ssws ) ) THEN 1982 2075 WRITE ( 14 ) surf_h(l)%ssws 2076 ENDIF 2077 WRITE ( 14 ) 'surf_h(' // dum // ')%qcsws ' 2078 IF ( ALLOCATED ( surf_h(l)%qcsws ) ) THEN 2079 WRITE ( 14 ) surf_h(l)%qcsws 2080 ENDIF 2081 WRITE ( 14 ) 'surf_h(' // dum // ')%ncsws ' 2082 IF ( ALLOCATED ( surf_h(l)%ncsws ) ) THEN 2083 WRITE ( 14 ) surf_h(l)%ncsws 1983 2084 ENDIF 1984 2085 WRITE ( 14 ) 'surf_h(' // dum // ')%qrsws ' … … 2021 2122 WRITE ( 14 ) surf_v(l)%ss 2022 2123 ENDIF 2124 WRITE ( 14 ) 'surf_v(' // dum // ')%qcs ' 2125 IF ( ALLOCATED ( surf_v(l)%qcs ) ) THEN 2126 WRITE ( 14 ) surf_v(l)%qcs 2127 ENDIF 2128 WRITE ( 14 ) 'surf_v(' // dum // ')%ncs ' 2129 IF ( ALLOCATED ( surf_v(l)%ncs ) ) THEN 2130 WRITE ( 14 ) surf_v(l)%ncs 2131 ENDIF 2023 2132 WRITE ( 14 ) 'surf_v(' // dum // ')%qrs ' 2024 2133 IF ( ALLOCATED ( surf_v(l)%qrs ) ) THEN … … 2048 2157 IF ( ALLOCATED ( surf_v(l)%ssws ) ) THEN 2049 2158 WRITE ( 14 ) surf_v(l)%ssws 2159 ENDIF 2160 WRITE ( 14 ) 'surf_v(' // dum // ')%qcsws ' 2161 IF ( ALLOCATED ( surf_v(l)%qcsws ) ) THEN 2162 WRITE ( 14 ) surf_v(l)%qcsws 2163 ENDIF 2164 WRITE ( 14 ) 'surf_v(' // dum // ')%ncsws ' 2165 IF ( ALLOCATED ( surf_v(l)%ncsws ) ) THEN 2166 WRITE ( 14 ) surf_v(l)%ncsws 2050 2167 ENDIF 2051 2168 WRITE ( 14 ) 'surf_v(' // dum // ')%qrsws ' … … 2240 2357 IF ( ALLOCATED( surf_h(0)%ss ) .AND. kk == 1 ) & 2241 2358 READ ( 13 ) surf_h(0)%ss 2359 CASE ( 'surf_h(0)%qcs' ) 2360 IF ( ALLOCATED( surf_h(0)%qcs ) .AND. kk == 1 ) & 2361 READ ( 13 ) surf_h(0)%qcs 2362 CASE ( 'surf_h(0)%ncs' ) 2363 IF ( ALLOCATED( surf_h(0)%ncs ) .AND. kk == 1 ) & 2364 READ ( 13 ) surf_h(0)%ncs 2242 2365 CASE ( 'surf_h(0)%qrs' ) 2243 2366 IF ( ALLOCATED( surf_h(0)%qrs ) .AND. kk == 1 ) & … … 2267 2390 IF ( ALLOCATED( surf_h(0)%ssws ) .AND. kk == 1 ) & 2268 2391 READ ( 13 ) surf_h(0)%ssws 2392 CASE ( 'surf_h(0)%qcsws' ) 2393 IF ( ALLOCATED( surf_h(0)%qcsws ) .AND. kk == 1 ) & 2394 READ ( 13 ) surf_h(0)%qcsws 2395 CASE ( 'surf_h(0)%ncsws' ) 2396 IF ( ALLOCATED( surf_h(0)%ncsws ) .AND. kk == 1 ) & 2397 READ ( 13 ) surf_h(0)%ncsws 2269 2398 CASE ( 'surf_h(0)%qrsws' ) 2270 2399 IF ( ALLOCATED( surf_h(0)%qrsws ) .AND. kk == 1 ) & … … 2296 2425 IF ( ALLOCATED( surf_h(1)%ss ) .AND. kk == 1 ) & 2297 2426 READ ( 13 ) surf_h(1)%ss 2427 CASE ( 'surf_h(1)%qcs' ) 2428 IF ( ALLOCATED( surf_h(1)%qcs ) .AND. kk == 1 ) & 2429 READ ( 13 ) surf_h(1)%qcs 2430 CASE ( 'surf_h(1)%ncs' ) 2431 IF ( ALLOCATED( surf_h(1)%ncs ) .AND. kk == 1 ) & 2432 READ ( 13 ) surf_h(1)%ncs 2298 2433 CASE ( 'surf_h(1)%qrs' ) 2299 2434 IF ( ALLOCATED( surf_h(1)%qrs ) .AND. kk == 1 ) & … … 2323 2458 IF ( ALLOCATED( surf_h(1)%ssws ) .AND. kk == 1 ) & 2324 2459 READ ( 13 ) surf_h(1)%ssws 2460 CASE ( 'surf_h(1)%qcsws' ) 2461 IF ( ALLOCATED( surf_h(1)%qcsws ) .AND. kk == 1 ) & 2462 READ ( 13 ) surf_h(1)%qcsws 2463 CASE ( 'surf_h(1)%ncsws' ) 2464 IF ( ALLOCATED( surf_h(1)%ncsws ) .AND. kk == 1 ) & 2465 READ ( 13 ) surf_h(1)%ncsws 2325 2466 CASE ( 'surf_h(1)%qrsws' ) 2326 2467 IF ( ALLOCATED( surf_h(1)%qrsws ) .AND. kk == 1 ) & … … 2352 2493 IF ( ALLOCATED( surf_h(2)%ss ) .AND. kk == 1 ) & 2353 2494 READ ( 13 ) surf_h(2)%ss 2495 CASE ( 'surf_h(2)%qcs' ) 2496 IF ( ALLOCATED( surf_h(2)%qcs ) .AND. kk == 1 ) & 2497 READ ( 13 ) surf_h(2)%qcs 2498 CASE ( 'surf_h(2)%ncs' ) 2499 IF ( ALLOCATED( surf_h(2)%ncs ) .AND. kk == 1 ) & 2500 READ ( 13 ) surf_h(2)%ncs 2354 2501 CASE ( 'surf_h(2)%qrs' ) 2355 2502 IF ( ALLOCATED( surf_h(2)%qrs ) .AND. kk == 1 ) & … … 2379 2526 IF ( ALLOCATED( surf_h(2)%ssws ) .AND. kk == 1 ) & 2380 2527 READ ( 13 ) surf_h(2)%ssws 2528 CASE ( 'surf_h(2)%qcsws' ) 2529 IF ( ALLOCATED( surf_h(2)%qcsws ) .AND. kk == 1 ) & 2530 READ ( 13 ) surf_h(2)%qcsws 2531 CASE ( 'surf_h(2)%ncsws' ) 2532 IF ( ALLOCATED( surf_h(2)%ncsws ) .AND. kk == 1 ) & 2533 READ ( 13 ) surf_h(2)%ncsws 2381 2534 CASE ( 'surf_h(2)%qrsws' ) 2382 2535 IF ( ALLOCATED( surf_h(2)%qrsws ) .AND. kk == 1 ) & … … 2410 2563 IF ( ALLOCATED( surf_v(0)%ss ) .AND. kk == 1 ) & 2411 2564 READ ( 13 ) surf_v(0)%ss 2565 CASE ( 'surf_v(0)%qcs' ) 2566 IF ( ALLOCATED( surf_v(0)%qcs ) .AND. kk == 1 ) & 2567 READ ( 13 ) surf_v(0)%qcs 2568 CASE ( 'surf_v(0)%ncs' ) 2569 IF ( ALLOCATED( surf_v(0)%ncs ) .AND. kk == 1 ) & 2570 READ ( 13 ) surf_v(0)%ncs 2412 2571 CASE ( 'surf_v(0)%qrs' ) 2413 2572 IF ( ALLOCATED( surf_v(0)%qrs ) .AND. kk == 1 ) & … … 2431 2590 IF ( ALLOCATED( surf_v(0)%ssws ) .AND. kk == 1 ) & 2432 2591 READ ( 13 ) surf_v(0)%ssws 2592 CASE ( 'surf_v(0)%qcsws' ) 2593 IF ( ALLOCATED( surf_v(0)%qcsws ) .AND. kk == 1 ) & 2594 READ ( 13 ) surf_v(0)%qcsws 2595 CASE ( 'surf_v(0)%ncsws' ) 2596 IF ( ALLOCATED( surf_v(0)%ncsws ) .AND. kk == 1 ) & 2597 READ ( 13 ) surf_v(0)%ncsws 2433 2598 CASE ( 'surf_v(0)%qrsws' ) 2434 2599 IF ( ALLOCATED( surf_v(0)%qrsws ) .AND. kk == 1 ) & … … 2469 2634 IF ( ALLOCATED( surf_v(1)%ss ) .AND. kk == 1 ) & 2470 2635 READ ( 13 ) surf_v(1)%ss 2636 CASE ( 'surf_v(1)%qcs' ) 2637 IF ( ALLOCATED( surf_v(1)%qcs ) .AND. kk == 1 ) & 2638 READ ( 13 ) surf_v(1)%qcs 2639 CASE ( 'surf_v(1)%ncs' ) 2640 IF ( ALLOCATED( surf_v(1)%ncs ) .AND. kk == 1 ) & 2641 READ ( 13 ) surf_v(1)%ncs 2471 2642 CASE ( 'surf_v(1)%qrs' ) 2472 2643 IF ( ALLOCATED( surf_v(1)%qrs ) .AND. kk == 1 ) & … … 2490 2661 IF ( ALLOCATED( surf_v(1)%ssws ) .AND. kk == 1 ) & 2491 2662 READ ( 13 ) surf_v(1)%ssws 2663 CASE ( 'surf_v(1)%qcsws' ) 2664 IF ( ALLOCATED( surf_v(1)%qcsws ) .AND. kk == 1 ) & 2665 READ ( 13 ) surf_v(1)%qcsws 2666 CASE ( 'surf_v(1)%ncsws' ) 2667 IF ( ALLOCATED( surf_v(1)%ncsws ) .AND. kk == 1 ) & 2668 READ ( 13 ) surf_v(1)%ncsws 2492 2669 CASE ( 'surf_v(1)%qrsws' ) 2493 2670 IF ( ALLOCATED( surf_v(1)%qrsws ) .AND. kk == 1 ) & … … 2528 2705 IF ( ALLOCATED( surf_v(2)%ss ) .AND. kk == 1 ) & 2529 2706 READ ( 13 ) surf_v(2)%ss 2707 CASE ( 'surf_v(2)%qcs' ) 2708 IF ( ALLOCATED( surf_v(2)%qcs ) .AND. kk == 1 ) & 2709 READ ( 13 ) surf_v(2)%qcs 2710 CASE ( 'surf_v(2)%ncs' ) 2711 IF ( ALLOCATED( surf_v(2)%ncs ) .AND. kk == 1 ) & 2712 READ ( 13 ) surf_v(2)%ncs 2530 2713 CASE ( 'surf_v(2)%qrs' ) 2531 2714 IF ( ALLOCATED( surf_v(2)%qrs ) .AND. kk == 1 ) & … … 2549 2732 IF ( ALLOCATED( surf_v(2)%ssws ) .AND. kk == 1 ) & 2550 2733 READ ( 13 ) surf_v(2)%ssws 2734 CASE ( 'surf_v(2)%qcsws' ) 2735 IF ( ALLOCATED( surf_v(2)%qcsws ) .AND. kk == 1 ) & 2736 READ ( 13 ) surf_v(2)%qcsws 2737 CASE ( 'surf_v(2)%ncsws' ) 2738 IF ( ALLOCATED( surf_v(2)%ncsws ) .AND. kk == 1 ) & 2739 READ ( 13 ) surf_v(2)%ncsws 2551 2740 CASE ( 'surf_v(2)%qrsws' ) 2552 2741 IF ( ALLOCATED( surf_v(2)%qrsws ) .AND. kk == 1 ) & … … 2587 2776 IF ( ALLOCATED( surf_v(3)%ss ) .AND. kk == 1 ) & 2588 2777 READ ( 13 ) surf_v(3)%ss 2778 CASE ( 'surf_v(3)%qcs' ) 2779 IF ( ALLOCATED( surf_v(3)%qcs ) .AND. kk == 1 ) & 2780 READ ( 13 ) surf_v(3)%qcs 2781 CASE ( 'surf_v(3)%ncs' ) 2782 IF ( ALLOCATED( surf_v(3)%ncs ) .AND. kk == 1 ) & 2783 READ ( 13 ) surf_v(3)%ncs 2589 2784 CASE ( 'surf_v(3)%qrs' ) 2590 2785 IF ( ALLOCATED( surf_v(3)%qrs ) .AND. kk == 1 ) & … … 2608 2803 IF ( ALLOCATED( surf_v(3)%ssws ) .AND. kk == 1 ) & 2609 2804 READ ( 13 ) surf_v(3)%ssws 2805 CASE ( 'surf_v(3)%qcsws' ) 2806 IF ( ALLOCATED( surf_v(3)%qcsws ) .AND. kk == 1 ) & 2807 READ ( 13 ) surf_v(3)%qcsws 2808 CASE ( 'surf_v(3)%ncsws' ) 2809 IF ( ALLOCATED( surf_v(3)%ncsws ) .AND. kk == 1 ) & 2810 READ ( 13 ) surf_v(3)%ncsws 2610 2811 CASE ( 'surf_v(3)%qrsws' ) 2611 2812 IF ( ALLOCATED( surf_v(3)%qrsws ) .AND. kk == 1 ) & … … 2814 3015 ENDIF 2815 3016 3017 IF ( SCAN( TRIM( field_chr ), '%qcs' ) /= 0 ) THEN 3018 IF ( ALLOCATED( surf_target%qcs ) .AND. & 3019 ALLOCATED( surf_file%qcs ) ) & 3020 surf_target%qcs(m_target) = surf_file%qcs(m_file) 3021 ENDIF 3022 3023 IF ( SCAN( TRIM( field_chr ), '%qcsws' ) /= 0 ) THEN 3024 IF ( ALLOCATED( surf_target%qcsws ) .AND. & 3025 ALLOCATED( surf_file%qcsws ) ) & 3026 surf_target%qcsws(m_target) = surf_file%qcsws(m_file) 3027 ENDIF 3028 3029 IF ( SCAN( TRIM( field_chr ), '%ncs' ) /= 0 ) THEN 3030 IF ( ALLOCATED( surf_target%ncs ) .AND. & 3031 ALLOCATED( surf_file%ncs ) ) & 3032 surf_target%ncs(m_target) = surf_file%ncs(m_file) 3033 ENDIF 3034 3035 IF ( SCAN( TRIM( field_chr ), '%ncsws' ) /= 0 ) THEN 3036 IF ( ALLOCATED( surf_target%ncsws ) .AND. & 3037 ALLOCATED( surf_file%ncsws ) ) & 3038 surf_target%ncsws(m_target) = surf_file%ncsws(m_file) 3039 ENDIF 3040 2816 3041 IF ( SCAN( TRIM( field_chr ), '%qrs' ) /= 0 ) THEN 2817 3042 IF ( ALLOCATED( surf_target%qrs ) .AND. &
Note: See TracChangeset
for help on using the changeset viewer.