subroutine write_tp_stat use m_parameters use m_stats implicit none write(tp_stat,"(i10,f15.10,9e15.6)") itime,time, & energy,rms_u_prime,x_length,tau_e,eta,kol_vs, & kol_ts,lambda,eps_v call flush(tp_stat) end subroutine write_tp_stat subroutine write_tp_field use m_parameters use m_fdm_calc implicit none integer :: i, j, k, ii if (fdm_sw.eq.0) then if(mod(nx,spx).eq.0) then write(tp_field,897) time,nx/spx,ny/spy,nz_all/spz else write(tp_field,897) time,nx/spx+1,ny/spy+1,nz_all/spz+1 endif do k=1,nz_all,spz do j=1,ny,spy do i=1,nx,spx write(tp_field,'(6e18.9)') dx*real(i),dy*real(j),dz*real(k),u_(i,j,k),v_(i,j,k),w_(i,j,k) ! u',v',w' enddo enddo enddo else if(mod(nx,spx).eq.0) then write(tp_field,897) time,nx/spx,ny/spy,nz_all/spz else write(tp_field,897) time,nx/spx+1,ny/spy+1,nz_all/spz+1 endif do ii=1,nz_all,spz do j=1,ny,spy do i=1,nx,spx write(tp_field,'(7e20.10)') real(i)*hx,real(j)*hx,real(ii)*hx, & (1.-y1(2,i,j,ii)/y1(1,i,j,ii)),u_(i,j,ii), & v_(i,j,ii),w_(i,j,ii) enddo enddo enddo endif call flush(tp_field) 897 format('ZONE T="time= ',f10.5,'" I= ',i4,' J= ',i4,' K= ',i4,' F=POINT') end subroutine write_tp_field subroutine write_model_spectrum use m_parameters implicit none integer :: i real*8 :: k, wmag, ratio, fac real*8 :: e_spec_log00=0. real*8 :: e_spec_log01=0. real*8 :: e_spec_log02=0. real*8 :: e_spec_log03=0. do i=1,kmax k=real(i,8) wmag=real(k, 8) ratio=wmag / peak_wavenum e_spec_log01=wmag**(-5.d0/3.d0) e_spec_log02=ratio**3 / peak_wavenum * exp(-3.0D0*ratio) fac = two * PI * ratio e_spec_log03=fac**4 / (one + fac**2)**3 if(model_e_spec(i).le.0.) e_spec_log00=0. write(model_spectrum,'(i3,4e15.5)') i,model_e_spec(i),& e_spec_log01,e_spec_log02,e_spec_log03 write(tp_tke_spec,'(i5,e15.5)') i,model_e_spec(i) enddo end subroutine write_model_spectrum subroutine write_vel_max (umax,vmax,wmax,umin,vmin,wmin) use m_parameters implicit none real*8 :: umax,vmax,wmax,umin,vmin,wmin write(tp_max_min_uvw,'(f12.6,6e18.8)')time,umax,vmax,wmax,umin,vmin,wmin end subroutine write_vel_max subroutine write_tp_eps_spec use m_parameters use m_stats implicit none integer :: i write(tp_eps_spec,'(a15,f11.5,a1)')'ZONE T= " time=',time,'"' write(tp_eps_spec,*) 'I=',kmax,'F=POINT' do i=1,kmax write(tp_eps_spec,'(i5,e15.5)') i,e_spec1(i) enddo end subroutine write_tp_eps_spec subroutine write_tp_spec use m_parameters use m_stats implicit none integer :: i write(501,'(a15,f11.5,a1)')'ZONE T= " time=',time,'"' write(501,*) 'I=',kmax,'F=POINT' do i=1,kmax write(501,'(i5,2e15.5)') i,e_spec(i),e_spec1(i) enddo end subroutine write_tp_spec