单经纬仪测风实验报告姓名:刘浩学号:1111700522013/5/8一、实验目的掌握GYR1电子式光学经纬仪的操作使用方法,学会冲灌、捕捉气球方法和准确读数的技术,编程处理观测数据二、实验原理按固定升速数值求取氢气的净举力值,冲罐并释放固定升速气球,用经纬仪观测气球,保证气球一直在观测中心,导出数据,用单经纬仪测风计算程序计算出高空中不同高度的风向风速三、 实验步骤1. 测风经纬仪安装、调试和使用a. 经纬仪应设置在开阔区域b. 拉开并牢固的架设三脚架,使其顶面尽量调整水平,使顶面与观测员的第二颗衣扣同高c. 从箱内取出经纬仪,用三脚架顶面中心螺钉把经纬仪固定d. 转动望远镜,使水准仪与三个水平调节螺钉中的任意两个平行调节这两个螺钉,使气泡居中央,然后将水准仪转过90度再调节另一个螺钉使气泡居中,这时望远镜转动到任意位置上,水准仪气泡偏离中心不得大于1格,否则重复上述步骤以至符合要求为止e. 指北针定方位:打开磁针制动螺钉,松开磁针;转动镜筒,使指北针指向正北,并转动方位调整螺旋,使指北针的尖端对转磁针盒两条刻线,拨动刻度盘,使游尺“0”与方位盘上“0”对齐使用指南针定方位,步骤同上,只是磁针的指向为正南。
定好方位后,严禁转动调零手轮f. 瞄准远方的任意目标物,调焦距使目标物最清晰g. 操作变倍手轮,熟练掌握主、辅望远镜的转换方法2. 灌球和观测a. 按天气条件确定气球型号、颜色b. 10号球采用100米/分升速c. 用当时的气温、气压查取标准密度升速值,用气球和附加物重量查取净举力冲灌气球d. 施放气球,跟踪观测每隔30秒读取仰角和方位角,在读数时应使气球正好聚中在十字线中间,并停止转动仰角和方位角手轮读取10组四、观测资料处理1、列出两次观测的仰角和方位角,并用观测数据计算出不同高度的风向、风速编号第一次第二次仰角方位角仰角方位角111.87240.0923.42230.20211.15243.6025.71235.08310.73245.1626.33238.88412.56245.4726.03242.29513.78244.2426.43246.72614.69242.7527.78252.53716.98243.1029.33259.32818.50245.2230.97265.95920.59249.0332.56272.931022.66254.5733.54279.91鉴于第一次观测为尝试,现使用第二次观测数据分析处理。
取南北方向为x轴(北为正),东西方向为y轴(东为正),气球水平面投影点的坐标分量为:xn=Lncosαn.yn=Lnsinαn.其中Ln=Hnctgβnαn为方位角,βn为仰角则相应层的风速:Vn=[(xn-xn-1)2+(yn-yn-1)2]1/2/t.其中t为相邻两次观测的时间间隔高度(m)风速(m/s)方位角253.85129.8753.11118.91253.23113.01753.62108.12253.3394.82752.8671.13252.9551.13752.8837.64253.0625.14753.3922.72、利用实测风速采用最小二乘法拟合出风速幂指数在近地层(250米以下),风速随高度的变化可用幂指数表示,其表达式为:V2=V1(Z2/Z1)p ……①其中,V1、V2分别为Z1、Z2高度处的风速(m/s),p为风廓线指数最小二乘法公式:对于平面上的直线:y=a+bx 如有一组数据(xi,yi)利用最小二乘法计算a,b时公式如下:a=y0-bx0b=∑(xi-x0)(yi-y0)/∑(xi-x0)2将①式取对数并编程(见附录)计算可得到:风廓线指数P=0.16878近地层风速表达式V=1.76272*Z^0.16878画出拟合曲线与观测数据差异对比图:3、误差分析。
实验误差来源可能有以下几个: (1)实验观测存在误差,观测时气球不断运动,很难保证每次观测都在视野正中央 (2)假设条件的理论误差,在计算气球升速时所用气压等条件可能与实际条件有出入,导致气球的升速并不是100m/s五、 实验总结通过此次单经纬仪测风实验,了解了经纬仪测风的原理,初步掌握了电子式光学经纬仪的操作使用方法,学会了编程处理数据的方法对近地层风速分布有了更深的认识附Fortran程序:program mainimplicit noneinteger,parameter::n=10, f=4055, m=2real(kind=1),parameter::pi=3.141592653real(kind=1)::c(n,m)real(kind=1)::a(n,m),vel(n,m)real(kind=1):: h(n),y=0,x=0,sum1=0,sum2=0,b=0integer::i=1,status=0c=0a=0vel=0h=0open(unit=f,file="305-10.txt")do while(.true.) read(f,"(12x,f5.2,6x,f7.2)",iostat=status) a(i,1),a(i,2) i=i+1 if(i>10) exitend doa=a*pi/180do i=1,10 h(i)=i*50end dodo i=1,10 c(i,1)=h(i)*cos(a(i,2))/tan(a(i,1)) c(i,2)=h(i)*sin(a(i,2))/tan(a(i,1))end dovel(1,1)=sqrt(c(1,1)*c(1,1)+c(1,2)*c(1,2))/30vel(1,2)=90+atan(c(1,1)/c(1,2))*180/pido i=2,10vel(i,1)=sqrt((c(i,1)-c(i-1,1))*(c(i,1)-c(i-1,1))+(c(i,2)-c(i-1,2))*(c(i,2)-c(i-1,2)))/30vel(i,2)=90+atan((c(i,1)-c(i-1,1))/(c(i,2)-c(i-1,2)))*180/piend dowrite(f,"(a2,8x,a1,17x,a1,12x,a1)")"n","x","y","h"do i=1,10write(f,"(I2,4x,f12.6,4x,f12.6,4x,f6.2)")i,coor(i,1),coor(i,2),h(i)end dowrite(f, "(2x,a1,10x,a1,14x,a5)") "h","v","angle"do i=1,10 write(f, "(f6.2,f12.6,8x,f9.5)") h(i)-25,vel(i,1),vel(i,2)end dodo i=1,5 y=log(vel(i,1))+y x=log(h(i)-25)+xend do y=y/4 x=x/4do i=1,5 sum1=(log(vel(i,1))-y)*(log(h(i)-25)-x)+sum1 sum2=(log(h(i)-25)-x)*(log(h(i)-25)-x)+sum2end dob=y-sum1/sum2*xb=exp(b)write(f,"( 'p=',f7.5)") sum1/sum2write(f,"('V=',f7.5,'*Z^',f7.5)") b,sum1/sum2close(f)end。