#include #include #include #define BAD -1.0e30 #define PI 3.1415 #define SW9 5.4 #define SW10 6.0 #define SW12 7.2 #define SW14 8.3 main() { FILE *fp,*fplog,*fpp,*fpin,*fpout,*fpE,*fppl; int i,is,iti,i0,i1,i2,isuf,iav,iave,ipl,j,j0,j1,j2,k,ki,kf,kk,o,ch,chi,chf,len,exptno; int ictd1,ictd2; int Ndata[340],Tdatalog[340],Tdata[340],Mdata,Nexpt,Npl,Nrain,Nlz,lzpl[10]; int drp,drpctd,drptot,drop[340],cast[340],ctddrop[340],ctdcast,dropi,dropf,Ndrp[50]; int idate[50],iTdata[50],iend[50],badctd[340][50]; int smooth,Di,choice,choici,choicf,plot,output,fit,wt; int dic,sgnx,sgny,lab,logaxis,test; int Sdata[3],SdataH[3]; int badv,badT[50]; int iE,istand,node,iCW,iCCW,mode,surfrefl,bottrefl,surfinten,bottintens; char str[72],str1[72],str2[72],str3[72],str4[72],expt[30],font[20],flag[6],Ndat[9],dir[50][50],ocean[50][50]; char ifile[120],ofile[120],pfile[120],sfile[120]; char ctddir[50][50],ctdpre[50][50],ctdsuf[50][50]; float yr,mo,da,hr,mn,lat0,lon0,latd,latm,lond,lonm; float lat[340],lon[340],zb[340],startda[340],bottomda[340],endda[340]; float dOcart,dO1,Orad,sinO,cosO,sinlat,coslat,latkm,lonkm,f; float z[2200],p[2200],u[2200],v[2200],Zz[38200],ZzT[38200],Zzcr,Zz1,Zz2; float varvzcr1,varvzcr2,uerr[2200],verr[2200],w[2200],werr[2200]; float zctd[38200],pctd[38200],T[38200],Tpot0[38200],Sin[38200],O2; float sig0[38200],sigp[38200],sig3[38200],siglocal[38200],sig_n[38200],N2[38200],N2T[38200]; float Sav[38200],sig0av[38200],sigpav[38200],sig3av[38200],signav[38200]; float N2av[38200],Nav[38200],N0,N1,NT1,Nave,NTave,N2ave,N2Tave,sgNave,sgNTave; float g,g2,z0,z3,rho0,alpha,a0,aT,aTT,aP,aPT,beta,b0,bT,S35,sig,dzdp,dpdz,dsigdz,C2; float u0,uz,uzz,v0,vz,vzz,dTdz,N00,Nz,Nzz,NT00,NTz,NTzz; float zmn,zmx,zwkbmn,zwkbmx,zwkb[2200],uwkb[2200],vwkb[2200],HKE[2200],HKEwkb,Odeg[2200],DO; float Dzin[50],Dz[3],delz[3],kz[1025],lz[1025]; float lz0,lz1,kz0,kz1,Rkz,lhc,ufit,vfit; float zi,zf,zf1,hi,hf,zmid,zctdi,zctdf,sigi,sigf,signi,signf; float uav,vav,Zav,Zzav,ZzTav; float varu,varv,varZ,varZz,varZzT; float varSu,varSv,varSZ,varSZz,varSZzT; float varSSu,varSSv,varSSZ; float varSSuz,varSSvz,varSSZz,varSSZzT; float wndo,frac,Rz,junk,sini,sinf; float zmin,zmax,dz,dsubz; float vmin,vmax,dv,dsubv,delv; float Emin,Emax,dE,dsubE,delE; float Omin,Omax,dO,dsubO,delO; float xmin,xmax,dx,dsubx,xmid,delx; float ymin,ymax,dy,dsuby,ymid,dely; float sigmin,sigmax,dsig,dsubsig,delsig; float xplmin,xplmax,delxpl,xplmid; float yplmin,yplmax,delypl,yplmid; float cplmin,cplmax; float xx,XX,XXo,XXc,yy,cc,xpl1,xpl2,ypl1,ypl2; double root,xax; double xpl[1600],ypl[1600],Wt[1600]; float gray,red,green,blue,rainbo[350][4],lw; g=9.8; badv=0; /* bad = -1e30; */ dzdp=0.9975; dpdz=1./dzdp; S35=35.0; b0=7.85567e-4; bT=-3.01985e-6; a0=6.65157e-2; aT=1.70907e-2; aTT=-2.03814e-4; aP=3.80374e-5; aPT=-9.33746e-7; N0=5.3e-3; Zzcr=2.; iE=istand=node=iCW=iCCW=mode=surfrefl=bottrefl=surfinten=bottintens=0; /**********************************************parameter file ***/ fpp=fopen("rotprof.p","r"); fscanf(fpp,"%s",expt); printf("%s \n",expt); fscanf(fpp,"%s %s",str,font); fscanf(fpp,"%s %d",str,&Sdata[0]); fscanf(fpp,"%s %d %d",str,&smooth,&Di); fscanf(fpp,"%s %d",str,&plot); fscanf(fpp,"%s %f %f",str,&lat0,&lon0); latkm=PI*6370/180.; sinlat=sin(PI*lat0/180.); coslat=cos(Orad); f=2*PI*sinlat/12./3600.; lonkm=latkm*coslat; fscanf(fpp,"%s %f %f \n",str,&varvzcr1,&varvzcr2); fscanf(fpp,"%s %f %f %f %f",str,&zmin,&zmax,&dz,&dsubz); fscanf(fpp,"%s %f %f %f %f",str,&vmin,&vmax,&dv,&dsubv); fscanf(fpp,"%s %f %f %f %f",str,&Emin,&Emax,&dE,&dsubE); fscanf(fpp,"%s %f %f %f %f",str,&Omin,&Omax,&dO,&dsubO); fscanf(fpp,"%s %d %d",str,&ki,&kf); fscanf(fpp,"%s %d",str,&Nexpt); fscanf(fpp,"%s",str); for (k=1;k<=Nexpt;k=k+1) fscanf(fpp,"%d %s %d %s %s %s %d %d %d %f %s", &j,dir[k],&Ndrp[k],ctddir[k],ctdpre[k],ctdsuf[k],&idate[k],&iTdata[k],&iend[k],&Dzin[k],ocean[k]); fclose(fpp); /**********************************************INPUT LOOP***/ for (k=ki;k<=ki;k=k+1) { Dz[1]=20.; if (k >= 24 && k <= 30) Dz[1]=10.; if (k == 33) Dz[1]=10.; if (k == 34) Dz[1]=5.; Dz[2]=Dzin[k]; /*********************************************input ctdlog***/ /* if (k == 11) { sprintf(ifile,"%s%s%s","/home/kunze/archive/ladcp/data/ctd/",dir[k],"/ctdlog"); printf("%s \n",ifile); fpin=fopen(ifile,"r"); for (drp=1;drp<=146;drp=drp+1) { fscanf(fpin,"%d %d %f %f %f %f %f %f %d", &ctddrop[drp],&cast[drp],&lat[drp],&lon[drp],&zb[drp], &startda[drp],&bottomda[drp],&endda[drp],&Tdatalog[drp]); } /* next drp * fclose(fpin); } /* end if (k * */ /*********************************************input log***/ sprintf(ifile,"%s%s%s","/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/bigllt.asc"); printf("%s %d %d \n",ifile,k,Ndrp[k]); fpin=fopen(ifile,"r"); for (drp=1;drp<=Ndrp[k];drp=drp+1) { fscanf(fpin,"%d %d %f %f %f %f %f %f %d", &drop[drp],&cast[drp],&lat[drp],&lon[drp],&zb[drp], &startda[drp],&bottomda[drp],&endda[drp],&Ndata[drp]); } /* next drp */ fclose(fpin); /************************************************************************output setup***/ /* sprintf(ofile,"%s%s%s","/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/rotlog"); fpout=fopen(ofile,"w"); */ sprintf(ofile,"%s%s%s","/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/Elog"); fpE=fopen(ofile,"w"); /*****************************************************input loop***/ for (drp=1;drp<=Ndrp[k];drp=drp+1) badctd[drp][k]=0; badctd[1][2]=1; badctd[2][2]=1; badctd[1][4]=1; badctd[2][4]=1; badctd[23][10]=1; drptot=0; for (drp=1;drp<=Ndrp[k];drp=drp+1) { if (k == 33 && drop[drp] <= 7) Dz[1]=8.2; if (k == 33 && drop[drp] >= 8) Dz[1]=10.; delz[1]=Sdata[1]*Dz[1]; /* printf(" %d %d %d %d \n",drp,drop[drp],Ndata[drp],Sdata[1]); */ if (Ndata[drp] > 25) { /*****************************************input LADCP file***/ if (k < 8) { if (cast[drp] < 10) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/ladcp00",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/ladcp0",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/ladcp",drop[drp],"_0",cast[drp],".dn"); } /* end if (cast */ if (cast[drp] > 9) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/ladcp00",drop[drp],"_",cast[drp],".dn"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/ladcp0",drop[drp],"_",cast[drp],".dn"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/ladcp",drop[drp],"_",cast[drp],".dn"); } /* end if (cast */ printf("%d %d %s %d \n",drp,drop[drp],ifile,Ndata[drp]); fpin=fopen(ifile,"r"); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %s %f %s %f %s %d", &z[i],&u[i],str,&v[i],str,&w[i],str,&j); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP data * * */ if (k == 8 || k == 9 || k == 10) { sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/k",drop[drp],".asc"); printf("%d %d %s %d %d \n",drp,drop[drp],ifile,Ndata[drp],Sdata[1]); fpin=fopen(ifile,"r"); fscanf(fpin,"%s %d %d %f %f %f %g %g", str,&yr,&drop[drp],&lat[drp],&lon[drp],&zb[drp],&startda[drp],&endda[drp]); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %f", &z[i],&u[i],&v[i]); z[i]=-z[i]; } /* next i */ fclose(fpin); while (u[Ndata[drp]] >= 9990. || v[Ndata[drp]] >= 9990.) Ndata[drp]=Ndata[drp]-1; i0=1; while (u[i0] >= 9990. || v[i0] >= 9990.) i0=i0+1; } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 11) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/cd139ladcp_00",drop[drp]); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/cd139ladcp_0",drop[drp]); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/cd139ladcp_",drop[drp]); printf("%d %d %s %d \n",drp,drop[drp],ifile,Ndata[drp]); fpin=fopen(ifile,"r"); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %f", &z[i],&u[i],&v[i]); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 12 || k == 13 || k == 14) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/k000",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/k00",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 99 && drop[drp] < 1000) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/k0",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 999) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/k",drop[drp],"_0",cast[drp],".dn"); printf("%d %d %s %d \n",drp,drop[drp],ifile,Ndata[drp]); fpin=fopen(ifile,"r"); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %s %f %s %f %s %d", &z[i],&u[i],str,&v[i],str,&w[i],str,&j); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 15) { if (drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/w0",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/w",drop[drp],"_0",cast[drp],".dn"); printf("%d %d %s %d \n",drp,drop[drp],ifile,Ndata[drp]); fpin=fopen(ifile,"r"); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %s %f %s %f %s %d", &z[i],&u[i],str,&v[i],str,&w[i],str,&j); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 16) { sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/w",drop[drp],"_0",cast[drp],".dn"); printf("%d %d %s %d \n",drp,drop[drp],ifile,Ndata[drp]); fpin=fopen(ifile,"r"); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %s %f %s %f %s %d", &z[i],&u[i],str,&v[i],str,&w[i],str,&j); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 17) { if (drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/v0",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/v",drop[drp],"_0",cast[drp],".dn"); printf("%d %d %s %d \n",drp,drop[drp],ifile,Ndata[drp]); fpin=fopen(ifile,"r"); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %s %f %s %f %s %d", &z[i],&u[i],str,&v[i],str,&w[i],str,&j); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k >= 18 && k <= 21) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/t00",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/t0",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/t",drop[drp],"_0",cast[drp],".dn"); printf("%d %d %s %d \n",drp,drop[drp],ifile,Ndata[drp]); fpin=fopen(ifile,"r"); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %s %f %s %f %s %d", &z[i],&u[i],str,&v[i],str,&w[i],str,&j); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 22) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/w00",drop[drp],"_01.dn"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/w0",drop[drp],"_01.dn"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/w",drop[drp],"_01.dn"); printf("%d %d %s %d \n",drp,drop[drp],ifile,Ndata[drp]); fpin=fopen(ifile,"r"); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %s %f %s %f %s %d", &z[i],&u[i],str,&v[i],str,&w[i],str,&j); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 23) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/d00",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/d0",drop[drp],"_0",cast[drp],".dn"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/d",drop[drp],"_0",cast[drp],".dn"); printf("%d %d %s %d \n",drp,drop[drp],ifile,Ndata[drp]); fpin=fopen(ifile,"r"); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %s %f %s %f %s %d", &z[i],&u[i],str,&v[i],str,&w[i],str,&j); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k >= 24 && k <= 26) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/r000",drop[drp],".lad"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/r00",drop[drp],".lad"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/r0",drop[drp],".lad"); fpin=fopen(ifile,"r"); while (strcmp(str,"Columns")) {fscanf(fpin,"%s",str);} fscanf(fpin,"%s",str); fscanf(fpin,"%s",str); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %f %f", &z[i],&u[i],&v[i],&verr[i]); z[i]=-z[i]; u[i]=100.*u[i]; v[i]=100.*v[i]; verr[i]=100.*verr[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k >= 27 && k <= 30) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/i00",drop[drp]); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/i0",drop[drp]); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/i",drop[drp]); fpin=fopen(ifile,"r"); printf("%d %d %d %s %d \n",k,drp,drop[drp],ifile,Ndata[drp]); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %f", &z[i],&u[i],&v[i]); z[i]=-z[i]; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 31) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/t00",drop[drp],".asc"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/t0",drop[drp],".asc"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/t",drop[drp],".asc"); fpin=fopen(ifile,"r"); printf("%d %d %d %s %d \n",k,drp,drop[drp],ifile,Ndata[drp]); for (i=1;i<=8;i=i+1) fscanf(fpin,"%s",str); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %f", &z[i],&u[i],&v[i]); z[i]=-z[i]; } /* next i */ while (u[Ndata[drp]] > 9000.) Ndata[drp]=Ndata[drp]-1; for (i=1;i<=Ndata[drp];i=i+1) { if (u[i] > 9000.) u[i]=v[i]=0.0; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 32) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/m00",drop[drp],"_0",cast[drp],".asc"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/m0",drop[drp],"_0",cast[drp],".asc"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/m",drop[drp],"_0",cast[drp],".asc"); fpin=fopen(ifile,"r"); printf("%d %d %d %s %d \n",k,drp,drop[drp],ifile,Ndata[drp]); for (i=1;i<=8;i=i+1) fscanf(fpin,"%s",str); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %f", &z[i],&u[i],&v[i]); z[i]=-z[i]; } /* next i */ while (u[Ndata[drp]] > 9000.) Ndata[drp]=Ndata[drp]-1; for (i=1;i<=Ndata[drp];i=i+1) { if (u[i] > 9000.) u[i]=v[i]=0.0; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 33) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/00",drop[drp],"0",cast[drp],".lad"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/0",drop[drp],"0",cast[drp],".lad"); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d%s", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/",drop[drp],"0",cast[drp],".lad"); fpin=fopen(ifile,"r"); fscanf(fpin,"%d",&Ndata[drp]); printf("%d %d %d %s %d %s \n",k,drp,drop[drp],ifile,Ndata[drp],str); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %f %f", &z[i],&u[i],&v[i],&verr[i]); if (drop[drp] >= 3 && drop[drp] <= 6 && i < 10) printf(" %s %4.1f %3.1f %3.1f %3.1f \n", "***",z[i],u[i],v[i],verr[i]); } /* next i */ while (u[Ndata[drp]] > 9000.) Ndata[drp]=Ndata[drp]-1; for (i=1;i<=Ndata[drp];i=i+1) { if (u[i] > 9000.) u[i]=v[i]=0.0; } /* next i */ fclose(fpin); } /* end if (k */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input LADCP file * * */ if (k == 34) { if (drop[drp] < 10) sprintf(ifile,"%s%s%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/ladcp00",drop[drp]); if (drop[drp] > 9 && drop[drp] < 100) sprintf(ifile,"%s%s%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/ladcp0",drop[drp]); if (drop[drp] > 99) sprintf(ifile,"%s%s%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/ladcp",drop[drp]); fpin=fopen(ifile,"r"); fscanf(fpin,"%d %d",&i,&Ndata[drp]); printf("%d %d %d %s %d %s \n",k,drp,drop[drp],ifile,Ndata[drp],str); for (i=1;i<=Ndata[drp];i=i+1) { fscanf(fpin,"%f %f %f %f", &z[i],&u[i],&v[i],&uav); z[i]=-z[i]*dzdp; if (drop[drp] >= 3 && drop[drp] <= 6 && i < 10) printf(" %s %4.1f %3.1f %3.1f %3.1f \n", "***",z[i],u[i],v[i],verr[i]); } /* next i */ while (u[Ndata[drp]] > 9000.) Ndata[drp]=Ndata[drp]-1; for (i=1;i<=Ndata[drp];i=i+1) { if (u[i] > 9000.) u[i]=v[i]=0.0; } /* next i */ fclose(fpin); } /* end if (k */ /*******************************************************************************end LADCP INPUT***/ /*********************************************************************************************/ /*********************************************************************************************/ /*********************************************************************************************/ /*************************************************CTD N file***/ ctddrop[drp]=drop[drp]; ctdcast=cast[drp]; if (k == 2 && drop[drp] == 8) ctddrop[drp]=10; if (k == 2 && drop[drp] == 8) ctdcast=3; if (k == 2 && drop[drp] == 9) ctddrop[drp]=10; if (k == 2 && drop[drp] == 9) ctdcast=3; if (k == 4 && drop[drp] == 2) ctddrop[drp]=14; if (k == 4 && drop[drp] == 5) ctddrop[drp]=6; if (k == 5 && drop[drp] == 33) ctddrop[drp]=6; if (k == 5 && drop[drp] == 156) ctddrop[drp]=155; if (k == 5 && drop[drp] == 157) ctddrop[drp]=155; if (k == 5 && drop[drp] == 158) ctddrop[drp]=155; if (k == 5 && drop[drp] == 172) ctddrop[drp]=171; if (k == 5 && drop[drp] == 173) ctddrop[drp]=171; if (k == 5 && drop[drp] == 174) ctddrop[drp]=171; if (k == 6 && drop[drp] == 17) ctddrop[drp]=16; if (k == 6 && drop[drp] == 19) ctddrop[drp]=21; if (k == 6 && drop[drp] == 20) ctddrop[drp]=21; if (k == 6 && drop[drp] == 22) ctddrop[drp]=21; if (k == 6 && drop[drp] == 25) ctddrop[drp]=24; if (k == 6 && drop[drp] == 26) ctddrop[drp]=24; if (k == 6 && drop[drp] == 27) ctddrop[drp]=24; if (k == 6 && drop[drp] == 28) ctddrop[drp]=24; if (k == 6 && drop[drp] == 118) ctddrop[drp]=119; if (k == 7 && drop[drp] == 36) ctddrop[drp]=35; if (k == 7 && drop[drp] == 152) ctddrop[drp]=151; if (k == 10 && drop[drp] == 882) ctddrop[drp]=881; if (ctdcast < 10) { if (ctddrop[drp] < 10) sprintf(ifile,"%s%s%s%d%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/N00",ctddrop[drp],"_0",ctdcast); if (ctddrop[drp] > 9 && ctddrop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/N0",ctddrop[drp],"_0",ctdcast); if (ctddrop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/N",ctddrop[drp],"_0",ctdcast); } /* end if (ctdcast */ if (ctdcast > 9) { if (ctddrop[drp] < 10) sprintf(ifile,"%s%s%s%d%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/N00",ctddrop[drp],"_",ctdcast); if (ctddrop[drp] > 9 && ctddrop[drp] < 100) sprintf(ifile,"%s%s%s%d%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/N0",ctddrop[drp],"_",ctdcast); if (ctddrop[drp] > 99) sprintf(ifile,"%s%s%s%d%s%d", "/data/kunze/oldarchive/archive/ladcp/data/ladcp/",dir[k],"/N",ctddrop[drp],"_",ctdcast); } /* end if (ctdcast */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * input CTD file * * */ printf("%s %d \n",ifile,Tdata[drp]); fpin=fopen(ifile,"r"); fscanf(fpin,"%d",&Tdata[drp]); for (i=1;i<=Tdata[drp];i=i+1) { fscanf(fpin,"%f %f %f %f %f %f %f %f", &pctd[i],&T[i],&Sin[i],&Tpot0[i], &sigp[i],&sig0[i],&sig3[i],&N2[i]); zctd[i]=-dzdp*pctd[i]; /* if (i < 15) printf("%d %f %f %f %f %f %f %f %f \n", -zctd[i],T[i],Sin[i],Tpot0[i], sigp[i],sig0[i],sig3[i],N2[i]); */ } /* next i */ fclose(fpin); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * neutral density * * */ pctd[0]=0.; sig_n[0]=sig0[1]; for (i=1;i<=Tdata[drp];i=i+1) sig_n[i]=sig_n[i-1]+N2[i]*rho0*(pctd[i]-pctd[i-1])/g; /*******************************************smoothing N^2***/ if (smooth == 1) { for (i=1;i<=Tdata[drp];i=i+1) { i1=i-Di; if (i1 < 1) i1=1; i2=i+Di; if (i2 > Tdata[drp]) i2=Tdata[drp]; iav=Sav[i]=sigpav[i]=sig0av[i]=sig3av[i]=signav[i]=0; for (j=i1;j<=i2;j=j+1) { iav=iav+1; Sav[i]=Sav[i]+Sin[j]; sigpav[i]=sigpav[i]+sigp[j]; sig0av[i]=sig0av[i]+sig0[j]; sig3av[i]=sig3av[i]+sig3[j]; signav[i]=signav[i]+sig_n[j]; } /* next j */ if (iav >= 1) { Sav[i]=Sav[i]/iav; sigpav[i]=sigpav[i]/iav; sig0av[i]=sig0av[i]/iav; sig3av[i]=sig3av[i]/iav; signav[i]=signav[i]/iav; } else { Sav[i]=Sin[i]; sigpav[i]=sigp[i]; sig0av[i]=sig0[i]; sig3av[i]=sig3[i]; signav[i]=sig_n[i]; } /* end if (iav */ } /* next i */ for (i=1;i<=Tdata[drp];i=i+1) { Sin[i]=Sav[i]; sigp[i]=sigpav[i]; sig0[i]=sig0av[i]; sig3[i]=sig3av[i]; sig_n[i]=signav[i]; } /* next i */ /**************************************************many passes***/ for (kk=1;kk<=3;kk=kk+1) { Di=10; for (i=1;i<=Tdata[drp];i=i+1) { i1=i-Di; if (i1 < 1) i1=1; i2=i+Di; if (i2 > Tdata[drp]) i2=Tdata[drp]; iav=N2av[i]=0; for (j=i1;j<=i2;j=j+1) { if (pctd[j] > 100. || kk == 1) { iav=iav+1; N2av[i]=N2av[i]+N2[j]; } /* end if (p */ } /* next j */ if (iav >= 1) { N2av[i]=N2av[i]/iav; } else { N2av[i]=N2[i]; } /* end if (iav */ } /* next i */ for (i=1;i<=Tdata[drp];i=i+1) N2[i]=N2av[i]; } /* next kk */ for (i=1;i<=Tdata[drp];i=i+1) { N2[i]=N2av[i]; if (N2av[i] >= 0.) Nav[i]=sqrt(N2[i]); if (N2av[i] < 0.) Nav[i]=-sqrt(-N2[i]); } /* next i */ } /* end if (smooth */ /*************************************************************end CTD INPUT***/ /****************************************************************/ /****************************************************************/ /*************************************************************depth-average***/ iav=uav=vav=0.; for (i=1;i<=Ndata[drp];i=i+1) { if (u[i] > -150. && u[i] < 150. && v[i] > -150. && v[i] < 150.) { iav=iav+1; uav=uav+u[i]; vav=vav+v[i]; } /* end if (u */ } /* next i */ uav=uav/iav; vav=vav/iav; printf("%s %d %f %f \n","av:",iav,uav,vav); for (i=1;i<=Ndata[drp];i=i+1) { if (u[i] > -150. && u[i] < 150. && v[i] > -150. && v[i] < 150.) { u[i]=u[i]-uav; v[i]=v[i]-vav; } /* end if (u */ } /* next i */ /*************************************************************WKB-normalize***/ zwkb[0]=0.; kk=0; for (i=1;i<=Ndata[drp];i=i+1) { kk=kk+1; j=1; while (zctd[j] > z[i] && j < Tdata[drp]) j=j+1; if (N2[j] <= 0.) N2[j]=0.; N1=sqrt(N2[j]); zwkb[i]=zwkb[i-1]-Dz[1]*N1/N0; uwkb[i]=vwkb[i]=0.; if (N1 > 0.) uwkb[i]=u[i]*sqrt(N0/N1); if (N1 > 0.) vwkb[i]=v[i]*sqrt(N0/N1); if (u[i] < -150. || u[i] > 150.) uwkb[i]=2.*BAD; if (v[i] < -150. || v[i] > 150.) vwkb[i]=2.*BAD; /* if (drop[drp] == 409 && kk == 1) printf(" %d%s%d %4.0f %4.0f %3.2g %4.3f %4.3f \n",i,"/", Ndata[drp],-z[i],-zwkb[i],N1,uwkb[i],vwkb[i]); */ if (kk == 5) kk=0; } /* next i */ zwkbmn=zmn=100000.; zwkbmx=zmx=-zmn; iav=HKEwkb=0.; for (i=1;i<=Ndata[drp];i=i+1) { if (z[i] < zmn) zmn=z[i]; if (z[i] > zmx) zmx=z[i]; if (zwkb[i] < zwkbmn) zwkbmn=zwkb[i]; if (zwkb[i] > zwkbmx) zwkbmx=zwkb[i]; HKE[i]=(uwkb[i]*uwkb[i]+vwkb[i]*vwkb[i])/2.; Odeg[i]=180*atan2(vwkb[i],uwkb[i])/PI; while (Odeg[i] < -180.) Odeg[i]=Odeg[i]+360.; while (Odeg[i] > 180.) Odeg[i]=Odeg[i]-360.; if (uwkb[i] > BAD && vwkb[i] > BAD) { iav=iav+1; HKEwkb=HKEwkb+HKE[i]; } /* end if (uwkb */ } /* next i */ if (iav > 2) {HKEwkb=HKEwkb/iav;} else {HKEwkb=0.;} /***********************************************************color***/ sprintf(ifile,"%s","/home/kunze/plotlib/color/blackblueyellowred.dat"); fp=fopen(ifile,"r"); fscanf(fp,"%d",&Nrain); for (o=1;o<=Nrain;o=o+1) fscanf(fp,"%f %f %f",&rainbo[o][1],&rainbo[o][2],&rainbo[o][3]); fclose(fp); /****************************************************************/ /********************************************************************************/ /********************************************************************************/ /**********************************************************PLOT WKB profiles***/ if (zwkbmn < -500.) { drptot=drptot+1; /* fprintf(fpout,"%d %d %f %f %4.0f %4.0f %4.0f %d %d %d %d %d %d %d %d %d %d \n", drop[drp],cast[drp],lat[drp],lon[drp],-zmn,zb[drp],-zwkbmn, iE,istand,node,iCW,iCCW,mode,surfrefl,bottrefl,surfinten,bottintens); */ fprintf(fpE,"%d %d %f %f %4.0f %4.0f %4.0f %3.2g \n", drop[drp],cast[drp],lat[drp],lon[drp],-zmn,zb[drp],-zwkbmn, HKEwkb); ymin=zmin; ymax=zmax; dy=dz; dsuby=dsubz; dely=ymax-ymin; ymid=(ymin+ymax)/2; yplmax=700.; yplmin=yplmax-200.; delypl=yplmax-yplmin; yplmid=(yplmin+yplmax)/2; chi=1; chf=3; for (ch=chi;ch<=chf;ch=ch+1) { /***************************************set scales****/ xmin=vmin; xmax=vmax; dx=dv; dsubx=dsubv; if (ch == 2) { xmin=Omin; xmax=Omax; dx=dO; dsubx=dsubO; } /* end if (ch */ if (ch == 3) { xmin=ymin=vmin; xmax=ymax=vmax; dx=dy=dv; dsubx=dsuby=dsubv; } /* end if (ch */ delx=xmax-xmin; xmid=(xmin+xmax)/2; dely=ymax-ymin; ymid=(ymin+ymax)/2; xplmin=100.+200.*(ch-1); xplmax=xplmin+190.; if (ch == 3) { xplmin=100.; xplmax=xplmin+190.; yplmax=450.; yplmin=yplmax-190.; } /* end if (ch */ delxpl=xplmax-xplmin; xplmid=(xplmin+xplmax)/2; delypl=yplmax-yplmin; yplmid=(yplmin+yplmax)/2; /*************************************************make postscript file***/ dic=0; gray=0.0; if (ch == 1) { if (drop[drp] < 10) sprintf(sfile,"%s%d%s%d%s","rotprof",ki,"-000",drop[drp],".ps"); if (drop[drp] > 9 && drop[drp] < 100) sprintf(sfile,"%s%d%s%d%s","rotprof",ki,"-00",drop[drp],".ps"); if (drop[drp] > 99 && drop[drp] < 1000) sprintf(sfile,"%s%d%s%d%s","rotprof",ki,"-0",drop[drp],".ps"); if (drop[drp] > 999) sprintf(sfile,"%s%d%s%d%s","rotprof",ki,"-",drop[drp],".ps"); fppl=fopen(sfile,"w"); dic=1; printf("%s %d \n",sfile,drp); } /* end if (ipl */ frame(fppl,&dic,&gray,&xplmin,&xplmax,&yplmin,&yplmax); fprintf(fppl,"%s%s%s \n","/",font," findfont 12 scalefont setfont"); fprintf(fppl,"%5.1f %5.1f %s \n",xplmin+SW12,yplmax+25.,"m"); if (ch == chi && lat[drp] > 0. && lon[drp] > 0.) fprintf(fppl,"%s%s %d %d %2.0f%s %3.0f%s \n","(",dir[k],drop[drp],drp,lat[drp],"N",lon[drp],"E) show"); if (ch == chi && lat[drp] > 0. && lon[drp] < 0.) fprintf(fppl,"%s%s %d %d %2.0f%s %3.0f%s \n","(",dir[k],drop[drp],drp,lat[drp],"N",-lon[drp],"W) show"); if (ch == chi && lat[drp] < 0. && lon[drp] > 0.) fprintf(fppl,"%s%s %d %d %2.0f%s %3.0f%s \n","(",dir[k],drop[drp],drp,-lat[drp],"S",lon[drp],"E) show"); if (ch == chi && lat[drp] < 0. && lon[drp] < 0.) fprintf(fppl,"%s%s %d %d %2.0f%s %3.0f%s \n","(",dir[k],drop[drp],drp,-lat[drp],"S",-lon[drp],"W) show"); fprintf(fppl,"%5.1f %5.1f %s \n",xplmin+SW12,yplmax+10.,"m"); if (ch == chi) fprintf(fppl,"%s%4.0f%s %4.0f%s %4.0f%s \n","(",-zmn," m",zb[drp]," m",-zwkbmn," sm) show"); /******************************************************colorbar***/ if (ch == 3) { cplmin=xplmax+10.; cplmax=cplmin+20.; dic=0.; frame(fppl,&dic,&gray,&cplmin,&cplmax,&yplmin,&yplmax); Npl=2; lw=3.5; gray=0.; fprintf(fppl,"%5.1f %5.1f %s \n",cplmax+2.*SW12,yplmid-5.,"m"); fprintf(fppl,"%s \n","(z') show"); fprintf(fppl,"%5.1f %5.1f %s \n",cplmax+SW12/2.,yplmin+5.,"m"); fprintf(fppl,"%s%4.0f%s \n","(",-zwkbmn," sm) show"); fprintf(fppl,"%5.1f %5.1f %s \n",cplmax+SW12/2.,yplmax-10.,"m"); fprintf(fppl,"%s%2.0f%s \n","(",-zwkbmx," sm) show"); gray=-1.; red=green=blue=0.; xpl[1]=cplmin; xpl[2]=cplmax; for (o=1;o<=Nrain;o=o+1) { ypl[1]=ypl[2]=yplmin+(yplmax-yplmin)*(o-1)/(Nrain-1); red=rainbo[o][1]; green=rainbo[o][2]; blue=rainbo[o][3]; solid(fppl,&Npl,&lw,&gray,&red,&green,&blue,&cplmin,&cplmax,&yplmin,&yplmax,xpl,ypl); } /* next o */ gray=0.; frame(fppl,&dic,&gray,&cplmin,&cplmax,&yplmin,&yplmax); } /* end if (ch */ /************************************************************axes***/ dic=0.; frame(fppl,&dic,&gray,&xplmin,&xplmax,&yplmin,&yplmax); fprintf(fppl,"%s%s%s \n","/",font," findfont 9 scalefont setfont"); sgnx=sgny=1; if (ch < 3) sgny=-1; gray=0.; red=green=blue=0.; if (ch == 2) gray=-1.; if (ch == 2) red=1.; if (ch == 2) green=blue=0.6; logaxis=0; lab=-1; if (ch == 2) lab=0; if (ch == 1) upperaxis(fppl,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmax,&xmin,&xmax,&dx,&dsubx,&sgnx,font,&lab,&logaxis); if (ch == 2 || ch == 3) upperaxis(fppl,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmax,&Emin,&Emax,&dE,&dsubE,&sgnx,font,&lab,&logaxis); fprintf(fppl,"%5.1f %5.1f %s \n",xplmid-30.,yplmax+20.,"m"); if (ch == 2) fprintf(fppl,"%s \n","(HKE (cm /s )) show"); fprintf(fppl,"%5.1f %5.1f %s \n",xplmid-30.,yplmax+24.,"m"); if (ch == 2) fprintf(fppl,"%s \n","( 2 2) show"); gray=0.; red=green=blue=0.; lab=0; loweraxis(fppl,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&xmin,&xmax,&dx,&dsubx,&sgnx,font,&lab,&logaxis); if (ch == 2) fprintf(fppl,"%s \n","/Symbol findfont 12 scalefont setfont"); fprintf(fppl,"%5.1f %5.1f %s \n",xplmid-30.,yplmin-30.,"m"); if (ch == 1) fprintf(fppl,"%s \n","(u', v' (cm/s)) show"); if (ch == 2) fprintf(fppl,"%s \n","( q) show"); if (ch == 3) fprintf(fppl,"%s \n","( u' (cm/s)) show"); fprintf(fppl,"%s%s%s \n","/",font," findfont 9 scalefont setfont"); if (ch == 2) lab=-1; leftaxis(fppl,&yplmin,&yplmax,&xplmin,&ymin,&ymax,&dy,&dsuby,&sgny,font,&lab,&logaxis); fprintf(fppl,"%5.1f %5.1f %s \n",xplmin-7.*SW12,yplmid-3.,"m"); if (ch == 1) fprintf(fppl,"%s \n","(z' (sm)) show"); if (ch == 3) fprintf(fppl,"%s \n","(v' (cm/s)) show"); lab=-1; rightaxis(fppl,&yplmin,&yplmax,&xplmax,&ymin,&ymax,&dy,&dsuby,&sgny,font,&lab,&logaxis); /********************************************************************zero line***/ Npl=2; lw=0.5; ypl[1]=yplmin; ypl[2]=yplmax; xx=0.0; xxpl(&xx,&xmin,&xplmin,&xmax,&xplmax); xpl[1]=xpl[2]=xx; dot(fppl,&Npl,&lw,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&yplmax,xpl,ypl); if (ch == 2) { xx=-90.0; xxpl(&xx,&xmin,&xplmin,&xmax,&xplmax); xpl[1]=xpl[2]=xx; dot(fppl,&Npl,&lw,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&yplmax,xpl,ypl); xx=90.0; xxpl(&xx,&xmin,&xplmin,&xmax,&xplmax); xpl[1]=xpl[2]=xx; dot(fppl,&Npl,&lw,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&yplmax,xpl,ypl); } /* end if (ch */ if (ch == 3) { xpl[1]=xplmin; xpl[2]=xplmax; yy=0.0; yypl(&yy,&ymin,&yplmin,&ymax,&yplmax); ypl[1]=ypl[2]=yy; dot(fppl,&Npl,&lw,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&yplmax,xpl,ypl); } /* end if (ch */ /***************************************************************************/ /***************************************************************************/ /***************************************************************************/ /******************************************************************plotting***/ if (ch == 1) { /* * * * * * * * * * * * * * * * * * * * * * * * * * * plot uwkb * * */ j=0; gray=-1.0; red=green=blue=0.; red=1.; for (i=1;i<=Ndata[drp];i=i+1) { yy=zwkb[i]; if (yy < ymin) yy=ymin; if (yy > ymax) yy=ymax; yypl(&yy,&ymin,&yplmin,&ymax,&yplmax); ypl[i]=yy; xx=uwkb[i]; if (xx < xmin) xx=xmin; if (xx > xmax) xx=xmax; xxpl(&xx,&xmin,&xplmin,&xmax,&xplmax); xpl[i]=xx; if (uwkb[i] == 0. && vwkb[i] == 0.) xpl[i]=BAD; if (uwkb[i] <= BAD) xpl[i]=BAD; } /* next i */ lw=1.0; Npl=Ndata[drp]; solid(fppl,&Npl,&lw,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&yplmax,xpl,ypl); /* * * * * * * * * * * * * * * * * * * * * * * * * * * plot vwkb * * */ j=0; red=green=blue=0.; blue=1.; for (i=1;i<=Ndata[drp];i=i+1) { yy=zwkb[i]; if (yy < ymin) yy=ymin; if (yy > ymax) yy=ymax; yypl(&yy,&ymin,&yplmin,&ymax,&yplmax); ypl[i]=yy; xx=vwkb[i]; if (xx < xmin) xx=xmin; if (xx > xmax) xx=xmax; xxpl(&xx,&xmin,&xplmin,&xmax,&xplmax); xpl[i]=xx; if (uwkb[i] == 0. && vwkb[i] == 0.) xpl[i]=BAD; if (vwkb[i] <= BAD) xpl[i]=BAD; } /* next i */ lw=1.0; Npl=Ndata[drp]; solid(fppl,&Npl,&lw,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&yplmax,xpl,ypl); } /* end if (ch */ /*************************************************************************************/ if (ch == 2) { /* * * * * * * * * * * * * * * * * * * * * * * * * * * plot HKE * * */ j=0; gray=-1.0; red=green=blue=0.; red=1.; blue=green=0.6; for (i=1;i<=Ndata[drp];i=i+1) { yy=zwkb[i]; if (yy < ymin) yy=ymin; if (yy > ymax) yy=ymax; yypl(&yy,&ymin,&yplmin,&ymax,&yplmax); ypl[i]=yy; xx=HKE[i]; if (xx < Emin) xx=Emin; if (xx > Emax) xx=Emax; xxpl(&xx,&Emin,&xplmin,&Emax,&xplmax); xpl[i]=xx; if (uwkb[i] <= BAD || vwkb[i] <= BAD) xpl[i]=xplmin; } /* next i */ xpl[Ndata[drp]+1]=xplmin; ypl[Ndata[drp]+1]=ypl[Ndata[drp]]; xpl[Ndata[drp]+2]=xplmin; ypl[Ndata[drp]+2]=ypl[1]; xpl[Ndata[drp]+3]=xpl[1]; ypl[Ndata[drp]+3]=ypl[1]; Npl=Ndata[drp]+3; lw=0.1; shape(fppl,&Npl,&lw,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&yplmax,xpl,ypl); /* * * * * * * * * * * * * * * * * * * * * * * * * * * plot Odeg * * */ j=0; red=green=blue=0.; for (i=1;i<=Ndata[drp];i=i+1) { yy=zwkb[i]; if (yy < ymin) yy=ymin; if (yy > ymax) yy=ymax; yypl(&yy,&ymin,&yplmin,&ymax,&yplmax); ypl[i]=yy; xx=Odeg[i]; if (xx < xmin) xx=xmin; if (xx > xmax) xx=xmax; xxpl(&xx,&xmin,&xplmin,&xmax,&xplmax); xpl[i]=xx; DO=Odeg[i]-Odeg[i-1]; if (DO < 0.) DO=-DO; if (HKE[i] <= 4.) xpl[i]=BAD; if (DO >= 90.) xpl[i]=BAD; if (uwkb[i] <= BAD || vwkb[i] <= BAD) xpl[i]=BAD; } /* next i */ lw=1.5; Npl=Ndata[drp]; solid(fppl,&Npl,&lw,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&yplmax,xpl,ypl); } /* end if (ch */ /*************************************************************************************/ if (ch == 3) { /* * * * * * * * * * * * * * * * * * * * * * * * * * * plot uwkb vs. vwkb hodo * * */ Npl=2; lw=1.; j=0; gray=-1.; red=green=blue=0.; for (i=1;i<=Ndata[drp];i=i+1) { yy=vwkb[i]; if (yy < ymin) yy=ymin; if (yy > ymax) yy=ymax; yypl(&yy,&ymin,&yplmin,&ymax,&yplmax); ypl[2]=yy; xx=uwkb[i]; if (xx < xmin) xx=xmin; if (xx > xmax) xx=xmax; xxpl(&xx,&xmin,&xplmin,&xmax,&xplmax); xpl[2]=xx; if (uwkb[i] == 0. && vwkb[i] == 0.) xpl[2]=BAD; cc=(zwkb[i]-zwkbmn)/(zwkbmx-zwkbmn); o=1; while (o < cc*Nrain && o < Nrain) o=o+1; red=rainbo[o][1]; green=rainbo[o][2]; blue=rainbo[o][3]; if (i > 1) solid(fppl,&Npl,&lw,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&yplmax,xpl,ypl); xpl[1]=xpl[2]; ypl[1]=ypl[2]; if (uwkb[i] <= BAD || vwkb[i] <= BAD) xpl[2]=BAD; } /* next i */ } /* end if (ch */ /*************************************************re-frame***/ gray=0.; frame(fppl,&dic,&gray,&xplmin,&xplmax,&yplmin,&yplmax); lab=-1; upperaxis(fppl,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmax,&xmin,&xmax,&dx,&dsubx,&sgnx,font,&lab,&logaxis); loweraxis(fppl,&gray,&red,&green,&blue,&xplmin,&xplmax,&yplmin,&xmin,&xmax,&dx,&dsubx,&sgnx,font,&lab,&logaxis); leftaxis(fppl,&yplmin,&yplmax,&xplmin,&ymin,&ymax,&dy,&dsuby,&sgny,font,&lab,&logaxis); rightaxis(fppl,&yplmin,&yplmax,&xplmax,&ymin,&ymax,&dy,&dsuby,&sgny,font,&lab,&logaxis); } /* next ch */ /**************************************************wrapup***/ fprintf(fppl,"\n %s \n","showpage"); fclose(fppl); } /* end if (zmn */ /***********************************************************/ } /* end if (Ndata */ } /* next drp */ /* fclose(fpout); */ fclose(fpE); printf("%s \n",""); printf("%s %s%d \n",dir[k],"Ndrptot=",drptot); } /* next k */ } /*END*/ /********************************************************END***/