Menu

Running GridLAB-D on Eclipse

2018-08-17
2018-09-24
  • Victor Gutierrez

    Hi all

    I followed the steps described in http://gridlab-d.shoutwiki.com/wiki/MinGW/Eclipse_Installation to run and debug GridLab-D in Eclipse. However, when I try to run and validate the script the following errors appear:

    Assignment to itself 'V_Out = V_Out' battery.cpp /TestGridVictor/generators line 1810 Code Analysis Problem

    Field 'gl_create_object' could not be resolved battery.cpp /TestGridVictor/generators line 1942 Semantic Error

    Field 'gl_find_next' could not be resolved battery.cpp /TestGridVictor/generators line 437 Semantic Error

    Field 'gl_find_objects' could not be resolved battery.cpp /TestGridVictor/generators line 410 Semantic Error

    Field 'gl_random_normal' could not be resolved battery.cpp /TestGridVictor/generators line 525 Semantic Error

    Field 'gl_tohours' could not be resolved battery.cpp /TestGridVictor/generators line 1716 Semantic Error

    Field 'gl_tohours' could not be resolved battery.cpp /TestGridVictor/generators line 1716 Semantic Error

    Processing C:\Users\DR\Documents\GitHub\gridlab-d/powerflow/autotest/test_ZIPLoad_ZeroBase_FBS.glm...
    ERROR [INIT] : C:\Users\DR\Documents\GitHub\gridlab-d/market/autotest/test_unitless_bid_quantity_err.glm exception unexpected, code 5 (simulation failed) in 2.1 seconds

    Processing C:\Users\DR\Documents\GitHub\gridlab-d/powerflow/autotest/test_regulator_outputvolt_YY_B_ts.glm...
    ERROR [INIT] : C:\Users\DR\Documents\GitHub\gridlab-d/powerflow/autotest/test_duplicate_NR_err.glm exception unexpected, code 5 (simulation failed) in 2.4 seconds

    Could you help me with this?

    Also, I assume, as obvious, that when the script is run, all files in the autotest folder are executed, Am I right?

    Thank you very much in advance.

    Victor

     
    • Frank Tuffner

      Frank Tuffner - 2018-08-24

      Hello Victor,

      If you are executing the command shown in the directions (-T 0 --validate), you are correct that it will parse through the files in the autotest folder and execute them. It appears it is trying to do that, but as you pointed out, something is failing.

      The first portions of the errors appear to be more with Eclipse, GDB, and the source code properly linking together. I'd make sure you're using the most up-to-date copy of Eclipse (including checking the specific version for updates), and try "re-adding" a freshly built repository to your Eclipse space. Also make sure you've configured it in debug mode (usually the -g flag for the compiler options) -- Eclipse may not be able to resolve the symbols otherwise.

      When you run the --validate script, it creates a new folder under autotest for each of the test_XXX.glm files. Inside that folder, there are typically various forms of the output streams (e.g., .err, .inf, .out). Those are standard text files and may lend some further insights into your problem. Given the autotests are failing, there's likely some type of path or build issue with your copy of GridLAB-D. Take a look at those (especially the .err file) and post any message back here.

      Also, run a gridlabd --version command (or put --version in the Eclipse parameters) and paste the response back -- we'll want to make sure you're using a version compatible with Eclipse.

      -Frank

       
  • Victor Gutierrez

    Hello Frank
    Thank you for your response

    I have installed the Eclipse Version: Photon Release (4.8.0), Build id: 20180619-1200 and I have checked for updates at help>check for updates to be sure I have the most up-to-date copy. However, I don't know how to add a new built repository to the Eclipse Space. I checked the compiler options and found that the -g flag is included in the compiler settings and the name of the built repository is according to the name of my project.

    By checking the autotest folders I have found the following messages in the .err files:

    1. C:\Users\DR\Documents\GitHub\gridlab-d\gldcore\autotest\test_external_null_source
      test_external_null_source.glm(47): load failed at or near 'class noise ...'
      ERROR [INIT] : unable to load 'test_external_null_source.glm': Invalid argument
      FATAL [INIT] : shutdown after command line rejected

    2. C:\Users\DR\Documents\GitHub\gridlab-d\powerflow\autotest\test_fuse_switched_out_of_service
      ERROR [2009-07-01 10:00:30 EDT] : sync_node(obj=127;Feeder1Inter): NR: Failure to construct single/double phase line indices
      ERROR [2009-07-01 10:00:30 EDT] : 2009-07-01 10:00:30 EDT: object Feeder1Inter stopped its clock (exec)!
      ERROR [2009-07-01 10:00:30 EDT] : exec halted: synchronization failed
      FATAL [2009-07-01 10:00:30 EDT] : shutdown after simulation stopped prematurely
      FATAL [2009-07-01 10:00:30 EDT] : environment startup failed: Invalid argument

    3. C:\Users\DR\Documents\GitHub\gridlab-d\tape\autotest\test_delta_player_first_delta_timestep_err
      ERROR [2001-01-01 00:00:00.009999990 PST] : deltamode player: player "(anon)" has a deltamode timestep starting it - please avoid this
      ERROR [2001-01-01 00:00:00.009999990 PST] : delta_update(): interupdate failed
      ERROR [2001-01-01 00:00:00.009999990 PST] : delta_update() failed, deltamode operation cannot continue
      ERROR [2001-01-01 00:00:00.009999990 PST] : exec halted: Deltamode simulation failure
      FATAL [2001-01-01 00:00:00.009999990 PST] : shutdown after simulation stopped prematurely
      FATAL [2001-01-01 00:00:00.009999990 PST] : environment startup failed: No such file or directory

    4. C:\Users\DR\Documents\GitHub\gridlab-d\residential\autotest\test_plugload_internal_gains_hf
      ERROR [2000-01-01 00:00:00 PST] : recorder: property 'enduse_load' not found
      ERROR [2000-01-01 00:00:00 PST] : recorder 3 'demand,enduse_load,heatgain_fraction,heatgain' contains a property of plugload 1 that is not found

    5. C:\Users\DR\Documents\GitHub\gridlab-d\residential\autotest\test_plugload_enduse_load
      FATAL [INIT] : Invalid time of day provided in datetime

    6. C:\Users\DR\Documents\GitHub\gridlab-d\residential\autotest\test_occupantload_enduse_load0
      ERROR [2000-01-01 00:00:00 PST] : sync_player: Unable to open player file 'generic_demand.glt' for object '(anon)'

    7. C:\Users\DR\Documents\GitHub\gridlab-d\residential\autotest\test_microwave_cycle_length_limits_err
      ERROR [INIT] : init_microwave(obj=1;unnamed): negative cycle_length is an invalid value
      ERROR [INIT] : init_by_deferral(): object microwave:1 initialization failed
      ERROR [INIT] : model initialization failed
      FATAL [INIT] : shutdown after simulation stopped prematurely
      FATAL [INIT] : environment startup failed: Invalid argument

    8. C:\Users\DR\Documents\GitHub\gridlab-d\residential\autotest\test_lights_implicit_power4
      ERROR [2001-03-25 00:00:00 PST] : sync_player: Unable to open player file 'test_lights_explicit_power4.player' for object '(anon)'

    9. C:\Users\DR\Documents\GitHub\gridlab-d\residential\autotest\test_lights_implicit_power3
      ERROR [2001-03-28 00:00:00 PST] : sync_player: Unable to open player file 'test_lights_explicit_power3.player' for object '(anon)'

    10. C:\Users\DR\Documents\GitHub\gridlab-d\residential\autotest\test_lights_implicit_power2
      ERROR [2001-07-01 00:00:00 PDT] : sync_player: Unable to open player file 'test_lights_explicit_power2.player' for object '(anon)'

    11. C:\Users\DR\Documents\GitHub\gridlab-d\residential\autotest\test_lights_implicit_power1
      ERROR [2001-07-03 01:00:00 PDT] : sync_player: Unable to open player file 'test_lights_explicit_power1.player' for object '(anon)'

    12. C:\Users\DR\Documents\GitHub\gridlab-d\residential\autotest\test_dryer
      ERROR [2009-01-05 00:00:00 PST] : recorder: property 'dryer_demand' not found
      ERROR [2009-01-05 00:00:00 PST] : recorder 4 'total_power,energy_used,energy_needed,dryer_demand,next_t,queue,dryer_run_prob' contains a property of dryer 1 that is not found

    13. C:\Users\DR\Documents\GitHub\gridlab-d\powerflow\autotest\test_triplex_invalid_conductor_FBS_err
      ERROR [INIT] : init_triplex_line(obj=8;unnamed): triplex_line:8 - Unnamed - configuration does not use a triplex_line_conductor for at least one phase!
      ERROR [INIT] : init_by_deferral(): object triplex_line:8 initialization failed
      ERROR [INIT] : model initialization failed
      FATAL [INIT] : shutdown after simulation stopped prematurely
      FATAL [INIT] : environment startup failed: Invalid argument

    14. C:\Users\DR\Documents\GitHub\gridlab-d\powerflow\autotest\test_triplex_invalid_conductor_NR_err
      ERROR [INIT] : init_triplex_line(obj=8;unnamed): triplex_line:8 - Unnamed - configuration does not use a triplex_line_conductor for at least one phase!
      ERROR [INIT] : init_by_deferral(): object triplex_line:8 initialization failed
      ERROR [INIT] : model initialization failed
      FATAL [INIT] : shutdown after simulation stopped prematurely
      FATAL [INIT] : environment startup failed: Invalid argument

    15. C:\Users\DR\Documents\GitHub\gridlab-d\powerflow\autotest\test_fuse_switched_out_of_service
      ERROR [2009-07-01 10:00:30 EDT] : sync_node(obj=127;Feeder1Inter): NR: Failure to construct single/double phase line indices
      ERROR [2009-07-01 10:00:30 EDT] : 2009-07-01 10:00:30 EDT: object Feeder1Inter stopped its clock (exec)!
      ERROR [2009-07-01 10:00:30 EDT] : exec halted: synchronization failed
      FATAL [2009-07-01 10:00:30 EDT] : shutdown after simulation stopped prematurely
      FATAL [2009-07-01 10:00:30 EDT] : environment startup failed: Invalid argument

    16. C:\Users\DR\Documents\GitHub\gridlab-d\powerflow\autotest\test_node_phaseS_check_FBS_err
      ERROR [INIT] : init_meter(obj=9;tpl_load2): Object:9 - tpl_load2 -- has a phase S, but is not triplex!
      ERROR [INIT] : init_by_deferral(): object tpl_load2 initialization failed
      ERROR [INIT] : model initialization failed
      FATAL [INIT] : shutdown after simulation stopped prematurely
      FATAL [INIT] : environment startup failed: Invalid argument

    And there are like other 15 errors more but I didn't want to make this message so long. As I´m new using Eclipse, I'm trying to figuring out how to put --version in the eclipse parameters.
    However, I ran Gridlab-d and obtained:

    gridlabd --version
    Process started (PID=14988) >>>
    GridLAB-D 4.0.0-17448 (Keeler) 64-bit WINDOWS RELEASE
    <<< Process finished (PID=14988). (Exit code 0)

    I hope you have time to help me with this.
    Thank you very much in advance

     
    • Frank Tuffner

      Frank Tuffner - 2018-08-29

      Hello Victor,

      Regarding importing projects into Eclipse, it should have the instructions on the Wiki located here. Are these the directions you used to download/compile/prepare GridLAB-D? There are a couple items in your message that make me not sure you saw these directions.

      The first is you mentioned you have the compiler options -- where did you "set" the -g option? It should be set as part of the ./configure command you run to compile GridLAB-D. Looking at your --version output, it shows "RELEASE" in the output.

      The --version output also concerns me a little in that the version number looks suspiciously like the standard 4.0 release, not one built from the source code. If you did use the instructions above, I have a sneaking suspicion you have GridLAB-D installed on your computer (as in the full release, downloaded as the compiled executable). Eclipse is probably trying to use the wrong version to run things, which is why you're encountering problems. This also explains a lot of your errors - many of those are "newer" autotest files that have features not included in 4.0 (but they are in /develop or 4.1).

      What you'll probably want to do is make sure you don't have an "installed" version of GridLAB-D on your computer (if it is in your Add/Remove Programs, or if you see a folder under C:\Program Files\GridLAB-D or C:\Program Files (x86)\GridLAB-D). That would probably conflict with any compiled versions, and give you odd results.

      I'm hoping that last item is what is causing the main problems.

      -Frank

       
  • Victor Gutierrez

    Hi Frank
    Thank you very much for your help
    I have followed the instructions of the page you mention.
    Also, I was a little confused about the -g option and I figured out the flag needed to be set in the compilation stage of GridLab-D (as stated in the mentioned page).
    On the other hand, as you mentioned, I had installed GridLab-D in my computer and was removed before I tried again the validation test.
    As per your response, I have included the --version in the Eclipse parameters and this is the output:

    Processing C:\Users\DR\Documents\GitHub\gridlab-d/climate/autotest/test_cloud_tmy3.glm...GridLAB-D 4.0.0-17448 (Keeler) 64-bit WINDOWS RELEASE
    GridLAB-D 4.0.0-17448 (Keeler) 64-bit WINDOWS RELEASE

    As you can see, the version is the 4.0 and the associated errors are due to this.
    Could you give me some guidance about how to be sure the GitHub Desktop forks the latest GitLab version?

    Again, thank you very much for your time.

    Regards,

    Victor

     
  • Victor Gutierrez

    Hello again.
    I have tried to compile the latest version of GridLab-D from: https://github.com/gridlab-d/gridlab-d/tree/develop and followed the same steps as before.
    When ran the validation script the same errors appeared and the version is still showing:
    GridLAB-D 4.0.0-17448 (Keeler) 64-bit WINDOWS RELEASE

    It seems that the old build of GridLab-D is considered. Do I need to delete the associated directory from PATH, GLPATH and CXXFLAGS? Furthermore, for every new GridLab-D build, Do I need to do this?

    Thnk you very much

     
    • Frank Tuffner

      Frank Tuffner - 2018-09-05

      Hello Victor,
      Apologies for the delay in getting back to you. That definitely looks like the old version is still overriding things. Ideally, you should see something similar to:

      GridLAB-D 4.0.0-17773 (d9e8eed1:develop) 64-bit WINDOWS RELEASE
      

      To get it properly using the "built from source code" version, you probably will need to remove the existing folder from those environmental variables. Ideally, if you go under your "Add/Remove Programs" or "Programs and Features" (depending on Windows version), any installed versions of GridLAB-D should be in there -- if you just uninstall that version, it should remove the various environmental variables.

      If you wanted to test it as a different approach first, you can just edit/override those variables in a command prompt. This is a bit more technical though, so editing those variables or uninstalling any "previously installed versions" is the best bet.

      -Frank

       
  • Victor Gutierrez

    Hello Frank.

    Thank you very much for your help.
    I will try to delete any trace of old GridLAB-D versions, including the environmental variables, to see if it works properly, and I hope this fix the problems I am facing.

    Regards,

    Victor

     
  • Brian Lockyear

    Brian Lockyear - 2018-09-20

    I am also having difficulties building the latest develop branch in a clean workspace. I do my third_party builds which seem to be fine. But when I run the config command for gridlab-d (cut and pasted from this page: http://gridlab-d.shoutwiki.com/wiki/MinGW/Eclipse_Installation#GridLAB-D (64 bit build) it reports that libxerces-c cannot be found.

    configure: WARNING: missing libxerces-c; build will fail until dependency is met


    gridlabd 4.1.0: Automatic configuration failed.

    Dependencies:

    MinGW: ...................... yes
    Doxygen: .................... no
    libcppunit: ................. no
    libxerces-c: ................ no (required)
    matlab: ..................... no
    mysql-connector-c: .......... no
    curses: ..................... no
    

    Atomic Builtins:

    __sync_bool_compare_and_swap: yes
    __sync_add_and_fetch: ....... yes
    

    Installation paths:

    Scripts: .................... /c/src/GLD2/install64/bin
    Libraries: .................. /c/src/GLD2/install64/lib/gridlabd
    Documentation: .............. /c/src/GLD2/install64/share/doc/gridlabd
    

    Building:

    type 'make' to compile gridlabd.
    type 'make install' to install gridlabd in /c/src/GLD2/install64.
    

    Earlier in the output I see:

    checking for Xerces C++ Parser headers in /opt/windows_64/mingw/include and /opt/windows_64/mingw/include/xercesc... found
    checking for Xerces C++ Parser libraries... not found
    checking for Xerces C++ Parser... no

    Ignoring these errors and going ahead with the make command in the repo space I get this error...

    $ make
    /bin/bash -c "source utilities/build_number . gldcore/build.h"
    Updating gldcore/build.h: revision 17791 (278b3867:PNNL/develop)
    /c/src/GLD2
    make all-am
    make[1]: Entering directory /c/src/GLD2' CXX climate/climate_climate_la-climate.lo In file included from climate/climate.cpp:11:0: climate/climate.cpp: In member function 'void climate::init_cloud_pattern()': climate/climate.cpp:1071:13: error: expected unqualified-id before '(' token if (!std::isnan(longitude) && !std::isnan(latitude)) { ^ climate/climate.cpp:1071:39: error: expected unqualified-id before '(' token if (!std::isnan(longitude) && !std::isnan(latitude)) { ^ make[1]: *** [climate/climate_climate_la-climate.lo] Error 1 make[1]: Leaving directory/c/src/GLD2'
    make: *** [all] Error 2

    All this process used to work... but now it doesn't. I've been trying to go back to a clean build to see if I could recover but so far no luck...

     - Brian -
    
     
    • aro

      aro - 2018-09-21

      Hello Brian
      see : this link
      and this file : link
      I hope this could help you !
      -aro

       

      Last edit: aro 2018-09-21
    • Frank Tuffner

      Frank Tuffner - 2018-09-21

      Hello Brian,

      With version 4.1, we changed the build process slightly. Instead of using the MSYS and Winbuilds environment on Windows, we've migrated to MSYS2. Aro linked to a forum thread and the installation instructions -- if you download a 4.1+ repository, there should be a BuildingGridlabdOnWindowsWithMsys2.docx file, which has the updated instructions. We'll hopefully get the Wiki updated soon (we're a little behind getting all of the 4.1 details updated).

      -Frank

       
  • Brian Lockyear

    Brian Lockyear - 2018-09-24

    Oh wow! That's big. Thanks for the pointer, I'll give it a try.

     

Log in to post a comment.