# ----------------------------------------------------------- # # Processed data from JAGUAR-DAS reanalysis & high-res JAGUAR # # ----------------------------------------------------------- # # Okui, H., Sato, K., & Watanabe, S., # # Roles of Gravity Waves in Preconditioning of # # a Stratospheric Sudden Warming, # # submitted to Journal of Geophysical Research: Atmospheres. # # ----------------------------------------------------------- # o) Coordinates for JAGUAR-DAS reanalysis & high-res JAGUAR JAGUAR-DAS reanalysis: zahyo_low.f90 High-res JAGUAR : zahyo_high.f90 i) Zonal-mean U & 1st/2nd EOFs of U in z=15-90 km, 15N-90N Figs. 1, 2, and S2 Files ### 1. EOF_zmU_eof_15-90N_15-90km.dat ...ZM-u/EOF1/EOF2 2. EOF_zmU_pc_15-90N_15-90km.dat ...PC1/PC2 3. EOF_zmU_proportion_15-90N_15-90km.txt ...The proportion of variance explained by each EOF mode ### How to read the data in a f90 code: integer,parameter :: nlatref=27 !index for 15N integer,parameter :: NT=90,NTA=NT*17 real,parameter :: refz(2)=(/15000.,90000./) !m integer :: ieof,i integer :: NX integer :: nrefz(2) real,allocatable :: EOF(:,:),PC(:,:) do i=1,2 do while (kabs(refz(i)-z(k+1))) k=k+1 end do nrefz(i)=k end do NX=nlatref*(nrefz(2)-nrefz(1)+1) allocate(EOF(NX,NX),PC(NX,NT*17)) !EOF(location(lat,lev),EOF), PC(EOF,time) 1. open(10, file='EOF_zmU_eof_15-90N_15-90km.dat',status='old',form='unformatted',access='direct',recl=4*(NX*NX)) read(10,rec=1) EOF close(10) 2. open(10,file='EOF_zmU_pc_15-90N_15-90km.dat',form='unformatted',access='direct',recl=4*(NX*NTA)) read(10,rec=1) PC close(10) 3. open(10,file='EOF_zmU_proportion_15-90N_15-90km.txt',status='old',form='formatted') read(10,*) do ieof = 1, 4 read(10,'(5x,f9.3)') p(ieof) end do close(10) ii) Linear regression on EOF2 Fig. 3 Files ### 4. PCR_zmU_15-90N_15-90km_zmU.txt ...Zonal-mean u 5. PCR_zmU_15-90N_15-90km_EPF.txt ...EPF of PWs 6. PCR_zmU_15-90N_15-90km_GWF.txt ...Parameterized GWF (GWFp) ### How to read the data in a f90 code: integer :: j,k real :: data(3,nlat,nlev),vecx(3,nlat,nlev),vecy(3,nlat,nlev) !EOF1-3 4. open(10,file='PCR_zmU_15-90N_15-90km_zmU.txt',status='old') do j = 1,nlat do k = 1,nlev read(10,'(e10.3,1x,e10.3,1x,e10.3)') data(1,j,k),data(2,j,k),data(3,j,k) end do end do close(10) 5. open(10,file='PCR_zmU_15-90N_15-90km_EPF.txt',status='old') do j = 1,nlat !EPFD do k = 1,nlev read(10,'(e10.3,1x,e10.3,1x,e10.3)') data(1,j,k),data(2,j,k),data(3,j,k) end do end do do j = 1,nlat !EPFy do k = 1,nlev read(10,'(e10.3,1x,e10.3,1x,e10.3)') vecx(1,j,k),vecx(2,j,k),vecx(3,j,k) end do end do do j = 1,nlat !EPFz do k = 1,nlev read(10,'(e10.3,1x,e10.3,1x,e10.3)') vecy(1,j,k),vecy(2,j,k),vecy(3,j,k) end do end do close(10) 6. open(10,file='PCR_zmU_15-90N_15-90km_GWF.txt',status='old') do j = 1,nlat do k = 1,nlev read(10,'(e10.3,1x,e10.3,1x,e10.3)') data(1,j,k),data(2,j,k),data(3,j,k) end do end do close(10) iii) The 2018/2019 SSW in JAGUAR-DAS reanalysis Figs. 4 & 5 Files ### 7. zm-u_201812{20,21,23}.dat ...Zonal-mean u 8. EPF_PW_201812{20,21,23}.dat ...EPF of PWs 9. GWFp_201812{20,21,23}.dat ...Parameterized GWF (GWFp) 10.GWFp_Inc_201812{20,21,23}.dat ...Parameterized GWF (GWFp) + increment 11.RI_201812{20,21,23}.dat ...Refractive index for stationary PW1 ### How to read the data in a f90 code: integer :: j,k real :: data(nlat,nlev),vecx(nlat,nlev),vecy(nlat,nlev) 7. open(10,file='zm-u_201812{20,21,23}.dat',status='old',form='unformatted',access='stream',convert='big_endian') do k = 1, nlev read(10) (data(j,k),j=1,nlat) end do close(10) 8. open(10,file='EPF_PW_201812{20,21,23}.dat',status='old',form='unformatted',access='stream',convert='big_endian') do k = 1, nlev !EPFD read(10) (data(j,k),j=1,nlat) end do do k = 1, nlev !EPFy read(10) (vecx(j,k),j=1,nlat) end do do k = 1, nlev !EPFz read(10) (vecy(j,k),j=1,nlat) end do close(10) 9. open(10,file='GWFp_201812{20,21,23}.dat',status='old',form='unformatted',access='stream',convert='big_endian') do k = 1, nlev read(10) (data(j,k),j=1,nlat) end do close(10) 10. open(10,file='GWFp_Inc_201812{20,21,23}.dat',status='old',form='unformatted',access='stream',convert='big_endian') do k = 1, nlev read(10) (data(j,k),j=1,nlat) end do close(10) 11. open(10,file='RI_201812{20,21,23}.dat',status='old',form='unformatted',access='stream',convert='big_endian') do k = 1, nlev read(10) (data(j,k),j=1,nlat) end do close(10) iv) The 2018/2019 SSW in high-res hindcasts Fig. 6 Files ### 12.hindcast_zm-u_201812{20,21,23}.dat ...Zonal-mean u 13.hindcast_EPF_PW_201812{20,21,23}.dat ...EPF of PWs 14.hindcast_EPF_GW_201812{20,21,23}.dat ...EPF of GWs 15.hindcast_RI_201812{20,21,23}.dat ...Refractive index for stationary PW1 ### How to read the data in a f90 code: integer :: j,k real :: data(nlat,nlev),vecx(nlat,nlev),vecy(nlat,nlev) 12. open(10,file='hindcast_zm-u_201812{20,21,23}.dat',status='old',form='unformatted',access='stream',convert='big_endian') do k = 1, nlev read(10) (data(j,k),j=1,nlat) end do close(10) 13. open(10,file='hindcast_EPF_PW_201812{20,21,23}.dat',status='old',form='unformatted',access='stream',convert='big_endian') do k = 1, nlev !EPFD read(10) (data(j,k),j=1,nlat) end do do k = 1, nlev !EPFy read(10) (vecx(j,k),j=1,nlat) end do do k = 1, nlev !EPFz read(10) (vecy(j,k),j=1,nlat) end do close(10) 14. open(10,file='hindcast_EPF_GW_201812{20,21,23}.dat',status='old',form='unformatted',access='stream',convert='big_endian') do k = 1, nlev !EPFD read(10) (data(j,k),j=1,nlat) end do do k = 1, nlev !EPFy read(10) (vecx(j,k),j=1,nlat) end do do k = 1, nlev !EPFz read(10) (vecy(j,k),j=1,nlat) end do close(10) 15. open(10,file='hindcast_RI_201812{20,21,23}.dat',status='old',form='unformatted',access='stream',convert='big_endian') do k = 1, nlev read(10) (data(j,k),j=1,nlat) end do close(10) v) u'w' of GWs Fig. 7 Files ### 16.GW-uw_60N{30,70}km_20181219-22.dat ### How to read the data in a f90 code: 16. integer,parameter :: ntime=24*4 integer :: m,n real :: fx(-nlon/2:nlon/2),fy(0:ntime/2-1) real :: data(-nlon/2:nlon/2,0:ntime/2-1) fx = (/(real(i),i=-nlon/2,nlon/2)/) !zonal wavenumber fy = (/(1./4.*real(i),i=0,ntime/2-1)/) !cyc/day open(10,file='GW-uw_60N{30,70}km_20181219-22.dat',status='old',form='unformatted',access='stream',convert='big_endian') do n = 0, ntime/2-1 read(10) (data(m,n),m=-nlon/2,nlon/2) end do close(10)