#define __PIO_FILE__ "pionfput_mod.F90"
!>
!! @file
!! @brief Write routines for non-decomposed NetCDF data.
!<
module pionfput_mod
#ifdef TIMING
use perf_mod, only : t_startf, t_stopf ! _EXTERNAL
#endif
use iso_c_binding
use pio_kinds, only: i4,r4,r8
use pio_types, only : file_desc_t, var_desc_t, pio_noerr
implicit none
private
!>
!! @defgroup PIO_put_var PIO_put_var
!! @brief Writes data to a netCDF file.
!! @details The put_var interface is provided as a simplified interface to
!! write variables to a netcdf format file.
!! @warning Although this is a collective call the variable is written from the
!! root IO task, no consistancy check is made with data passed on other tasks.
!!
!<
public :: put_var
interface put_var
! DIMS 0,1,2,3,4,5
module procedure put_var_{DIMS}d_{TYPE}, put_var_vdesc_{DIMS}d_{TYPE}
! DIMS 1,2,3,4,5
module procedure put_vara_{DIMS}d_{TYPE}
! DIMS 1,2,3,4,5
module procedure put_vara_vdesc_{DIMS}d_{TYPE}
module procedure put_var1_{TYPE}, put_var1_vdesc_{TYPE}
end interface
interface
integer(C_INT) function PIOc_put_var_text(ncid, varid, op) &
bind(C,name="PIOc_put_var_text")
use iso_c_binding
integer(C_INT), intent(in), value :: ncid
integer(C_INT), intent(in), value :: varid
character(C_CHAR) :: op(*)
end function PIOc_put_var_text
end interface
interface
integer(C_INT) function PIOc_put_vara_text(ncid, varid, start, count, op) &
bind(C,name="PIOc_put_vara_text")
use iso_c_binding
integer(C_INT), intent(in), value :: ncid
integer(C_INT), intent(in), value :: varid
integer(C_SIZE_T), intent(in) :: start(*)