fielddump Subroutine

public subroutine fielddump()

Uses

  • proc~~fielddump~~UsesGraph proc~fielddump modfielddump::fielddump module~modfields modfields proc~fielddump->module~modfields module~modglobal modglobal proc~fielddump->module~modglobal module~modmpi modmpi proc~fielddump->module~modmpi module~modstat_nc modstat_nc proc~fielddump->module~modstat_nc module~modsurfdata modsurfdata proc~fielddump->module~modsurfdata mpi mpi module~modmpi->mpi module~modstat_nc->module~modmpi netcdf netcdf module~modstat_nc->netcdf

Arguments

None

Calls

proc~~fielddump~~CallsGraph proc~fielddump modfielddump::fielddump interface~writestat_nc modstat_nc::writestat_nc proc~fielddump->interface~writestat_nc proc~writestat_1d_nc modstat_nc::writestat_1D_nc interface~writestat_nc->proc~writestat_1d_nc proc~writestat_2d_nc modstat_nc::writestat_2D_nc interface~writestat_nc->proc~writestat_2d_nc proc~writestat_3d_nc modstat_nc::writestat_3D_nc interface~writestat_nc->proc~writestat_3d_nc proc~writestat_3d_short_nc modstat_nc::writestat_3D_short_nc interface~writestat_nc->proc~writestat_3d_short_nc proc~writestat_time_nc modstat_nc::writestat_time_nc interface~writestat_nc->proc~writestat_time_nc nf90_inq_varid nf90_inq_varid proc~writestat_1d_nc->nf90_inq_varid nf90_put_var nf90_put_var proc~writestat_1d_nc->nf90_put_var nf90_sync nf90_sync proc~writestat_1d_nc->nf90_sync proc~writestat_2d_nc->nf90_inq_varid proc~writestat_2d_nc->nf90_put_var proc~writestat_2d_nc->nf90_sync proc~writestat_3d_nc->nf90_inq_varid proc~writestat_3d_nc->nf90_put_var proc~writestat_3d_nc->nf90_sync proc~writestat_3d_short_nc->nf90_inq_varid proc~writestat_3d_short_nc->nf90_put_var proc~writestat_3d_short_nc->nf90_sync proc~writestat_time_nc->nf90_inq_varid proc~writestat_time_nc->nf90_put_var proc~writestat_time_nc->nf90_sync

Called by

proc~~fielddump~~CalledByGraph proc~fielddump modfielddump::fielddump program~dalesurban DALESURBAN program~dalesurban->proc~fielddump

Contents

Source Code


Source Code

  subroutine fielddump
    use modfields, only : u0,v0,w0,thl0,qt0,ql0,sv0  !ILS13 21.04.2015 changed to u0 from um  etc
    use modsurfdata,only : thls,qts,thvs
    use modglobal, only : ib,ie,ih,jb,je,jh,ke,kb,kh,rk3step,timee,dt_lim,cexpnr,ifoutput,imax,jmax,&
                          tfielddump, tnextfielddump,nsv, lfielddump
    !use modmpi,    only : myid,cmyid
    !use modsubgriddata, only : ekm,sbshr
    use modstat_nc, only : writestat_nc
    use modmpi, only : myid,cmyid
    implicit none

    real, allocatable :: vars(:,:,:,:)
    integer i,j,k
    integer :: writecounter = 1
 
    if (.not. (timee>=tnextfielddump)) return 

    if (.not. lfielddump) return

    if (rk3step/=3) return

    tnextfielddump=tnextfielddump+tfielddump

   allocate(vars(ib:ie,jb:je,kb:ke,nvar))

    do n=1,nvar
      vars(ib:ie,jb:je,kb:ke,n) = pfields(n)%point
    end do

   call writestat_nc(ncid,1,tncname,(/timee/),nrec,.true.)
         
   call writestat_nc(ncid,nvar,ncname,vars,nrec,imax,jmax,khigh-klow+1)
   deallocate(vars)

  end subroutine fielddump