;plot zm ; ;;;transfer geographic grid to geomagnetic grid ; declare mag array glon=fltarr(361,181) glat=fltarr(361,181) mlon=fltarr(361,181) mlat=fltarr(361,181) ; These are arrays of geographic latitude and longitude and the ; equivalent APEX array for every degree openr,11,'/hao/ada1/lqian/idl/magout.dat' readf,11,glon readf,11,glat readf,11,mlon readf,11,mlat close,11 ; ; geomagnetic latitude bins (5 deg resolution) dgrid=5. nmlat=fix((85.+85.)/dgrid)+1 mgrid_lat=fltarr(nmlat) mgrid_lat[0]=-85. for i=1,nmlat-1 do begin mgrid_lat[i]=mgrid_lat[i-1]+dgrid endfor ; ; geomagnetic longitude bins (5 deg resolution) dgrid=5. nmlon=fix((175.+180.)/dgrid)+1 mgrid_lon=fltarr(nmlon) mgrid_lon[0]=-180. for i=1,nmlon-1 do begin mgrid_lon[i]=mgrid_lon[i-1]+dgrid endfor ; ; file='/hao/ada1/lqian/2015GUVI_tiegcm_on2/2015GRL/tgcm_daily_mean_July_diag.sav' restore,file,/verbose nlev=n_elements(lev) nlat=n_elements(lat) nlon=n_elements(lon) ; ;define variables in mgnetic coordinate mvn=fltarr(nmlon,nmlat,nlev-1) mzp=fltarr(nmlon,nmlat,nlev-1) mfd_vn=fltarr(nmlon,nmlat,nlev-2) ; for i=0,nlon-1 do begin for j=0,nlat-1 do begin ii=round(180.+lon[i]) jj=round((90.+lat[j])) imlat=fix((85+mlat[ii,jj])/dgrid) imlon=fix((180+mlon[ii,jj])/dgrid) print,'imlat=',imlat print,'imlon=',imlon mvn[imlon,imlat,*]=vn[i,j,0:nlev-2] mzp[imlon,imlat,*]=zp[i,j,0:nlev-2]*(-1)*0.01 ; cm/s2 to m/s2 mfd_vn[imlon,imlat,*]=fd_vn[i,j,0:nlev-3]*0.01 ; cm/s2 to m/s2 endfor endfor ; ; ;do zonal mean mvn_1=fltarr(nmlat,nlev-1) mzp_1=fltarr(nmlat,nlev-1) mfd_vn_1=fltarr(nmlat,nlev-2) for j=0,nmlat-1 do begin for k=0,nlev-2 do begin index=where(mvn[*,j,k] ne 0) mvn_1[j,k]=mean(reform(mvn[index,j,k])) index=where(mzp[*,j,k] ne 0) mzp_1[j,k]=mean(reform(mzp[index,j,k])) endfor endfor ; for j=0,nmlat-1 do begin for k=0,nlev-3 do begin index=where(mfd_vn[*,j,k] ne 0) mfd_vn_1[j,k]=mean(reform(mfd_vn[index,j,k])) endfor endfor ; ; change the order of data (latitude) so that the data starts with summer (northern hemisphere in this case), ; end in winter (southern hemisphere) mgrid_lat_1=-1*mgrid_lat result=sort(mgrid_lat_1) mgrid_lat_2=mgrid_lat+90 ; summer-->winter; 0-->180 mvn_2=fltarr(nmlat,nlev-1) mzp_2=fltarr(nmlat,nlev-1) mfd_vn_2=fltarr(nmlat,nlev-2) ; for k=0,nlev-2 do begin mvn_2[*,k]=mvn_1[result,k]*(-1) ; positive from summer to winter mzp_2[*,k]=mzp_1[result,k]*(-1) endfor for k=0,nlev-3 do begin mfd_vn_2[*,k]=mfd_vn_1[result,k]*(-1) endfor ; ;January file='/hao/ada1/lqian/2015GUVI_tiegcm_on2/2015GRL/tgcm_daily_mean_January_diag.sav' restore,file,/verbose nlev=n_elements(lev) nlat=n_elements(lat) nlon=n_elements(lon) ; ; for i=0,nlon-1 do begin for j=0,nlat-1 do begin ii=round(180.+lon[i]) jj=round((90.+lat[j])) imlat=fix((85+mlat[ii,jj])/dgrid) imlon=fix((180+mlon[ii,jj])/dgrid) print,'imlat=',imlat print,'imlon=',imlon mvn[imlon,imlat,*]=vn[i,j,0:nlev-2] mzp[imlon,imlat,*]=zp[i,j,0:nlev-2]*(-1)*0.01 ; cm/s2 to m/s2 mfd_vn[imlon,imlat,*]=fd_vn[i,j,0:nlev-3]*0.01 ; cm/s2 to m/s2 endfor endfor ; ; ;do zonal mean mvn_1=fltarr(nmlat,nlev-1) mzp_1=fltarr(nmlat,nlev-1) mfd_vn_1=fltarr(nmlat,nlev-2) for j=0,nmlat-1 do begin for k=0,nlev-2 do begin index=where(mvn[*,j,k] ne 0) mvn_1[j,k]=mean(reform(mvn[index,j,k])) index=where(mzp[*,j,k] ne 0) mzp_1[j,k]=mean(reform(mzp[index,j,k])) endfor endfor ; for j=0,nmlat-1 do begin for k=0,nlev-3 do begin index=where(mfd_vn[*,j,k] ne 0) mfd_vn_1[j,k]=mean(reform(mfd_vn[index,j,k])) endfor endfor ; colorwind s=2 !p.multi=[0,2,3] ; ; minv=-0.05 maxv=0.05 colorwind zp=(mzp_1-minv)*!d.table_size / (maxv-minv) < (!d.table_size-2) contour,zp,mgrid_lat_2,ilev[0:nlev-2],levels=findgen(30)/29.*!d.table_size,$ xtitle='Magnetic Latitude',ytitle='ln(p!d!0!n/p)', $ title='January 2003, Pressure Gradient (m/s!u2!n)', $ /ystyle, yrange=[0,7], $ /xstyle, xrange=[0,180], xticks=6,xtickn=['90','60','30','0','30','60','90'],$ xmargin=[7,4], charsize=s,$ /cell_fill ; color8 xyouts,0,-1.6,'Summer',color=5 xyouts,160,-1.6,'Winter',color=1 ; colorwind ; zp=(mzp_2-minv)*!d.table_size / (maxv-minv) < (!d.table_size-2) contour,zp,mgrid_lat_2,ilev[0:nlev-2],levels=findgen(30)/29.*!d.table_size,$ xtitle='Magnetic Latitude',ytitle='ln(p!d!0!n/p)', $ title='July 2003, Pressure Gradient (m/s!u2!n)', $ /ystyle, yrange=[0,7], $ /xstyle, xrange=[0,180], xticks=6,xtickn=['90','60','30','0','30','60','90'],$ xmargin=[2,9], charsize=s,$ /cell_fill colorbar_3,minv,maxv,4,0.92,.75,0.02,0.2,charsize=1 ; color8 xyouts,0,-1.6,'Summer',color=5 xyouts,160,-1.6,'Winter',color=1 ; colorwind fd_vn=(mfd_vn_1-minv)*!d.table_size / (maxv-minv) < (!d.table_size-2) contour,fd_vn,mgrid_lat_2,lev[0:nlev-3],levels=findgen(30)/29.*!d.table_size,$ xtitle='Magnetic Latitude',ytitle='ln(p!d0!n/p)', $ title='Ion Drag (m/s!u2!n)', $ /ystyle, yrange=[0,7], $ /xstyle, xrange=[0,180], xticks=6,xtickn=['90','60','30','0','30','60','90'],$ xmargin=[7,4], charsize=s,$ /cell_fill ; color8 xyouts,0,-1.6,'Summer',color=5 xyouts,160,-1.6,'Winter',color=1 ; colorwind fd_vn=(mfd_vn_2-minv)*!d.table_size / (maxv-minv) < (!d.table_size-2) contour,fd_vn,mgrid_lat_2,lev[0:nlev-3],levels=findgen(30)/29.*!d.table_size,$ xtitle='Magnetic Latitude',ytitle='ln(p!d0!n/p)', $ title='Ion Drag (m/s!u2!n)', $ /ystyle, yrange=[0,7], $ /xstyle, xrange=[0,180], xticks=6,xtickn=['90','60','30','0','30','60','90'],$ xmargin=[2,9], charsize=s,$ /cell_fill colorbar_3,minv,maxv,4,0.92,0.42,0.02,0.2,charsize=1 ; color8 xyouts,0,-1.6,'Summer',color=5 xyouts,160,-1.6,'Winter',color=1 ; colorwind minv=-40 maxv=40 ; vn=(mvn_1-minv)*!d.table_size / (maxv-minv) < (!d.table_size-2) contour,vn,mgrid_lat_2,lev[0:nlev-2],levels=findgen(30)/29.*!d.table_size,$ xtitle='Magnetic Latitude',ytitle='ln(p!d0!n/p)', $ title='January 2003, VN (m/s)', $ /ystyle, yrange=[0,7], $ /xstyle, xrange=[0,180], xticks=6,xtickn=['90','60','30','0','30','60','90'],$ xmargin=[7,4], charsize=s,$ /cell_fill ; color8 xyouts,0,-1.6,'Summer',color=5 xyouts,160,-1.6,'Winter',color=1 ; ; colorwind vn=(mvn_2-minv)*!d.table_size / (maxv-minv) < (!d.table_size-2) contour,vn,mgrid_lat_2,lev[0:nlev-2],levels=findgen(30)/29.*!d.table_size,$ xtitle='Magnetic Latitude',ytitle='ln(p!d0!n/p)', $ title='July 2003, VN (m/s)', $ /ystyle, yrange=[0,7], $ /xstyle, xrange=[0,180], xticks=6,xtickn=['90','60','30','0','30','60','90'],$ xmargin=[2,9], charsize=s,$ /cell_fill colorbar,minv,maxv,4,0.92,.08,0.02,0.2,charsize=1 ; color8 xyouts,0,-1.6,'Summer',color=5 xyouts,160,-1.6,'Winter',color=1 ; end