0001 function uth=amsub_tb2uth(tb18,viewangle,icewater)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 errId = ['atmlab:' mfilename 'badInput'];
0029 assert(nargin>=2,errId,'At least 2 argumnents required!')
0030 assert(isequal(size(tb18),size(viewangle)),errId,...
0031 '''tb18'' and ''viewangle'' must be the same size!')
0032 if nargin < 3
0033 icewater='w';
0034 end
0035
0036
0037
0038
0039
0040 aw=[16.474 16.472 16.476 16.479 16.479 16.483 16.488 16.490 16.496 ...
0041 16.501 16.503 16.514 16.527 16.540 16.552 16.561 16.572 16.585 ...
0042 16.599 16.612 16.628 16.649 16.665 16.681 16.709 16.740 16.766 ...
0043 16.789 16.806 16.842 16.874 16.907 16.932 16.972 17.003 17.036 ...
0044 17.063 17.105 17.156 17.201 17.252 17.308 17.375 17.439 17.501];
0045
0046 bw=[-0.0702169 -0.0702106 -0.0702271 -0.0702456 -0.0702506 -0.0702774 ...
0047 -0.0703084 -0.0703243 -0.0703634 -0.0703988 -0.0704219 -0.0704853 ...
0048 -0.0705569 -0.0706315 -0.0707031 -0.0707656 -0.0708374 -0.0709191 ...
0049 -0.0710062 -0.0710919 -0.0711956 -0.0713153 -0.0714210 -0.0715289 ...
0050 -0.0716877 -0.0718609 -0.0720197 -0.0721669 -0.0722922 -0.0724969 ...
0051 -0.0726909 -0.0728922 -0.0730668 -0.0733017 -0.0735100 -0.0737274 ...
0052 -0.0739261 -0.0741909 -0.0745019 -0.0747932 -0.0751160 -0.0754690 ...
0053 -0.0758780 -0.0762869 -0.0766990];
0054
0055
0056 ai=[18.341 18.339 18.342 18.345 18.344 18.348 18.353 18.354 18.359 ...
0057 18.363 18.362 18.371 18.381 18.391 18.401 18.407 18.416 18.426 ...
0058 18.436 18.448 18.462 18.478 18.490 18.503 18.525 18.552 18.575 ...
0059 18.592 18.605 18.637 18.664 18.695 18.715 18.750 18.778 18.805 ...
0060 18.823 18.859 18.901 18.940 18.983 19.031 19.088 19.142 19.195];
0061
0062 bi=[-0.0764737 -0.0764688 -0.0764834 -0.0764992 -0.0765034 -0.0765274 ...
0063 -0.0765550 -0.0765713 -0.0766039 -0.0766340 -0.0766454 -0.0766984 ...
0064 -0.0767557 -0.0768198 -0.0768812 -0.0769315 -0.0769950 -0.0770628 ...
0065 -0.0771351 -0.0772143 -0.0773052 -0.0774066 -0.0774960 -0.0775902 ...
0066 -0.0777226 -0.0778808 -0.0780199 -0.0781414 -0.0782481 -0.0784375 ...
0067 -0.0786102 -0.0787986 -0.0789501 -0.0791631 -0.0793542 -0.0795464 ...
0068 -0.0797062 -0.0799444 -0.0802151 -0.0804762 -0.0807632 -0.0810812 ...
0069 -0.0814447 -0.0818039 -0.0821763];
0070
0071
0072 ang=[0.5500 1.6500 2.7500 3.8500 4.9500 6.0500 7.1500 8.2500 9.3500 ...
0073 10.4500 11.5500 12.6500 13.7500 14.8500 15.9500 17.0500 18.1500 ...
0074 19.2500 20.3500 21.4500 22.5500 23.6500 24.7500 25.8500 26.9500 ...
0075 28.0500 29.1500 30.2500 31.3500 32.4500 33.5500 34.6500 35.7500 ...
0076 36.8500 37.9500 39.0500 40.1500 41.2500 42.3500 43.4500 44.5500 ...
0077 45.6500 46.7500 47.8500 48.9500];
0078
0079
0080 uth = zeros(size(tb18));
0081
0082 for k = 1:length(viewangle)
0083
0084
0085
0086 closest_angle=find(abs(ang-viewangle(k)) - min(abs(ang-viewangle(k))) < 1e-3);
0087 if strcmp(icewater,'i')
0088 uth(k) = 100.0 * exp( ai(closest_angle(1)) + bi(closest_angle(1)) * tb18(k) );
0089 end
0090 if strcmp(icewater,'w')
0091 uth(k) = 100.0 * exp(aw(closest_angle(1)) + bw(closest_angle(1)) * tb18(k) );
0092 end
0093 end
0094
0095 end