get the number of dimensions of a variable
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(t_ncfile), | intent(inout) | :: | sf |
self |
||
| character(len=*), | intent(in) | :: | varname_in |
name of the variable (can include "/" for groups) |
FUNCTION ncfile_get_var_ndims(sf,varname_in) RESULT(ndims_out) ! MODULES IMPLICIT NONE !------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES CHARACTER(LEN=*),INTENT(IN) :: varname_in !! name of the variable (can include "/" for groups) !------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES CLASS(t_ncfile),INTENT(INOUT) :: sf !! self INTEGER :: ndims_out !0: scalar, 1: vector, 2: matrix... !------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES CHARACTER(LEN=255) :: varname INTEGER :: grpid,varid LOGICAL :: exists !=============================================================================================================================== CALL mpi_check_single_access() CALL sf%enter_groups(varname_in,grpid,varname,exists) #if NETCDF IF(.NOT.exists) CALL sf%handle_error("finding group in '"//TRIM(varname_in)//"'") sf%ioError = nf90_INQ_VARID(grpid, TRIM(varname), varid) CALL sf%handle_error("finding of variable '"//TRIM(varname_in)//"'") sf%ioError = nf90_inquire_variable(grpid, varid, ndims=ndims_out) CALL sf%handle_error("finding ndims of variable '"//TRIM(varname_in)//"'") #endif /*NETCDF*/ END FUNCTION ncfile_get_var_ndims