ncfile_put_attributes_char Subroutine

public subroutine ncfile_put_attributes_char(sf, varname_in, n_attr, attrs_names, attr_values)

Type Bound

t_ncfile

Arguments

Type IntentOptional Attributes Name
class(t_ncfile), intent(inout) :: sf

self

character(len=*), intent(in) :: varname_in

name of the variable

integer, intent(in) :: n_attr

number of attributes

character(len=*), intent(in) :: attrs_names(:)

Array of attribute names

character(len=*), intent(in) :: attr_values(:)

double input


Calls

proc~~ncfile_put_attributes_char~~CallsGraph proc~ncfile_put_attributes_char t_ncfile%ncfile_put_attributes_char nf90_inq_varid nf90_inq_varid proc~ncfile_put_attributes_char->nf90_inq_varid nf90_put_att nf90_put_att proc~ncfile_put_attributes_char->nf90_put_att proc~mpi_check_single_access mpi_check_single_access proc~ncfile_put_attributes_char->proc~mpi_check_single_access proc~ncfile_handle_error t_ncfile%ncfile_handle_error proc~ncfile_put_attributes_char->proc~ncfile_handle_error proc~ncfile_handle_error->proc~mpi_check_single_access nf90_strerror nf90_strerror proc~ncfile_handle_error->nf90_strerror

Called by

proc~~ncfile_put_attributes_char~~CalledByGraph proc~ncfile_put_attributes_char t_ncfile%ncfile_put_attributes_char proc~writedatatonetcdf WriteDataToNETCDF proc~writedatatonetcdf->proc~ncfile_put_attributes_char proc~visu_axisnb Visu_axisNB proc~visu_axisnb->proc~writedatatonetcdf proc~visufrenet VisuFrenet proc~visufrenet->proc~writedatatonetcdf proc~hmap_axisnb_init_params hmap_axisNB_init_params proc~hmap_axisnb_init_params->proc~visu_axisnb proc~hmap_frenet_init_params hmap_frenet_init_params proc~hmap_frenet_init_params->proc~visufrenet interface~t_hmap_axisnb t_hmap_axisNB interface~t_hmap_axisnb->proc~hmap_axisnb_init_params proc~hmap_axisnb_init hmap_axisNB_init interface~t_hmap_axisnb->proc~hmap_axisnb_init interface~t_hmap_frenet t_hmap_frenet interface~t_hmap_frenet->proc~hmap_frenet_init_params proc~hmap_frenet_init hmap_frenet_init interface~t_hmap_frenet->proc~hmap_frenet_init proc~hmap_axisnb_init->proc~hmap_axisnb_init_params proc~hmap_frenet_init->proc~hmap_frenet_init_params

Source Code

  SUBROUTINE ncfile_put_attributes_char(sf,varname_in,n_attr,attrs_names,attr_values)
    ! MODULES
    IMPLICIT NONE
    !-------------------------------------------------------------------------------------------------------------------------------
    ! INPUT VARIABLES
    CHARACTER(LEN=*),INTENT(IN) :: varname_in !! name of the variable
    INTEGER, INTENT(IN) :: n_attr           !! number of attributes
    CHARACTER(LEN=*),INTENT(IN) :: attrs_names(:)   !! Array of attribute names
    CHARACTER(LEN=*),INTENT(IN) :: attr_values(:)   !!  double input
    !-------------------------------------------------------------------------------------------------------------------------------
    ! OUTPUT VARIABLES
    CLASS(t_ncfile),INTENT(INOUT):: sf    !! self
    ! LOCAL VARIABLES
    INTEGER :: varid !! ID of the variable
    INTEGER :: i !! iterable
    !===============================================================================================================================
    CALL mpi_check_single_access()
#if NETCDF
    DO i=1,n_attr
      sf%ioError = nf90_INQ_VARID(sf%nc_id, TRIM(varname_in), varid)
      CALL sf%handle_error("find varid during attribute write for '"//TRIM(varname_in)//"'")
      sf%ioError = nf90_put_att(sf%nc_id, varid, TRIM(attrs_names(i)), TRIM(attr_values(i)))
      CALL sf%handle_error("Putting attribute '"//TRIM(attrs_names(i))//"'")
    END DO
#else
  CALL abort(__STAMP__,&
      "cannot write array, BUILD_NETCDF=OFF")
#endif /*NETCDF*/
  END SUBROUTINE ncfile_put_attributes_char