Routines (alphabetical) > Routines: H > HDF Routines > HDF_SD_DIMSET

# HDF_SD_DIMSET

The HDF_SD_DIMSET procedure sets the scale and data strings for an SD dimension.

## Examples

; Initialize the SD interface:

SDinterface_id = HDF_SD_START('myhdf.hdf', /RDWR)

; Create 3 dimensions:

SDdataset_id = HDF_SD_CREATE(SDinterface_id, 'var1', [10,20,0], /LONG)

; Select the first dimension:

dim_id=HDF_SD_DIMGETID(SDdataset_id,0)

; Set the data strings and scale for the first dimension:

HDF_SD_DIMSET, dim_id, NAME='d1', LABEL='l1', $

FORMAT='f1', UNIT='u1', SCALE=FINDGEN(10)

HDF_SD_ENDACCESS, SDdataset_id

; Close the HDF file to ensure everything is written:

HDF_SD_END, SDinterface_id

; Reopen the file:

SDinterface_id = HDF_SD_START('myhdf.hdf')

; Select the first dimension:

dim_id = HDF_SD_DIMGETID(SDdataset_id,0)

; Retrieve the information:

HDF_SD_DIMGET, dim_id, NAME=d1, LABEL=l1, FORMAT=f1, $

UNIT=u1, SCALE=sc, COUNT=cnt, NATTR=natt, TYPE=type

; Print information about the returned variables:

HELP, d1, l1, f1, u1, sc, cnt, natt, type

; Close the SD interface:

HDF_SD_ENDACCESS,SDdataset_id

HDF_SD_END, SDinterface_id

#### IDL Output

D1 STRING = 'd1'

L1 STRING = 'l1'

F1 STRING = 'f1'

U1 STRING = 'u1'

SC FLOAT = Array(10)

CNT LONG = 10

NATT LONG = 3

TYPE STRING = 'FLOAT'

## Syntax

HDF_SD_DIMSET, Dim_ID [, /BW_INCOMP] [, FORMAT=string] [, LABEL=string] [, NAME=string] [, SCALE=vector] [, UNIT=string]

## Arguments

### Dim_ID

A dimension ID as returned by HDF_SD _DIMGETID.

## Keywords

### BW_INCOMP

Set this keyword to write SD dimensions in the “new” (HDF4.1 and later) style. Versions of HDF prior to HDF 4.0 beta 2 were inefficient in the use of SD dimensions. HDF now uses a new internal representation of SD dimensions. If the BW_INCOMP keyword is not set, or is explicitly set equal to zero, the current version of HDF writes SD dimensions in both the pre-HDF 4.0 format AND the “new” format. This default behavior is called the BW_COMP dimensional compatibility representation.

Setting the BW_INCOMP keyword causes the current dimension to be written in only the “new” (HDF4.1 and later) format. Depending on your HDF file, using this new format can reduce the size of the HDF by up to a factor of 2, but at the expense of incompatibility with pre HDF 4.0 beta 2 applications (IDL version 4, for example). The COMPATIBILITY keyword of HDF_SD_DIMGET can be used to check the dimensional compatibility of an HDF dimension.

Note: Future versions of HDF will recognize only the “new” (BW_INCOMP) dimensional representation.

### FORMAT

A string for the dimension format.

### LABEL

A string for the dimension label.

### NAME

A string for the dimension name.

### SCALE

A vector containing the dimension scale values.

### UNIT

A string for the dimension unit.

## Version History

4.0 | Introduced

## See Also

HDF_SD_CREATE, HDF_SD_DIMGET, HDF_SD_DIMGETID, HDF_SD_SELECT