ETSF_IO library - documentation pages

### TABLE OF CONTENTS

- etsf_io_split_get

## etsf_io_split_get

[ Top ] [ etsf_split ] [ Methods ]

NAME

etsf_io_split_get

FUNCTION

Read the split defintions from a file. Only associated pointers from the @split structure will be read.

INPUTS

- ncid = integer returned by an 'open' NetCDF call. The file can be either in define or write mode. This status can be changed by the call.

OUTPUT

- lstat = return .true. if all the actions succeed, if not the status of the file is undefined.
- error_data <type(etsf_io_low_error)> = contains the details of the error is @lstat is false.

SIDE EFFECTS

- split <type(etsf_split)> = read from the disk the values of each associated array of @split.

NOTES

This file has been automatically generated by the autogen_subroutines.py script. Any change you would bring to it will systematically be overwritten.

SOURCE

    subroutine etsf_io_split_get(ncid, split, lstat, error_data)

      !Arguments ------------------------------------
      integer, intent(in) :: ncid
      type(etsf_split), intent(inout) :: split
      logical, intent(out) :: lstat
      type(etsf_io_low_error), intent(out) :: error_data

      !Local variables-------------------------------
      character(len = *), parameter :: my_name = 'etsf_io_split_get'

      ! *************************************************************************

    !DEBUG
    !write (*,*) 'etsf_io_split_get : enter'
    !ENDDEBUG

      if (associated(split%my_kpoints)) then
        call etsf_io_low_read_var(ncid, "my_kpoints", &
                                & split%my_kpoints, &
                                & lstat, error_data = error_data)
        if (.not. lstat) return
      end if
      if (associated(split%my_grid_points_vector3)) then
        call etsf_io_low_read_var(ncid, "my_grid_points_vector3", &
                                & split%my_grid_points_vector3, &
                                & lstat, error_data = error_data)
        if (.not. lstat) return
      end if
      if (associated(split%my_spins)) then
        call etsf_io_low_read_var(ncid, "my_spins", &
                                & split%my_spins, &
                                & lstat, error_data = error_data)
        if (.not. lstat) return
      end if
      if (associated(split%my_grid_points_vector1)) then
        call etsf_io_low_read_var(ncid, "my_grid_points_vector1", &
                                & split%my_grid_points_vector1, &
                                & lstat, error_data = error_data)
        if (.not. lstat) return
      end if
      if (associated(split%my_grid_points_vector2)) then
        call etsf_io_low_read_var(ncid, "my_grid_points_vector2", &
                                & split%my_grid_points_vector2, &
                                & lstat, error_data = error_data)
        if (.not. lstat) return
      end if
      if (associated(split%my_coefficients)) then
        call etsf_io_low_read_var(ncid, "my_coefficients", &
                                & split%my_coefficients, &
                                & lstat, error_data = error_data)
        if (.not. lstat) return
      end if
      if (associated(split%my_components)) then
        call etsf_io_low_read_var(ncid, "my_components", &
                                & split%my_components, &
                                & lstat, error_data = error_data)
        if (.not. lstat) return
      end if
      if (associated(split%my_states)) then
        call etsf_io_low_read_var(ncid, "my_states", &
                                & split%my_states, &
                                & lstat, error_data = error_data)
        if (.not. lstat) return
      end if

    !DEBUG
    !write (*,*) 'etsf_io_split_get : exit'
    !ENDDEBUG

    end subroutine etsf_io_split_get