亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? co2386_371a.cpp

?? 處理激光雷達(dá)數(shù)據(jù)
?? CPP
字號(hào):
/***************************************************************************/
/* PROG for calculating co2  mixing ratio                           */
/*  1. N2 and co2 Raman  signals                                         */
/*  2. Input *.371 and *.386 MCS data                                      */
/*   using 98 extinction  mode                                                                      */
/* Edited on 2004-03-31                                                    */
/*                                                                         */
/***************************************************************************/

#include "READMCS_1.C"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <process.h>
#include <string.h>

void main()
{
  FILE *fpout,*fmol,*fact,*faer, *fr,*fraw,*fs,*fw;
   int i,j,k,p;

//  char fname[20];

 float ratio1[1000],ratio2[1000];

 for(i=0;i<1000;i++)
  {
    ratio1[i]=0;ratio2[i]=1;
   }


/********************************************************************/
/*  Read MCS file  "*.co2","*.386"
/*  Read channel geometrical correction MCS file, co2 channel and
/*       386-channel.  calculate factor ,
/*   And make correction
/********************************************************************/

 float p371[1000],p386[1000],pnb[1000],pna[1000], temp[1000];
  char str1[20],str2[20],str3[20],str4[20],str5[20],str6[20],filename[20];

 for(i=0;i<1000;i++)
  {
   p371[i]=0; p386[i]=0;pnb[i]=1;pna[i]=1; temp[i]=0; 
   }

 printf("Input date,such as: 040315\n");
 scanf("%s",str1);

 strcpy(str3,"");
 strcpy(str3,str1);
 strcat(str3,"sig371_386.dat");
 if( (fpout=fopen(str3,"w"))==NULL)
    {
     printf("\n cannot open %s\n",str3);
     exit(1);
    }

 printf("\n\nInput MCS file (w?.407) group number,such as: 2 or 3 or 4....\n");
 scanf("%d",&k);


 for(i=1;i<k+1;i++)
  {
     strcpy(filename,"");;
     itoa(i,str2,10);
     strcat(filename,str1);
     strcat(filename,"co200");
     strcat(filename,str2);
     strcat(filename,".371");
     printf("%s   ",filename);

     readmcs_1(filename,temp);
     fprintf(fpout,"%s\n",filename);
     for(j=0;j<1000;j++)
      p371[j]=p371[j]+temp[j];
   }

  /* for(j=0;j<1000;j++)
     printf("%d  %.3f\n",j,p407[j]);   */

  printf("\n\n Input MCS file (n?.386) number,such as: 2 or 3 or 4....\n");
  scanf("%d",&k);


  for(i=1;i<k+1;i++)
  {
     strcpy(filename,"");;
     itoa(i,str2,10);
     strcat(filename,str1);
     strcat(filename,"l00");
     strcat(filename,str2);
     strcat(filename,".386");
     printf("%s   ",filename);

     readmcs_1(filename,temp);
     fprintf(fpout,"\n%s",filename);
     for(j=0;j<1000;j++)
        p386[j]=p386[j]+temp[j];
   }

 /*for(j=0;j<1000;j++)
   fprintf(fpout,"\n%d  %.3f",j,p386[j]);         */

 printf("\n\n Channel geometrical factor correction?\n");
 printf("     Yes, choise  '1' \n");
 printf("      No, choise  '0' \n");
 scanf("%d",&p);

 if(p==1)
  {
   for(i=0;i<1000;i++)
    {
      pnb[i]=0;
      pna[i]=0;
     }
   printf("\n Input channel geometric MCS file (co2b11?.386) number\n");
   printf("       such as: 1 or 2 or 3... \n");
   scanf("%d",&k);

    fprintf(fpout,"\n");
   for(i=1;i<k+1;i++)
    {
     strcpy(filename,"");;
     itoa(i,str2,10);
     strcat(filename,str1);
     strcat(filename,"co2b1100");
     strcat(filename,str2);
     strcat(filename,".386");
     printf("%s   ",filename);

     readmcs_1(filename,temp);
     fprintf(fpout,"\n%s",filename);
     for(j=0;j<1000;j++)
        pna[j]=pna[j]+temp[j];
     }
   /*for(j=0;j<1000;j++)
       fprintf(fpout,"%d  %.3f\n",j,pna[j]);    */

   printf("\n Input channel geometric MCS file (co2c12?.386) number\n");
   printf("       such as: 1 or 2 or 3... \n");
   scanf("%d",&k);

   fprintf(fpout,"\n");
   for(i=1;i<k+1;i++)
    {
     strcpy(filename,"");;
      itoa(i,str2,10);
     strcat(filename,str1);
     strcat(filename,"co2c1200");
     strcat(filename,str2);
     strcat(filename,".386");
     printf("%s   ",filename);

     readmcs_1(filename,temp);
     fprintf(fpout,"\n%s",filename);
     for(j=0;j<1000;j++)
        pnb[j]=pnb[j]+temp[j];
     }
  /*for(j=0;j<1000;j++)
      fprintf(fpout,"%d  %.3f\n",j,pnb[j]);    */
  }

 fprintf(fpout,"\n\n");
 for(j=0;j<1000;j++)
   fprintf(fpout,"%d  %.4e    %.4e    %.4e     %.4e\n",j,p371[j],p386[j],pna[j],pnb[j]);
fclose(fpout);

/*********************************************************
**
**   subtract background and data smoothing
**
**********************************************************/
    int start_bg, end_bg, gate, nn, newnum;
  float ave371=0, ave386=0, avena=0, avenb=0, spa_res, pp1, pp2, layer;
  float p1[1000],p2[1000],high[1000];

 strcpy(str5,"");
 strcat(str5,str1);
 strcat(str5,"平滑原始信號(hào)out.dat");

 if( (fs=fopen(str5,"w"))==NULL)
    {
     printf("\n cannot open %s\n",str5);
     exit(1);
    }
fprintf(fs,"高度    二氧化碳拉曼光子數(shù)   氮?dú)饫庾訑?shù)   標(biāo)定二通道       三通道\n  ");
  printf("\n Input bakground range from channel ? to channel ?, such as: 700  900\n");
  scanf("%d%d",&start_bg,&end_bg);
  fflush(stdin);

  for(i=start_bg;i<end_bg;i++)
     {
      ave371=ave371+p371[i]/(end_bg-start_bg);
      ave386=ave386+p386[i]/(end_bg-start_bg);
      avena=avena+pna[i]/(end_bg-start_bg);
      avenb=avenb+pnb[i]/(end_bg-start_bg);
      }

  k=0;
  printf("\n Input start channel No(gate): ?  and spatial resolution(m),such as:30 \n");
  scanf("%d%f", &gate,&spa_res);      /* gate channel start channel */
  layer=spa_res/1000.;
  fflush(stdin);
  for(i=0;i<1000;i++)
     {
       if(i>=gate)
          {  //if(p407[i]<=0 || p386[i]<=0) break;
            high[k]=i*spa_res/1000.;
            p371[k]=p371[i]-ave371;
            p386[k]=p386[i]-ave386;
            pna[k]=pna[i]-avena;
            pnb[k]=pnb[i]-avenb;
          //fprintf(fs,"%6.3f    %6.3f    %6.3f     %f     %f\n",high[k],p371[k],p386[k],pna[k],pnb[k]);
            k++;
         }
     }
  newnum=k;

/* to smooth lidar signal */
 for(i=0;i<newnum;i++)
    {
      p1[i]=p371[i]; p2[i]=p386[i];
      if(high[i]<2.5 ) nn=0.15/layer/2; /* lower areas */
      else nn=0.3/layer/2.0;            /* higher areas */

      if(i>=nn && i<(newnum-nn))
        { pp1=0;  pp2=0;
	       for(j=-nn;j<=nn;j++)
    	      { pp1=pp1+p371[i+j]/(2*nn+1);
              pp2=pp2+p386[i+j]/(2*nn+1);
             }
         p1[i]=pp1;  p2[i]=pp2;
       }
     if( p1[i]<=0 || p2[i]<0) break;
    }
 newnum=i;

 strcpy(str6,"");
 strcpy(str6,str1);
 strcat(str6,"未被修正outco2.dat");
 if( (fw=fopen(str6,"w"))==NULL)
    {
     printf("\n cannot open %s\n",str3);
     exit(1);
    }

 for(i=0;i<newnum;i++)
   { 
	 if(high[i]<10)
    ratio1[i]=p1[i]/p2[i];
    p371[i]=p1[i];
    p386[i]=p2[i];
   fprintf(fw,"%.5f   %.5f\n", high[i],ratio1[i]);

    } 

fclose(fw);
/* to smooth channel sigal */

 for(i=0;i<1000;i++)
  {
   p1[i]=0;p2[i]=0;
   }

 for(i=0;i<newnum;i++)
    {
      p1[i]=pna[i]; p2[i]=pnb[i];
      if(high[i]<2.5 ) nn=0.15/layer/2; /* lower areas */
      else nn=0.3/layer/2.0;            /* higher areas */

      if(i>=nn && i<(newnum-nn))
        { pp1=0;  pp2=0;
	       for(j=-nn;j<=nn;j++)
    	      { pp1=pp1+pna[i+j]/(2*nn+1);
              pp2=pp2+pnb[i+j]/(2*nn+1);
             }
         p1[i]=pp1;  p2[i]=pp2;
       }
     if( p1[i]<=0 || p2[i]<0) break;
    }
 for(i=0;i<newnum;i++)
   if(high[i]<10)
     {
  fprintf(fs,"%6.3f    %6.3f    %6.3f     %f     %f\n",high[i],p371[i],p386[i],pna[i],pnb[i]);
      }
  fclose(fs);
 for(i=0;i<newnum;i++)
   if(high[i]<10)
     ratio2[i]=p1[i]/p2[i];

/***********************************************************************/

 float ave_cal=0, cal_high;

 printf("Input calibration range, such as: 2 or 3 or 4\n");
 scanf("%f",&cal_high);

 j=0;
 for(i=0;i<newnum;i++)
    if(high[i] > cal_high && high[i] < cal_high+1)
     {
       ave_cal=ave_cal+ratio2[i];
       j++  ;
      }
  ave_cal=ave_cal/j;
  printf("%f\n",ave_cal);

 strcpy(str3,"");
 strcat(str3,str1);
 strcat(str3,"fact_co2.dat");

 if( (fact=fopen(str3,"w"))==NULL)
    {
     printf("\n cannot open %s\n",str3);
     exit(1);
    }
 fprintf(fact,"%.4f\n",ave_cal);
 for(i=0;i<newnum;i++)
   if(high[i]<10)
     {
      ratio2[i]=ratio2[i]/ave_cal;
      fprintf(fact,"%.4f   %.4f\n", high[i],ratio2[i]);
      }
  fclose(fact);


 for(i=0;i<newnum;i++)
 {
	 if(high[i]<3)
 ratio1[i]=ratio1[i]/ratio2[i];
 }
 strcpy(str4,"");
 strcpy(str4,str1);
 strcat(str4,"co2raw_result.dat");
 if( (fraw=fopen(str4,"w"))==NULL)
    {
     printf("\n cannot open %s\n",str3);
     exit(1);
    }
    
 for(i=0;i<newnum;i++)
   if(high[i]<10)
     {
      
      fprintf(fraw,"%.4f   %.4f\n", high[i],ratio1[i]);
      }
  fclose(fraw);

//*************************************************************************
//
//   read atmospheric model  "atmod355.dat".
//
//************************************************************************

   int nm;
 float mh[500], molex[500], mdensity, mp, mt, molHmax;

 if( (fmol=fopen("atmod355.dat","r"))==NULL ) // atmos.model with N(z),T(z)
    { printf("\n Cannot open atmod355.dat \n");
      exit(1);
    }

 fscanf(fmol,"%d\n", &nm); /* to read model N2 and T(K) data, ME90TN2.dat */
 for(i=0;i<nm;i++)
  {                                                             //讀取氮?dú)庀?密度
   fscanf(fmol,"%f %e %f %f %f\n",&mh[i],&molex[i],&mdensity,&mp,&mt);
  }     /* mh[i]/km,  molex[i]/ km-1  */
 molHmax=mh[i-1];
 fclose(fmol);

/* interpolate molecular data at Lidar height (km) */
 float am[1000];
 
 
 for(i=0;i<newnum;i++)
   { for(j=0;j<nm-1;j++)

       { if(high[i]>=mh[j]&& high[i]<mh[j+1])
           am[i]=molex[j]+( molex[j+1]-molex[j])/(mh[j+1]-mh[j])*(high[i]-mh[j]);
          
           
        }
      if (high[i]>=molHmax) break;
     }
  newnum=i;

 /* read 1998 mean aerosol data     */

                                                           // 首次猜測(cè)氣溶膠文件名
  if( (faer=fopen("aer355_98.dat","r"))==NULL) /* Aerosol data file */
    { printf("\n Cannot open file aer355_98.dat \n");
      exit(1);                                                                   // !!!!
    }


  float ah[1000],aerex[1000],ap[1000];
   /* Aerosol extinction */

  i=0;
  while( (fscanf(faer,"%f %f\n",&ah[i],&aerex[i]))!=EOF)
      i++;     /* ah[i]/km,  aerex[i]/ km-1  */
 fclose(faer);

 /* interpolate aerosol data at Lidar height (km) */
 for(i=0;i<newnum;i++)
   { for(j=0;j<330;j++)
       if(high[i]>=ah[j]&& high[i]<ah[j+1])
           
	    ap[i]=aerex[j]+( aerex[j+1]-aerex[j])/(ah[j+1]-ah[j])*(high[i]-ah[j]);
           
      }

  /******************************************************************************/
/* to calculate molcular optical depth (0-z) */

   float taum[1000],scale[1000], tmp1, tmp2, taua[1000];

  for(i=0;i<1000;i++)
  {
	  taum[i]=0;
    scale[i]=0;
     taua[i]=0;
  }
  for(i=1;i<newnum;i++)
  {
    taum[i]=taum[i-1]+(am[i]+am[i-1])/2.0*(high[i]-high[i-1]);
    tmp1=taum[i]*(1-pow(354.7/386,4.0))-taum[i]*(1-pow(354.7/371,4.0));

    taua[i]=taua[i-1]+(ap[i]+ap[i-1])/2.0*(high[i]-high[i-1]);
    tmp2=taua[i]*(1-354.7/386)-taua[i]*(1-354.7/371);

    scale[i]=ratio1[i]*exp(-tmp1-tmp2);
  }

/*******************************************/
/* to calculte co2 vapor mixing ratio   */
/*******************************************/
  float cons;

  printf(" \n If calibrated by radiosonde, choise '1'.\n");
  printf(" else  with a constant, choise '2'.\n");
  scanf("%d",&k);

  if(k==1)
     printf("ok\n");
    else
     {
      printf("Input calibration constant:?\n");
      scanf("%f",&cons);
      }

  for(i=1;i<newnum;i++)
     {
      scale[i]=scale[i]/cons;
     }

  /*  smooth and output results (0.45-1.0 km)  */

 strcpy(filename,"");
 strcat(filename,str1);
 strcat(filename,"co2_Mix_R.dat");
 if( (fr=fopen(filename,"w"))==NULL)
    {
     printf("\n cannot open %s\n", filename);
     exit(1);
    }

 fprintf(fr,"Height/km   co2_vapor_mixing_ratio/g/kg\n");
 for(i=1; i<newnum; i++)
   { tmp1=scale[i];
     if(high[i]>=1.5)
      { if(high[i]>=1.5 && high[i]<=3.0) nn=0.150/layer/2;
        else if(high[i]>3.0 && high[i]<=6.0) nn=0.3/layer/2;
        else nn=0.3/layer/2;
        if(i>=nn&& i<newnum-nn)
      	 { tmp1=0;
	         for(j=-nn;j<=nn;j++)
      	      tmp1=tmp1+scale[i+j]/(2*nn+1);
           }
      }
    scale[i]=tmp1;

    if(high[i]<=13)
      fprintf(fr,"%4.3f   %6.5f\n",high[i],scale[i]);
  }

 fclose(fr);
 printf("\n ! co2 vapor mixing ratio: %s\n", filename);


 }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一二三| 不卡一区二区三区四区| 欧美日韩成人一区| 亚洲国产精品人人做人人爽| 91蝌蚪porny| 亚洲一区二区三区四区在线免费观看 | 亚洲国产美女搞黄色| 91女人视频在线观看| 亚洲精品欧美激情| 欧美一区二区三区系列电影| 精品在线免费视频| 中文字幕久久午夜不卡| 成人激情免费视频| 亚洲一卡二卡三卡四卡无卡久久 | 国产精品久久久久影院亚瑟| 91亚洲精品久久久蜜桃| 亚洲va欧美va天堂v国产综合| 欧美一区二区三区系列电影| 国产成人一区二区精品非洲| 亚洲人亚洲人成电影网站色| 欧美性高清videossexo| 久久精品72免费观看| 欧美国产激情一区二区三区蜜月| 91理论电影在线观看| 日本不卡的三区四区五区| 精品第一国产综合精品aⅴ| 国产福利精品一区| 亚洲精品国产成人久久av盗摄| 欧美视频你懂的| 国产揄拍国内精品对白| 亚洲黄网站在线观看| 日韩精品一区二区三区三区免费 | 久久久久97国产精华液好用吗| www.欧美色图| 另类欧美日韩国产在线| 国产精品毛片久久久久久久| 欧美久久高跟鞋激| 成人国产精品免费观看| 日本中文在线一区| 亚洲图片你懂的| 欧美成人精品二区三区99精品| av爱爱亚洲一区| 精品综合免费视频观看| 一区二区三区成人在线视频| 久久久久久亚洲综合影院红桃| 欧美日韩一级二级三级| 成人亚洲一区二区一| 视频一区二区国产| 亚洲欧美日韩国产手机在线 | 美女在线视频一区| 亚洲狠狠丁香婷婷综合久久久| 精品国产第一区二区三区观看体验| 99re8在线精品视频免费播放| 免费高清不卡av| 一区二区在线免费观看| 国产精品美女久久久久久久久| 欧美va亚洲va香蕉在线| 在线成人av影院| 在线视频国内自拍亚洲视频| 丁香五精品蜜臀久久久久99网站 | 18成人在线观看| 久久人人爽爽爽人久久久| 欧美精品一二三区| 欧洲色大大久久| 97精品久久久久中文字幕| 国产精品一区二区在线看| 美女视频一区二区| 日本乱码高清不卡字幕| 国产成人亚洲综合a∨猫咪| 青青草原综合久久大伊人精品优势| 亚洲激情网站免费观看| 亚洲裸体xxx| 亚洲欧美另类小说视频| 亚洲日穴在线视频| 亚洲老司机在线| 亚洲精品伦理在线| 亚洲人吸女人奶水| 亚洲免费av高清| 亚洲女人的天堂| 亚洲综合另类小说| 亚洲国产综合色| 婷婷久久综合九色综合伊人色| 五月婷婷另类国产| 日日欢夜夜爽一区| 久久99精品久久久久久国产越南 | 亚洲欧美在线视频观看| 中文字幕精品—区二区四季| 中文字幕亚洲精品在线观看| 亚洲欧美日本韩国| 亚洲二区在线视频| 美女诱惑一区二区| 国产夫妻精品视频| 成人精品小蝌蚪| 一本久久a久久精品亚洲| 欧美日韩你懂的| 日韩一级免费一区| 国产亚洲欧洲一区高清在线观看| 国产女人18毛片水真多成人如厕| 国产精品美女一区二区| 亚洲精品免费在线播放| 免费观看在线色综合| 国产毛片精品视频| 91麻豆国产福利精品| 欧美日韩激情一区二区三区| 91精品国产麻豆国产自产在线| 欧美一级专区免费大片| 日本一区二区三区久久久久久久久不| 亚洲国产精品成人久久综合一区| 亚洲欧美日韩电影| 老司机免费视频一区二区| 国产精品自拍网站| 一本色道久久综合精品竹菊| 666欧美在线视频| 中文av一区特黄| 午夜国产不卡在线观看视频| 国产一区二区三区久久久| 91色视频在线| 欧美成人在线直播| 亚洲精选免费视频| 久久99精品久久久久久久久久久久| 波多野结衣在线一区| 正在播放亚洲一区| 国产精品成人一区二区艾草 | 成人高清伦理免费影院在线观看| 色噜噜狠狠一区二区三区果冻| 欧美大胆一级视频| 亚洲黄色av一区| 国产福利一区二区三区视频| 欧美一区二区黄色| 亚洲欧洲精品一区二区三区| 丝袜亚洲另类丝袜在线| 99精品在线观看视频| 日韩精品一区二区三区老鸭窝| 亚洲日本成人在线观看| 国产一区二区三区不卡在线观看 | 国产福利一区在线| 欧美三级视频在线| 国产精品你懂的在线欣赏| 日韩国产在线一| 色综合一个色综合亚洲| 久久精品免费在线观看| 天堂午夜影视日韩欧美一区二区| 波多野结衣一区二区三区| 精品国产免费久久| 亚洲成年人影院| 91麻豆免费在线观看| 中文字幕av免费专区久久| 久久精品国产久精国产| 欧美午夜精品久久久久久孕妇| 中文字幕 久热精品 视频在线| 美国欧美日韩国产在线播放| 欧美午夜理伦三级在线观看| 亚洲欧美另类图片小说| jizz一区二区| 亚洲国产成人在线| 国产在线乱码一区二区三区| 日韩视频一区二区在线观看| 亚洲一区二区三区免费视频| 日本精品视频一区二区| 国产精品女同一区二区三区| 国产精品69毛片高清亚洲| 日韩欧美国产综合| 久久精品国产亚洲一区二区三区| 欧美美女直播网站| 日韩—二三区免费观看av| 欧美日韩在线直播| 午夜一区二区三区视频| 日本高清免费不卡视频| 夜夜精品视频一区二区| 91麻豆国产精品久久| 亚洲另类在线视频| 欧美三级日韩三级| 亚洲成人av在线电影| 51精品视频一区二区三区| 日韩国产欧美在线播放| 日韩写真欧美这视频| 美女视频免费一区| 久久久国际精品| 成人黄色综合网站| 亚洲欧美国产77777| 欧美综合久久久| 日韩精品视频网站| 日韩精品最新网址| 国产精品资源网站| 国产精品二三区| 在线区一区二视频| 日韩avvvv在线播放| 日韩女优视频免费观看| 精品一区二区三区免费观看| 久久久久久久久久久久久夜| 国产成人日日夜夜| 亚洲六月丁香色婷婷综合久久| 欧美性生活一区| 久久av老司机精品网站导航| www久久久久| 色综合久久久久| 喷白浆一区二区| 中文字幕av一区二区三区| 91国产丝袜在线播放| 日本不卡在线视频|