!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine four2grid_thread(syn_gr_a_1,syn_gr_a_2, & lon_dim,lons_lat,lonl,lot,lan,me) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! use machine use resol_def implicit none !! integer lon_dim,lot real(kind=kind_evod) syn_gr_a_1(lon_dim,lot) !! real(kind=kind_evod) syn_gr_a_2(lon_dim,lot) !! integer lons_lat integer lonl integer lan integer me !! integer i integer n !! real(kind=kind_evod) table(44002) !! !!!! print 200,lon_dim,lons_lat,lonl,lot,lan,me 200 format (' four2grid_thread fftpack', & ' lon_dim=',i4, & ' lons_lat=',i4, & ' lonl=',i4, & ' lot=',i4, & ' lan=',i4, & ' me=',i3) !! !! do n=1,lot syn_gr_a_2(1,n)=syn_gr_a_1(1,n) do i=3,lons_lat+1 syn_gr_a_2(i-1,n)=syn_gr_a_1(i,n) enddo call rffti(lons_lat,table) call rfftb(lons_lat,syn_gr_a_2(1,n),table) enddo !! return end !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine grid2four_thread(anl_gr_a_2,anl_gr_a_1, & lon_dim,lons_lat,lonl,lot) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! use machine use resol_def implicit none !! integer lon_dim,lot real(kind=kind_evod) anl_gr_a_1(lon_dim,lot) !! real(kind=kind_evod) anl_gr_a_2(lon_dim,lot) !! integer lons_lat integer lonl !! integer i integer n !! real(kind=kind_evod) cons_0 !! real(kind=kind_evod) r_lons_lat !! real(kind=kind_evod) table(44002) !! real(kind=kind_evod) y(lons_lat) !! !!!! print 200,lon_dim,lons_lat,lonl,lot 200 format (' grid2four_thread fftpack', & ' lon_dim=',i4, & ' lons_lat=',i4, & ' lonl=',i4, & ' lot=',i4) !! cons_0=0 !! call rffti(lons_lat,table) !! r_lons_lat=lons_lat !! do n=1,lot do i=1,lons_lat y(i)=anl_gr_a_2(i,n) enddo call rfftf(lons_lat,y,table) anl_gr_a_1(1,n)=y(1)/r_lons_lat anl_gr_a_1(2,n)=cons_0 do i=3,lons_lat+1 anl_gr_a_1(i,n)=y(i-1)/r_lons_lat enddo anl_gr_a_1(lons_lat+2,n)=cons_0 enddo !! return end