Skip to content

Releases: hongyuanjia/eplusr

eplusr v0.16.3

23 Apr 10:37

Choose a tag to compare

New features

  • Now install_eplus() can choose the installer most suitable for current OS
    version (#579).

  • Now install_eplus() gains a new portable parameter. If set to TRUE, it
    the zip (on Windows) and tar.gz (on macOS and Linux) file provided for
    EnergyPlus v8.8 and above and directly uncompressed it into the target
    directory (#583).

Bug fixes

  • Provide more meaningful error messages when installing unsupported EnergyPlus
    version (#590).

  • Give correct error messages when querying multiple IdfObjects with both class
    and object info given (#594).

  • Fix AMY EPW file parsing (#596).

eplusr v0.16.2

26 Aug 14:22

Choose a tag to compare

Bug fixes

  • Support design condition specs from ASHRAE HOF 2021 (#571).
  • Use NA_character_ instead of NA for numeric_version() (#572).

New features

  • Update weather database for OneBuilding (#574).

eplusr v0.16.1

19 Jun 15:40
e45e843

Choose a tag to compare

Bug fixes

  • Fix edge cases of IDF/IDD parsing (#566).

Internal refactor

  • Use character input for numeric_version() (#565).
  • Skips tests that need IDD downloading on CRAN (#561).

eplusr v0.16.0

17 May 13:01

Choose a tag to compare

New features

  • Add support for EnergyPlus v22.1 (#517).
  • Add support for EnergyPlus v22.2 (#530).
  • Add support for EnergyPlus v23.1 (#548).
  • Update weather database (#519).
  • Add support Space in IdfGeometry. Results from IdfGeometry$area(), IdfGeometry$tilt() and IdfGeometry$azimuth() now include a new column space indicating the spaces where the surfaces are attached to. IdfGeometry$view() and IdfViewer$show() now can render by spaces (#535).

Bug fixes

  • IdfGeometry$convert() now work for EnergyPlus v9.6 and above (#536).
  • Now IMF files can be handled correctly (#537).
  • Now idf$add(), idf$set() and other methods accept any list inputs on the
    RHS instead of explicitly restricting to list() (#545).

Internal refactor

  • Use testthat 3rd edition for parallel testing (#478).
  • Update minimal {data.table} version requirement to 1.14.6 to fix (#415).
  • Remove {crayon} and {progress} dependencies (#432).
  • Move {hms} to Suggest (#557).

eplusr v0.15.3

21 Nov 01:16

Choose a tag to compare

Bug fixes

  • Fix EPW parsing error due to an update of lubridate (#532).

eplusr v0.15.2

19 Aug 10:59

Choose a tag to compare

New features

  • A new encoding parameter has been added in read_idf(), use_idd() and
    read_epw(). The default value is unknown which indicates that the input
    file is native encoded (#515).
  • Now validate_level option is respected when parsing EPW files. This makes it
    possible to parse EPW files with non-standard EPW header values, which is
    useful when only the core EPW data is needed (#520). E.g:
    with_option(list(validate_level = "none"), read_epw(YOUR_EPW_PATH))
    

Bug fixes

  • Now IdfGeometry$coord_system() can correctly work. The coordinate system
    type can also be "world". "absolute" input now is automatically converted
    to "world" to be compatible with EnergyPlus. IdfGeometry$coord_system()
    now returns itself by default, instead of the parent Idf object. This
    enables to check the modified coordinate systems by printing the IdfGeometry
    (#506 #507).
  • Fix Idf$load() when input is a single string without any new line (\n)
    (#510).
  • Fix IdfViewer$snapshot() for PNG output. A new parameter webshot has been
    added in IdfViewer$snapshot() with default value being FALSE (#509).
  • Now IdfSchedule$... <- val works (#512).
  • Fix the error of invalid datetime in Epw$data() when data of Feb 28 is from
    a leap year while the EPW did not contain any leap year data (#522).

Documentation

  • Regenerate package documentation to fix CRAN NOTES on HTML manuals (#525).

eplusr v0.15.1

21 Jan 08:55

Choose a tag to compare

Bug fixes

  • Fix ParametricJob$cases() when multiple objects are specified on the LHS in ParametricJob$param() (#492).
  • Fix install_eplus(9.1) on Linux (#494, #495).
  • Now ParametricJob$run() can correctly use weather file when only one parametric model exists (#497).

Minor changes

  • Compatibility changes for incoming {units} v0.8 (#499).

eplusr v0.15.0

18 Nov 00:50

Choose a tag to compare

New features

  • Idd$path() is added to show the path of IDD parsed (#442).

  • Add epw data sources from climate.onebuilding.org for download_weather(). type will always be "all" for those sources (#453).

  • Add a new "stat" option in type in download_weather() (#453).

  • Idf$is_valid_id() and Idf$is_valid_name() gain a new argument named class defaulting to NULL to check the validity of object IDs and names again a specific class.

  • Add support for EnergyPlus v9.5 (#438).

  • Add support for EnergyPlus v9.6 (#460).

  • Internal function locate_eplus() has been exported to enable user to find all available EnergyPlus without restarting R (#477).

  • uninstall_eplus() has been added to enable uninstall EnergyPlus from R on all platform (#477).

  • Now force re-installation of EnergyPlus install_eplus(force = TRUE) has been updated to support all platforms, including macOS (#477).

  • install_eplus() has been updated to behave smarter on macOS (#477).

  • run_idf() and run_multi() have been refactored to mimick the Epl-run.bat procedure. It supports to call the Basement and Slab processors. Now the requirement of EnergyPlus >=v8.3 for running simulations has been droppped Now simulations with FMU, including obFMU are supported. (#467).

  • HVAC-Diagram will be called when running simulations to make sure the svg output of HVAC diagram can be generated. Therefore, hvac_diagram() has been deprecated and will be removed in next major version (#467).

  • Functions path_eplus() and path_eplus_*() have been added to help specify file paths under EnergyPlus installation directory (#467).

  • A new Idf method $external_deps() is added to extra any external file resources specified in the IDF that are needed for simulation, e.g. schedule files (#467).

  • Now Idf$save(external = TRUE) and Idf$run(copy_external) save external file dependencies based on the results of Idf$external_deps() (#467).

  • A new EplusJob method $list_files() is added to list all inputs and output files for current simulation (#467).

  • A new argument readvars can be specified in EplusJob$run() and EplusGroupJob$run(). Setting it to FALSE will disable to run ReadVarsESO post-processor and thus no CSVs will be generated for Report variables and meters. This can speed up simulations significantly if there are hundreds of outputs in the model. Setting it to FALSE will not affect any data extraction functionalities in eplusr, as it uses the SQLite output instead of the CSVs (#467).

  • Now .() can also be used as an alias as list() in Idf$add() and Idf$set() (#445).

    idf$add(Output_Variable = .("*", "zone mean air temperature"))
    # is equivalent to
    idf$add(Output_Variable = list("*", "zone mean air temperature"))
  • A new argument names can be specified in ParametricJob$models() to rename the parametric models created (#487).

  • A new interface for creating parametric models has been introduced using ParametricJob$param(). It takes parameter definitions in list format, which is similar to Idf$set() except that each field is not assigned with a single value, but a vector of any length, indicating the levels of each parameter. For example, the code block below defines 3 parameters (#487):

    • Field Fan Total Efficiency in object named Supply Fan 1 in class Fan:VariableVolume class, with 10 levels being 0.1 to 1.0 with a 0.1 step.
    • Field Thickness in all objects in class Material, with 10 levels being 0.01 to 0.1 m with a 0.1 m step.
    • Field Conductivity in all objects in class Material, with 10 levels being 0.1 to 1.0 W/m-K with a 0.1 W/m-K step.
    param$param(
        `Supply Fan 1` = list(Fan_Total_Efficiency = seq(0.1, 1.0, 0.1)),
        Material := list(Thickness = seq(0.01, 0.1, 0.1), Conductivity = seq(0.1, 1.0, 0.1))
    )
    
  • ParametricJob$cases() is added to get a summary of parametric models and parameter values. It returns a data.table giving you the indices and names of the parametric models, and all parameter values used to create those models.For parametric models created using ParametricJob$param(), the column names will be the same as what you specified in .names. For the case of ParametricJob$apply_measure(), this will be the argument names of the measure functions (#487).

  • Now .names in ParametricJob$apply_measure() can be a single character. In this case, it will be used as the prefix of all parametric models. The models will be named in the pattern .names_X where X is the model index (#487).

Break changes

  • hvac_diagram() has been deprecated as HVAC-Diagram will always be called after EnergyPlus simulation. If you still want to generate HVAC svg diagram manually, please use HVAC_Diagram() instead (#467).

Minor changes

  • When type is "all" in download_weather(), the ZIP file will be downloaded instead of downloading both EPW and DDY files (#453).
  • EplusJob$output_dir() now use backslash in the returned path on Windows (#467).
  • Better error message when no arguments are given to the measure function in ParametricJob$apply_measure() (#487).

Bug fixes

  • Fix the year value calculation when first day of a run period is holiday (#450).
  • Fix download_weather() file downloading URL (#452).
  • Fix EplusSql$report_data(..., wide = TRUE) when Do HVAC Sizing Simulation for Sizing Periods is set to Yes in SimulationControl (#461).
  • Now read_idf() and other functions that read files from disk can use stringi::stri_enc_detect() to fix encoding issue (#467).
  • Now ParametricJob$run(dir = NULL) will always use the seed model directory (#483).

eplusr v0.14.2

26 May 00:52

Choose a tag to compare

New features

  • IddObject$output() is added to extract all possible outputs of current class. All outputs are extracted from the LaTeX source file of "Input Output Reference" for EnergyPlus v8.5.0 and later. So empty result will always be returned for Idd version lower than v8.5. It is possible that there are some mistakes introduced when extracting the output variables. Also, some outputs are only available if certain fields are set. Even they are listed in the results, it does not mean that the Idf can report all of them. It is strongly suggested to check the RDD and MDD file for correctness (#427). Example:

    idd <- use_idd(8.8)
    idd$Lights$outputs()

Break changes

  • Autocompletion is enabled by registering a S3 .DollarNames method. Option autocomplete is deprecated. A warning is issued if you try to set it in eplusr_option(). Also, with_speed() is deprecated and falls back to without_checking() when called (#417).

Bug fixes

  • Fixed wrong transition of FuelFactors from v9.2 to v9.3 (#420).
  • Fixed Idf$del error when both sources and referees are given (#433).

Minor changes

  • Better error and verbose messages (#422, #423).

eplusr v0.14.1

26 Feb 05:59

Choose a tag to compare

Minor changes

  • Compatible changes for units v0.7-0 (#410).