0001 function dist = sigma_gen(nlev,dl,du,kl,ku,zkl,zku,h,hmin)
0002
0003
0004
0005 if(h < hmin)
0006 z(1) = 0.0;
0007 dl2=0.001;
0008 du2=0.001;
0009 for k=1:nlev-1
0010 x1 = dl2+du2;
0011 x1 = x1*double(nlev-1-k)/double(nlev-1);
0012 x1 = x1 - dl2;
0013 x1 = tanh(x1);
0014 x2 = tanh(dl2);
0015 x3 = x2+tanh(du2);
0016 z(k+1) = (x1+x2)/x3-1.0;
0017 end;
0018 else;
0019
0020 dr=(h-du-dl)/h/double(nlev-ku-kl-1);
0021 z(1) = 0.0;
0022
0023 for k=2:ku+1
0024 z(k) = z(k-1)-zku(k-1)/h;
0025
0026 end;
0027
0028 for k=ku+2:nlev-kl
0029 z(k)=z(k-1)-dr;
0030
0031 end;
0032
0033 kk = 0;
0034 for k=nlev-kl+1:nlev
0035 kk=kk+1;
0036 z(k)=z(k-1)-zkl(kk)/h;
0037
0038 end;
0039 end;
0040 dist = z;