read_idf takes an EnergyPlus Input Data File (IDF) as input and returns an Idf object. For more details on Idf object, please see Idf class.

read_idf(path, idd = NULL, encoding = "unknown")

## Arguments

path

Either a path, a connection, or literal data (either a single string or a raw vector) to an EnergyPlus Input Data File (IDF). If a file path, that file usually has a extension .idf.

idd

Any acceptable input of use_idd(). If NULL, which is the default, the version of IDF will be passed to use_idd(). If the input is an .ddy file which does not have a version field, the latest version of Idf cached will be used.

encoding

The file encoding of input IDD. Should be one of "unknown", "Latin-1" and "UTF-8". The default is "unknown" which means that the file is encoded in the native encoding.

An Idf object.

## Details

Currently, Imf file is not fully supported. All EpMacro lines will be treated as normal comments of the nearest downwards object. If input is an Imf file, a warning will be given during parsing. It is recommended to convert the Imf file to an Idf file and use ParametricJob class to conduct parametric analysis.

Idf class for modifying EnergyPlus model. use_idd() and download_idd() for downloading and parsing EnergyPlus IDD file. use_eplus() for configuring which version of EnergyPlus to use.

Hongyuan Jia

## Examples

if (FALSE) {
# example model shipped with eplusr from EnergyPlus v8.8
idf_path <- system.file("extdata/1ZoneUncontrolled.idf", package = "eplusr") # v8.8

# if neither EnergyPlus v8.8 nor Idd v8.8 was found, error will occur
# if EnergyPlus v8.8 is found but Idd v8.8 was not, Energy+.idd in EnergyPlus
# installation folder will be used for pasing
# if Idd v8.8 is found, it will be used automatically
is_avail_eplus(8.8)
is_avail_idd(8.8)

# argument idd can be specified explicitly using use_idd()

# you can set download arugment to "auto" in use_idd() if you want to
`