module qirgrid_init_module use params_module,only: nlat,nlon,nlonp2,nlonp4,nlevp1 use init_module,only: sin_sundec,cos_sundec use addfld_module,only: addfld implicit none ! ------------------------------------------------------------- ! Routine to expand qirh(ISZA,nlevp1) to QIRGRID(nlonp4,nlat,nlevp1) ! Initial array qirsza(isza,nlevp1) ! Interpolation array qirgrid(nlonp4,nlat,nlevp1) ! Transfer qirgrid(nlonp4,nlat,nlevp1) to module data ! ------------------------------------------------------------- ! Array Dimensions for Initial Readin Arrays ! Summary; nlevp1 = 47; isza = 12. integer,parameter :: isza = 12 real :: qirsza(isza,nlevp1) real :: szah(isza) ! !----------------------------------------- ! For interpolated near IR array structure real,dimension(nlonp4,nlat,nlevp1) :: qirgrid ! ! Final qirgrid near-IR array structure ! These are allocated for task subdomains by alloc_q (called from allocdata) ! * qirgrid(nlonp4,nlat,nlevp1) ! qir on the vtgcm grid (K/day) ! * Not used. ! real,allocatable :: qirgrid(:,:,:) !------------------------------------------ ! contains !----------------------------------------------------------------------- subroutine qirgrid_init ! ! ---------------------------------------------------------------------- ! DRIVER TO EXPAND QIRSZA(ISZA,nlevp1) to QIRGRID(nlonp4,nlat,nlevp1) ! Roldan et al., (2000) Figure 20 QIR Heating (K/day) ! Conversion from K/day to ergs/gm/sec is needed ! ---------------------------------------------------------------------- ! ! Interpolate qirsza to vtgcm LAT-LON grid ! * Initial array qirsza(isza,nlevp1) ! * Interpolation array qir(nlon,nlat,nlevp1) ! Add 4-endpoints to generate final array for allocation and subdomain usage ! * Final array qirgrid(nlonp4,nlat,nlevp1) transfer to module data ! Domain Summary: ! nlevp1 = 47; nlat = 36; nlon = 72; nlonp4 = 76; zbot = -16.0; ztop = +7.0 ! ---------------------------------------------------------------------- ! use params_module,only: nlat,nlon,nlonp2,nlonp4,nlevp1,dz,zibot use cons_module,only: dphi,dlamda,pi use addfld_module,only: addfld implicit none ! ! Local arrays; real :: szp(nlevp1) real :: dchi(isza) ! ! Local: integer :: k,i,il,j real :: glat,zchi,slt,rat,coslat,sinlat ! #include ! ! data statements ! -------------------------------------------------------------------------- ! One sza column per data statement so that updates can be made later ! -- nlevp1 = 47; isza = 12 ! ! 12/7/08 btf: nlevp1=69 (-16 to 18 by 0.5): pad with top value ! -------------------------------------------------------------------------- szah(:) = (/0.,25.,36.,45.,53.,60.,66.,72.,78.,84.,89.,92./) ! #if (NLEV==68) !!**Commented out code was before cleaning up the interpolation ! below ~100 km (the heating lines were not straight) ! ! WRITE(*,*)'NLEVqir',NLEV ! qirsza(1,:) = (/ ! | 32.,32.,32.,32.,32.,32.883,35.134,46.071,51.904, ! | 61.702,74.182,89.182,106.62,126.24,149.75, ! | 178.25,232.92,319.92,397.72,538.97,755.95, ! | 1168.3,1562.9,1754.4,1953.7,2218.9,2519.8, ! | 2584.5,2541.3,2557.2,2764.9,2665.4,2365.3, ! | 1856.6,908.76,557.98,258.63,122.01,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0./) qirsza(1,:) = (/ | 32.,32.,32.,32.,32.,32.,33.52,36.65,42.75, | 49.02,57.27,68.96,87.42,103.38,123.08,158.22, | 212.30,288.74,380.74,561.43,828.70,1145.16, | 1491.55,1859.48,2215.09,2493.95,2623.12, | 2543.92,2549.46,2682.13,2767.19,2686.35, | 2428.31,2043.50,1547.74,985.82,641.66,377.20, | 242.84,144.36,72.57, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! qirsza(2,:) = (/ ! | 28.,28.,28.,28.,28.,29.178,32.085,39.071,44.904, ! | 54.121,65.667,79.417,95.806,111.76,128.87, ! | 147.96,178.06,251.58,334.43,439.84,601.04, ! | 947.71,1260.3,1478.4,1723.5,2007.9,2338.1, ! | 2430.2,2377.6,2344.7,2416.2,2562.2,2455.2, ! | 2171.6,1568.5,743.41,448.62,167.87,83.463, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) qirsza(2,:) = (/ | 29.,29.,29.,29.,29.,29.,30.50,33.24,38.00, | 42.90,50.54,62.72,78.03,92.57,109.03,135.23, | 174.36,232.01,327.26,487.45,705.49,1013.79, | 1367.56,1700.99,2026.89,2314.36,2442.70, | 2397.83,2352.42,2377.76,2479.89,2572.74, | 2429.31,2106.20,1609.46,1058.63,652.02, | 403.44,234.91,142.79,74.47, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! qirsza(3,:) = (/ ! | 21.,21.,21.,21.,21.,22.178,25.085,32.03,34.53, ! | 45.442,56.606,65.356,78.37,97.243,114.43, ! | 127.61,155.82,235.13,297.,396.64,565.92,933.98, ! | 1341.7,1496.1,1684.1,1906.7,2150.3,2244.6, ! | 2176.7,2129.2,2158.1,2308.8,2328.6,2165.,1588.5, ! | 807.59,484.12,201.92,86.625, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) qirsza(3,:) = (/ | 27.,27.,27.,27.,27.,27.,27.49,28.86,32.27, | 37.45,45.79,58.59,73.09,85.57,99.03,118.41, | 148.06,207.56,295.28,426.88,610.63,886.41, | 1233.92,1569.18,1896.87,2123.21,2236.37, | 2200.10,2138.08,2133.40,2226.60,2362.22, | 2304.68,2089.27,1648.78,1109.13,687.26,425.96, | 245.64,143.13,75.49, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! qirsza(4,:) = (/ ! | 25.,25.,25.,25.,25.,25.883,28.097,36.03,38.53, ! | 47.121,59.44,75.065,86.934,103.21,117.14, ! | 128.81,153.91,223.21,271.33,367.39,520.04, ! | 807.59,1177.1,1333.4,1561.9,1817.7,1989.8, ! | 2064.9,1984.2,1930.1,1921.,2017.,2118.2,2053.7, ! | 1699.6,910.87,525.49,243.45,98.352, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) qirsza(4,:) = (/ | 25.,25.,25.,25.,25.,25.,25.,25.85,29.28,33.91, | 41.51,53.53,68.00,79.89,91.61,108.77,136.70, | 196.40,258.75,361.14,514.76,748.26,1071.67, | 1393.84,1717.25,1931.08,2044.09,2031.38, | 1952.38,1905.50,1942.85,2041.80,2119.77, | 2039.71,1711.56,1217.67,757.05,478.80,278.53, | 149.39,83.83,36.50, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0./) ! qirsza(5,:) = (/ ! | 18.,18.,18.,18.,18.,18.455,20.597,23.436,28.738,36.611, ! | 48.182,63.182,71.685,91.131,101.9,112.67,146.61, ! | 206.09,254.84,332.02,448.91,720.31,1078.9,1328.2, ! | 1523.7,1706.2,1851.6,1848.5,1770.6,1710.8,1723.3, ! | 1841.3,1876.8,1782.6,1498.8,930.55,501.5,224.14,91.292, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) qirsza(5,:) = (/ | 22.,22.,22.,22.,22.,22.,22.48,23.51,25.57,31.02,38.61, | 48.39,62.83,72.98,84.73,102.02,124.63,176.89,230.61, | 316.71,449.10,647.86,945.83,1249.58,1520.42,1755.04, | 1855.82,1841.02,1756.44,1693.29,1730.10,1813.23, | 1884.49,1860.20,1649.96,1327.98,889.16,548.37,328.80, | 179.60,101.58,48.30, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0./) ! qirsza(6,:) = (/ ! | 21.,21.,21.,21.,21.,21.,21.,26.685,30.707,39.142,51.667,65.417, ! | 76.121,89.098,97.175,105.25,131.84,181.29,225.66,289.11, ! | 406.62,634.34,977.64,1206.9,1348.,1486.5,1648.8,1633.2, ! | 1544.6,1493.8,1483.4,1549.3,1617.5,1586.4,1397.8,869.82, ! | 449.18,274.78,111.46,51.862, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0./) qirsza(6,:) = (/ | 20.,20.,20.,20.,20.05,20.78,21.,21.51,23.57,29.04,36.33,45.33, | 58.10,69.55,80.39,94.93,113.60,154.31,207.02,273.90,374.38, | 547.66,827.74,1112.76,1365.65,1555.34,1649.31,1642.58,1547.34, | 1490.48,1483.42,1520.54,1589.89,1631.40,1537.02,1303.92,946.09, | 591.39,361.08,204.53,116.02,59.44, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0./) ! qirsza(7,:) = (/ ! | 18.,18.,18.,18.,18.,18.455,20.597,24.249,29.738,39.142, ! | 49.606,58.356,66.497,78.084,85.007,91.93,114.96, ! | 162.9,213.58,261.71,358.42,605.61,892.67,1071.4, ! | 1201.4,1334.,1480.5,1468.4,1385.6,1308.5,1266.9, ! | 1309.1,1368.2,1380.,1291.3,880.28,538.55,313.57, ! | 119.27,62.706, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0./) qirsza(7,:) = (/ | 15.,15.,15.,15.28,16.05,16.78,17.96,19.67,22.44, | 28.05,34.78,42.24,53.63,63.53,72.23,82.90,98.21, | 133.17,183.18,241.34,319.22,461.26,692.70,939.79, | 1182.48,1370.81,1480.26,1485.41,1408.51,1322.94, | 1265.46,1270.75,1325.17,1372.77,1360.87,1212.92, | 913.04,624.38,406.23,238.35,119.14,70.11,28.60, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0./) ! qirsza(8,:) = (/ ! | 11.,11.,11.,11.,11.,12.238,18.085,25.071,30.904,38.768, ! | 46.208,53.036,56.061,61.061,67.591,75.091,100.96, ! | 135.66,166.58,214.71,286.69,479.65,727.05,875.17, ! | 1024.3,1168.3,1259.2,1215.8,1130.1,1078.,1031.9, ! | 1017.1,1051.5,1078.4,1028.4,862.72,539.39,351.18, ! | 161.9,80.292, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0./) qirsza(8,:) = (/ | 11.,11.,11.,11.,11.,11.,13.39,16.84,20.30,26.05, | 32.77,40.11,46.18,52.74,58.94,66.94,79.26,113.10, | 146.22,190.33,254.45,341.79,600.06,818.63,1014.85, | 1172.75,1265.87,1242.70,1178.32,1098.10,1045.27, | 1013.43,1018.47,1048.58,1076.84,1024.28,887.67, | 612.07,409.16,266.71,147.81,82.82,39.90, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0./) ! qirsza(9,:) = (/ ! | 7.,7.,7.,7.,7.,8.2375,14.085,21.04,24.374,32.445,37.148, ! | 39.049,43.061,48.061,53.367,58.867,75.283,101.66, ! | 132.43,167.43,212.39,306.31,510.51,644.88,784.61, ! | 927.34,1035.7,1007.2,943.48,877.67,808.92,773.26, ! | 759.88,766.12,767.88,756.82,632.27,441.89,304.91, ! | 156.51,79.158,36.453, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0./) qirsza(9,:) = (/ | 7.,7.,7.,7.,7.05,7.77,10.86,14.85,18.31,22.37,27.19, | 33.04,37.60,41.36,45.95,52.79,61.11,81.78,109.64, | 144.77,187.33,242.24,385.66,560.26,727.23,895.77,990.24, | 1028.50,1009.01,938.23,863.32,793.65,773.94,762.96, | 761.64,770.99,758.50,684.99,500.72,344.30,218.29,124.48, | 67.80,35.07, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0./) ! qirsza(10,:) = (/ ! | 11.,11.,11.,11.,11.,11.53,14.049,18.,18.,24.768,28.,29.238, ! | 35.,35.,39.061,44.061,51.101,61.667,75.417,99.319, ! | 131.24,198.46,312.23,402.85,486.97,566.97,691.64, ! | 730.81,692.89,643.45,598.45,550.16,500.04,468.88, ! | 458.76,438.76,412.57,344.67,265.46,202.27,99.402,47.431, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0. /) qirsza(10,:) = (/ | 6.,6.,6.,6.,6.05,6.77,8.43,10.68,13.45,16.24,19.62,24.01, | 27.06,30.36,33.27,37.79,46.04,53.40,66.47,86.90,117.98, | 157.31,230.12,327.22,433.36,534.77,630.06,717.20,728.70, | 703.22,647.82,593.06,549.95,513.85,480.54,464.38,444.28, | 416.36,371.74,292.27,213.32,138.44,78.22,39.56, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0./) ! qirsza(11,:) = (/ ! | 0.,0.,0.,0.,0.,0.70715,4.085,11.,11.,13.03,15.749,18.,18.03, ! | 20.53,21.,21.,26.77,36.03,38.53,44.076,54.657,81.899, ! | 155.43,191.06,230.03,273.78,330.05,385.14,415.23, ! | 413.35,391.17,356.92,295.36,242.73,220.86,200.64, ! | 182.66,154.57,121.06,96.03,78.636,45.287,25.383, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0./) qirsza(11,:) = (/ | 0.,0.,0.,0.,0.,0.,1.92,4.34,5.72,8.23,11.07,14.00,17.05,19.18, | 20.43,22.02,25.12,32.56,36.95,41.20,48.48,70.76,112.08,163.44, | 203.11,247.84,293.36,337.95,380.72,415.68,413.70,394.77,364.08, | 314.35,272.04,236.14,208.14,186.60,161.05,133.16,103.14,84.93, | 62.68,41.05,21., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0./) qirsza(12,:) = (/ | 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., | 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., | 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., | 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0., 0., 0., 0., 0., 0., 0./) ! WRITE(*,*)'qir',qirsza(1,:) ! !******************************************************** ! Double Res. Data !******************************************************** ! #elif (NLEV==136) ! ! qirsza(1,:) = (/ ! | 32.,32.,32.,32.,32.,32.,32.,32.,32.,32., ! | 32.88,33.95,35.13,40.63,46.07,48.99,51.9, ! | 56.34,61.7,67.06,74.18,81.68,89.18,97.62, ! | 106.62,116.24,126.24,136.24,149.75,164., ! | 178.25,192.5,232.92,278.92,319.09,358.02, ! | 397.72,468.34,538.97,609.59,755.95,918.45, ! | 1168.32,1436.82,1562.9,1658.61,1754.42, ! | 1854.06,1953.71,2065.43,2218.93,2371.31, ! | 2519.81,2625.75,2584.5,2543.25,2541.3, ! | 2547.73,2557.16,2687.16,2764.92,2771.79, ! | 2665.43,2534.93,2365.34,2187.43,1856.59, ! | 1340.69,908.76,734.39,557.98,389.47, ! | 258.63,171.79,122.01,81.17,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0./) qirsza(1,:) = (/ | 32.,32.,32.,32.,32.,32.,32.,32.,32.,32.,32., | 32.76,33.52,35.09,36.65,39.7,42.75,45.89, | 49.02,53.15,57.27,63.12,68.96,78.19,87.42, | 95.4,103.38,113.23,123.08,140.65,158.22, | 185.26,212.30,250.52,288.74,334.74,380.74, | 471.09,561.43,695.07,828.70,9.86.93,1145.16, | 1318.36,1491.55,1675.52,1859.48,2037.29, | 2215.09,2354.52,2493.95,2558.54,2623.12, | 2583.52,2543.92,2546.69,2549.46,2615.80, | 2682.13,2724.66,2767.19,2726.77,2686.35, | 2557.33,2428.31,2235.91,2043.50,1795.62, | 1547.74,1266.78,985.82,813.74,641.66,509.43, | 377.20,310.02,242.84,193.6,144.36,108.47, | 72.57,36.29, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! qirsza(2,:) = (/ ! | 28.,28.,28.,28.,28.,28.,28.,28.,28.,28., ! | 29.18,30.61,32.09,35.59,39.07,41.99,44.9, ! | 49.12,54.12,59.12,65.67,72.54,79.42,87.31, ! | 95.81,103.91,111.76,119.62,128.87,138.41, ! | 147.96,157.5,178.06,213.56,251.58,293.01, ! | 334.43,384.53,439.84,495.16,601.04,775.54, ! | 947.71,1116.71,1260.27,1369.34,1478.4, ! | 1592.4,1723.47,1854.54,2007.86,2191.36, ! | 2338.1,2434.98,2430.22,2403.79,2377.6, ! | 2361.17,2344.74,2347.42,2416.17,2488.2, ! | 2562.2,2538.18,2455.18,2326.97,2171.56, ! | 1963.34,1568.52,1013.52,743.41,556.75, ! | 448.62,281.58,167.87,121.2,83.46,53.61,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0./) qirsza(2,:) = (/ | 29.,29.,29.,29.,29.,29.,29.,29.,29.,29.,29., | 29.75,30.50,31.87,33.24,35.62,38.00,40.45, | 42.90,46.72,50.54,56.63,62.72,70.38,78.03, | 85.3,92.57,100.8,109.03,122.13,135.23,154.80, | 174.36,203.19,232.01,279.64,327.26,407.36, | 487.45,596.47,705.49,859.64,1013.79,1190.68, | 1367.56,1534.28,1700.99,1863.94,2026.89, | 2170.63,2242.50,2314.36,2378.53,2442.70, | 2420.27,2397.83,2375.13,2352.42,2365.09, | 2377.76,2428.83,2479.89,2526.32,2572.74, | 2501.03,2429.31,2267.76,2106.20,1857.83, | 1609.46,1334.05,1058.63,855.33,652.02,527.73, | 403.44,319.18,234.91,188.85,142.79,108.63,74.47, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! qirsza(3,:) = (/ ! | 21.,21.,21.,21.,21.,21.,21.,21.,21.,21., ! | 22.18,23.61,25.09,28.59,32.03,33.28,34.53, ! | 39.01,45.44,51.87,56.61,60.98,65.36,71.37, ! | 78.37,87.24,97.24,107.24,114.43,121.02, ! | 127.61,134.21,155.82,197.82,235.13,266.06, ! | 297.,334.86,396.64,458.43,565.92,735.42, ! | 933.98,1171.98,1341.75,1418.94,1496.12, ! | 1579.47,1684.11,1788.76,1906.7,2042.7,2150.28, ! | 2219.28,2244.6,2210.68,2176.75,2150.62,2129.19, ! | 2107.77,2158.09,2227.28,2308.78,2364.06, ! | 2328.64,2293.22,2165.,2017.,1588.47,1136.56, ! | 807.59,615.71,484.12,351.35,201.92,129.22, ! | 86.62,55.87,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) qirsza(3,:) = (/ | 27.,27.,27.,27.,27.,27.,27.,27.,27.,27.,27., | 27.25,27.49,28.18,28.86,30.57,32.27,34.86, | 37.45,41.62,45.79,52.19,58.59,65.84,73.09, | 79.33,85.57,92.3,99.03,108.72,118.41,133.24, | 148.06,177.81,207.56,251.42,295.28,361.08, | 426.88,518.76,610.63,748.52,886.41,1060.17, | 1233.92,1401.55,1569.18,1733.03,1896.87, | 2010.04,2123.21,2179.79,2236.37,2218.24, | 2200.10,2169.09,2138.08,2135.74,2133.40, | 2180.0,2226.60,2294.41,2362.22,2333.45, | 2304.68,2196.98,2089.27,1869.03,1648.78, | 1378.96,1109.13,898.20,687.26,556.61,425.96, | 335.8,245.64,194.39,143.13,109.31,75.49,37.75, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! qirsza(4,:) = (/ ! | 25.,25.,25.,25.,25.,25.,25.,25.,25.,25., ! | 25.88,26.95,28.1,32.1,36.03,37.28,38.53, ! | 42.12,47.12,52.12,59.44,67.25,75.06,81.43, ! | 86.93,94.46,103.21,111.31,117.14,122.98, ! | 128.81,134.64,153.91,191.41,223.21,247.27, ! | 271.33,304.18,367.39,430.61,520.04,645.04, ! | 807.59,1021.09,1177.15,1255.27,1333.4,1424.76, ! | 1561.9,1699.05,1817.67,1911.17,1989.82,2048.32, ! | 2064.88,2024.52,1984.16,1954.06,1930.13,1906.2, ! | 1920.96,1943.96,2017.03,2088.64,2118.22,2147.8, ! | 2053.74,1933.33,1699.59,1308.72,910.87,699.62, ! | 525.49,401.74,243.45,150.22,98.35,71.69,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0./) qirsza(4,:) = (/ | 25.,25.,25.,25.,25.,25.,25.,25.,25.,25.,25.,25., | 25.,25.43,25.85,27.57,29.28,31.60,33.91, | 37.71,41.51,47.52,53.53,60.77,68.00,73.95, | 79.89,85.75,91.61,100.19,108.77,122.74,136.70, | 166.55,196.40,227.58,258.75,309.95,361.14, | 437.95,514.76,631.51,748.26,909.97,1071.67, | 1232.76,1393.84,1555.55,1717.25,1824.17, | 1931.08,1987.59,2044.09,2037.74,2031.38, | 1991.88,1952.38,1928.94,1905.50,1924.18, | 1942.85,1992.33,2041.80,2080.79,2119.77, | 2079.74,2039.71,1875.64,1711.56,1464.62, | 1217.67,987.36,757.05,617.93,478.80,378.67, | 278.53,213.96,149.39,116.61,83.83,60.17,36.5, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0., | 0.,0.,0.,0.,0./) ! qirsza(5,:) = (/ ! | 18.,18.,18.,18.,18.,18.,18.,18.,18.,18., ! | 18.45,19.53,20.6,21.94,23.44,25.82,28.74, ! | 32.03,36.61,41.19,48.18,55.68,63.18,68.19, ! | 71.69,80.02,91.13,96.52,101.9,107.28,112.67, ! | 118.05,146.61,180.11,206.09,230.47,254.84, ! | 290.14,332.02,373.89,448.91,568.91,720.31, ! | 914.31,1078.88,1203.53,1328.17,1432.16, ! | 1523.72,1615.29,1706.19,1796.19,1851.61, ! | 1860.11,1848.48,1809.55,1770.63,1738.61, ! | 1710.75,1682.89,1723.34,1779.79,1841.29, ! | 1886.76,1876.76,1866.76,1782.57,1682.57, ! | 1498.77,1206.18,930.55,701.36,501.5,357.33, ! | 224.14,147.47,91.29,62.12,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) qirsza(5,:) = (/ | 22.,22.,22.,22.,22.,22.,22.,22.,22.,22.,22., | 22.24,22.48,23.0,23.51,24.54,25.57,28.30, | 31.02,34.82,38.61,43.5, | 48.39,55.61,62.83,67.91,72.98,78.89,84.73, | 93.38,102.02,113.33,124.63,150.76,176.89,203.75, | 230.61,273.66,316.71,382.91,449.10,548.48,647.86, | 796.85,945.83,1097.71,1249.58,1385.0,1520.42, | 1637.73,1755.04,1805.43,1855.82,1806.13,1756.44, | 1724.87,1693.29,1711.70,1730.10,1771.67,1813.23, | 1848.86,1884.49,1872.35,1860.20,1755.08,1649.96, | 1488.97,1327.98,1108.57,889.16,718.77,548.37, | 438.59,328.80,254.2,179.6,140.59,101.58,74.94,48.3, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0., | 0.,0.,0.,0.,0./) ! qirsza(6,:) = (/ ! | 21.,21.,21.,21.,21.,21.,21.,21.,21.,21.,21., ! | 21.,21.,23.19,26.69,29.04,30.71,33.31,39.14, ! | 44.98,51.67,58.54,65.42,71.12,76.12,82.29, ! | 89.1,93.14,97.18,101.21,105.25,109.29,131.84, ! | 158.34,181.29,203.48,225.66,255.18,289.11,323.04, ! | 406.62,500.79,634.34,821.34,977.64,1092.28, ! | 1206.93,1287.65,1347.97,1408.28,1486.49,1588.99, ! | 1648.85,1650.85,1633.21,1588.92,1544.64,1514.85, ! | 1493.77,1472.7,1483.43,1500.93,1549.34,1596.67, ! | 1617.51,1638.34,1586.36,1518.86,1397.79,1204.04, ! | 869.82,622.97,449.18,374.18,274.78,159.45,111.46, ! | 79.79,51.86,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) qirsza(6,:) = (/ | 20.,20.,20.,20.,20.,20.,20.,20.03,20.05,20.42, | 20.78,20.89,21.,21.26,21.51,22.54,23.57,26.31, | 29.04,32.69,36.33,40.83,45.33,51.72, | 58.10,63.83,69.55,74.97,80.39,87.66,94.93,104.27, | 113.60,133.96,154.31,180.67,207.02,240.46,273.90, | 324.14,374.38,461.02,547.66,687.7,827.74,970.25, | 1112.76,1239.21,1365.65,1460.50,1555.34,1602.33, | 1649.31,1645.95,1642.58,1594.96,1547.34,1518.91, | 1490.48,1486.95,1483.42,1501.98,1520.54,1555.22, | 1589.89,1610.65,1631.40,1584.21,1537.02,1420.47, | 1303.92,1125.01,946.09,768.74,591.39,476.24, | 361.08,282.81,204.53,160.28,116.02,87.73,59.44,29.72, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0., | 0.,0.,0.,0.,0./) ! qirsza(7,:) = (/ ! | 18.,18.,18.,18.,18.,18.,18.,18.,18.,18.,18.45, ! | 19.53,20.6,22.25,24.25,26.82,29.74,33.31,39.14, ! | 44.98,49.61,53.98,58.36,62.5,66.5,71.9,78.08, ! | 81.55,85.01,88.47,91.93,95.39,114.96,137.96, ! | 162.9,188.26,213.58,237.65,261.71,285.77,358.42, ! | 441.42,605.61,787.11,892.67,982.05,1071.42, ! | 1142.07,1201.44,1260.82,1334.03,1426.03,1480.49, ! | 1483.99,1468.42,1426.99,1385.57,1346.37,1308.51, ! | 1270.65,1266.89,1270.39,1309.12,1349.25,1368.17, ! | 1387.1,1379.97,1337.47,1291.29,1097.54,880.28, ! | 659.8,538.55,424.33,313.57,188.3,119.27,89.27,62.71, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) qirsza(7,:) = (/ | 15.,15.,15.,15.,15.,15.14,15.28,15.67,16.05,16.42, | 16.78,17.37,17.96,18.82,19.67,21.06,22.44,25.25, | 28.05,31.42,34.78,38.51,42.24,47.94,53.63,58.58, | 63.53,67.88,72.23,77.57,82.90,90.56,98.21,115.69, | 133.17,158.18,183.18,212.26,241.34,280.28,319.22, | 390.24,461.26,576.98,692.70,816.25,939.79,1061.14, | 1182.48,1276.65,1370.81,1425.54,1480.26,1482.84, | 1485.41,1446.96,1408.51,1365.73,1322.94,1294.2, | 1265.46,1268.11,1270.75,1297.96,1325.17,1348.97, | 1372.77,1366.82,1360.87,1286.90,1212.92,1062.98, | 913.04,768.71,624.38,515.31,406.23,322.29,238.35, | 178.75,119.14,94.63,70.11,49.36,28.60,14.3, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0., | 0.,0.,0.,0./) ! qirsza(8,:) = (/ ! | 11.,11.,11.,11.,11.,11.,11.,11.,11.,11.,12.24, ! | 15.15,18.09,21.59,25.07,27.99,30.9,34.6,38.77, ! | 42.77,46.21,49.65,53.04,54.54,56.06,58.56,61.06, ! | 63.84,67.59,71.34,75.09,82.21,100.96,119.71,135.66, ! | 151.02,166.58,190.65,214.71,238.77,286.69,339.69, ! | 479.65,638.15,727.05,801.11,875.17,949.63,1024.31, ! | 1099.,1168.31,1230.31,1259.21,1243.21,1215.82, ! | 1172.96,1130.1,1100.15,1077.96,1055.77,1031.86, ! | 1005.61,1017.07,1036.57,1051.48,1065.41,1078.39, ! | 1053.39,1028.39,959.69,862.72,686.47,539.39,431.89, ! | 351.18,263.28,161.9,109.46,80.29,51.12, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) qirsza(8,:) = (/ | 11.,11.,11.,11.,11.,11.,11.,11.,11.,11.,11.,12.20, | 13.39,15.12,16.84,18.57,20.30,23.18,26.05,29.41, | 32.77,36.44,40.11,43.15,46.18,49.46,52.74,55.84, | 58.94,62.94,66.94,73.1,79.26,96.18,113.10,129.66, | 146.22,168.28,190.33,222.39,254.45,298.12,341.79, | 470.93,600.06,709.35,818.63,916.74,1014.85,1093.8, | 1172.75,1219.31,1265.87,1254.29,1242.70,1210.51, | 1178.32,1138.21,1098.10,1071.69,1045.27,1029.35, | 1013.43,1015.95,1018.47,1033.53,1048.58,1062.71, | 1076.84,1050.56,1024.28,955.98,887.67,749.87, | 612.07,510.62,409.16,337.94,266.71,207.26, | 147.81,115.32,82.82,61.36,39.90,19.95, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0., | 0.,0.,0.,0./) ! qirsza(9,:) = (/ ! | 7.,7.,7.,7.,7.,7.,7.,7.,7.,7.,8.24,11.15,14.09, ! | 17.59,21.04,22.71,24.37,27.86,32.44,36.21, ! | 37.15,38.09,39.05,41.05,43.06,45.56,48.06,50.62, ! | 53.37,56.12,58.87,63.62,75.28,86.95,101.66,117.02, ! | 132.43,149.93,167.43,184.93,212.39,41.97,306.31, ! | 417.81,510.51,577.69,644.88,713.05,784.61,856.18, ! | 927.34,982.34,1035.66,1021.66,1007.23,975.35,943.48, ! | 911.6,877.67,843.29,808.92,787.26,773.26,764.88, ! | 759.88,761.12,766.12,771.12,767.88,762.88,756.82, ! | 708.07,632.27,519.77,441.89,371.39,304.91,236.06, ! | 156.51,103.53,79.16,57.51,36.45,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) qirsza(9,:) = (/ | 7.,7.,7.,7.,7.,7.,7.,7.03,7.05,7.41,7.77,9.32, | 10.86,12.86,14.85,16.58,18.31,20.34,22.37,24.78,27.19, | 30.12,33.04,35.32,37.60,39.48,41.36,43.66,45.95,49.37, | 52.79,56.95,61.11,71.45,81.78,95.71,109.64,127.21, | 144.77,166.05,187.33,214.79,242.24,313.95,385.66, | 472.96,560.26,643.75,727.23,811.5,895.77,943.01,990.24, | 1009.37,1028.50,1018.76,1009.01,973.62,938.23,900.78, | 863.32,828.49,793.65,783.80,773.94,768.45,762.96,762.3, | 761.64,766.32,770.99,764.75,758.50,721.75,684.99, | 592.86,500.72,422.51,344.30,281.30,218.29,171.39,124.48, | 96.14,67.80,51.44,35.07,17.54, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0., | 0.,0.,0./) ! qirsza(10,:) = (/ ! | 11.,11.,11.,11.,11.,11.,11.,11.,11.,11.,11.53, ! | 12.78,14.05,16.05,18.,18.,18.,20.6,24.77,28.,28., ! | 28.,29.24,32.15,35.,35.,35.,36.56,39.06,41.56, ! | 44.06,46.93,51.1,55.27,61.67,68.54,75.42,86.19, ! | 99.32,112.44,131.24,157.74,198.46,258.46,312.23, ! | 357.54,402.85,446.97,486.97,526.97,566.97,624.14, ! | 691.64,722.31,730.81,718.2,692.89,667.57,643.45, ! | 620.95,598.45,575.95,550.16,523.66,500.04,477.04, ! | 468.88,463.88,458.76,448.76,438.76,428.76,412.57, ! | 389.05,344.67,303.96,265.46,232.27,202.27,144.18, ! | 99.4,68.35,47.43,34.3,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) qirsza(10,:) = (/ | 6.,6.,6.,6.,6.,6.,6.,6.03,6.05,6.41,6.77,7.6, | 8.43,9.56,10.68,12.07,13.45,14.85,16.24,17.93, | 19.62,21.82,24.01,25.54,27.06,28.71,30.36,31.82, | 33.27,35.53,37.79,41.92,46.04,49.72,53.40,59.94, | 66.47,76.69,86.9,102.44,117.98,137.65,157.31, | 193.72,230.12,278.67,327.22,380.29,433.36,484.07, | 534.77,582.42,630.06,673.63,717.20,722.95,728.70, | 715.96,703.22675.52,,647.82,620.44,593.06,571.51, | 549.95,531.9,513.85,497.20,480.54,472.46,464.38, | 454.33,444.28,430.32,416.36,394.05,371.74, | 332.01,292.27,252.80,213.32,175.88,138.44,108.33, | 78.22,58.89,39.56,19.78, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,/) ! qirsza(11,:) = (/ ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.71,2.37,4.09,7.59, ! | 11.,11.,11.,11.78,13.03,14.32,15.75,17.18,18.,18., ! | 18.03,19.28,20.53,21.,21.,21.,21.,21.,26.77,33.77, ! | 36.03,37.28,38.53,40.95,44.08,47.2,54.66,67.99,81.9, ! | 118.9,155.43,173.25,191.06,208.87,230.03,251.91, ! | 273.78,300.47,330.05,358.89,385.14,411.39,415.23, ! | 414.29,413.35,404.61,391.17,377.74,356.92,326.08, ! | 295.36,268.86,242.73,231.8,220.86,209.92,200.64, ! | 191.71,182.66,168.66,154.57,137.07,121.06,107.06, ! | 96.03,89.03,78.64,61.95,45.29,36.54,25.38,10.07, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0./) qirsza(11,:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.96,1.92,3.13, | 4.34,5.03,5.72,6.98,8.23,9.65,11.07,12.54,14.00, | 15.53,17.05,18.12,19.18,19.81,20.43,21.23,22.02, | 23.57,25.12,28.84,32.56,34.76,36.95,39.08,41.20, | 44.84,48.48,59.62,70.76,91.42,112.08,137.76,163.44, | 183.28,203.11,225.49,247.84,270.62,293.36,315.66, | 337.95,359.34,380.72,398.2,415.68,414.69,413.70, | 404.24,394.77,379.43,364.08,339.22,314.35,293.2, | 272.04,254.09,236.14,222.14,208.14,197.37,186.60, | 173.83,161.05,147.12,133.16,118.15,103.14,94.04, | 84.93,73.81,62.68,51.87,41.05,31.03,21.,10.5, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0./) qirsza(12,:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0./) #else write(6,"('ERROR: unsupported NLEV = ',i6)") nlev #endif !************************************************************* ! Check for dres or res; if dres then interpolate ! !#if (NLEV==68) ! do j = 1,12 ! qirsza(j,:) = qirsza(j,:) ! enddo !#elif (NLEV==136) ! do j = 1,9 ! count = 1; ! qirsza(j,1) = qirsza(j,1) ! do i = 2,69 ! count = count+1; ! qirsza(j,count) = (qirsza(j,i-1)+qirsza(j,i))/2.; ! qirsza(j,count+1) = qirsza(j,i); ! count = count+1; ! enddo ! enddo !#else ! write(6,"('ERROR: unsupported NLEV = ',i6)") nlev !#endif !************************************************************* ! ! Initialize near-IR heating arrays (final beyond SZA = 92 degrees) ! -- qirgrid (nlonp4,nlat,nlevp1) qirgrid (:,:,:) = 0. ! ! Local vectors : DO IL=1,isza DCHI(IL)=SZAH(IL)*pi/180. ENDDO DO k = 1,nlevp1 szp(k) = zibot + (k-1)*dz ENDDO ! ! --------------------------------------------------------------------- ! Interpolation Loops ! --------------------------------------------------------------------- ! * LATITUDE LOOP (SOUTH TO NORTH) DO J=1,nlat GLAT= -pi*0.5 + (FLOAT(J-1)+0.5)*dphi COSLAT = COS(GLAT) SINLAT = SIN(GLAT) ! * PRESSURE LOOP ! * NEW VTGCM VERTICAL SCALE NEEDED! (ZBOT= -16.0 ZTOP = 7.0) DO K=1,nlevp1 ! * LONGITUDE LOOP (add endpoints later) DO I=1,nlonp4 ! chapman.F REPRESENTATION OF SZA: Any sundec angle slt=amod((float(i-3)*dlamda+pi)*12./pi,24.) zchi=acos(sin_sundec*sinlat+cos_sundec*coslat* | cos(pi*(slt-12.)/12.)) ZCHI=ABS(zchi) DO 8 IL=2,isza IF(ZCHI .GE. DCHI(IL)) GO TO 8 RAT=(ZCHI-DCHI(IL-1))/(DCHI(IL)-DCHI(IL-1)) ! --------------------------------------------------------------- ! TOTAL IR HEAT : K/DAY ! Convert to erg/gm/sec in dt.F where cp is available QIRGRID(I,J,K)=QIRSZA(IL-1,K)-RAT* | (QIRSZA(IL-1,K)-QIRSZA(IL,K)) ! --------------------------------------------------------------- GO TO 9 8 CONTINUE 9 CONTINUE ENDDO ENDDO ENDDO ! Where is allocation of new qirgrid 3-D array accomplished so that ! subdomain usage is avalable throughout code? ! Carry entire domain for qirgrid to dt.F end subroutine qirgrid_init !----------------------------------------------------------------------- ! subroutine alloc_qirgrid ! ! Allocate qirgrid for task subdomain: ! Called once per run from init_fields. ! ! use mpi_module,only: lon0,lon1,lat0,lat1 ! integer :: istat ! ! -- qirgrid (nlonp4,nlat,nlevp1) ! allocate(qirgrid(lon0:lon1,lat0:lat1,nlevp1),stat=istat) ! if (istat /= 0) write(6,"('>>> alloc_qirgrid: error allocating', ! | ' qirgrid: stat=',i3)") istat ! write(6,"('qirgrid_init sub alloc_qirgrid returning..')") ! ! end subroutine alloc_qirgrid ! ------------------------------------------------------------- end module qirgrid_init_module ! -------------------------------------------------------------