GreenInfo-Network / seattle-building-dashboard

Energy benchmarking for Seattle
https://greeninfo-network.github.io/seattle-building-dashboard/
ISC License
1 stars 0 forks source link

Run PDF maker #15

Closed danrademacher closed 2 years ago

danrademacher commented 2 years ago

Once the reports are built, we need to run Stamen's PDF scripts and see what we get, and what needs fixing.

First, we need to update the documentation, etc.

┆Issue is synchronized with this Asana task ┆Due Date: 2021-12-21

danrademacher commented 2 years ago

So far:

  1. Need to figure out best values for the live version of pdf-generator-config-example.js
  2. Need to determine the CSV input format that it expects. Running with the whole dataset didn't work. Maybe just building IDs?
  3. Added a .nvmrc file to this directory as well, assuming same node as parent application
danrademacher commented 2 years ago

I got sample inputs and docs from Terry, saved to GIN-owned Drive here, https://drive.google.com/open?id=1gg5_T3G51p1-I8dto3s4E85YoluvDzzB&authuser=dan%40greeninfo.org&usp=drive_fs. We should document at least the input CSV format in the README so one can make a sample file for testing.

I just tried the first 100

% node index.js -i '/Volumes/GoogleDrive/My Drive/GreenInfo-Master/P_projects/proj_p_s/Seattle Building Dashboard/Data Tracking/pdf-generation/seattle_buildings_master_copy_for_update2020-PDF_gen_schema-100.csv' --base-url https://greeninfo-network.github.io/seattle-building-dashboard/
Generating PDF for building 828
Generating PDF for building 276
Generating PDF for building 198
Generating PDF for building 43
Generating PDF for building 49770
Page error for 49770: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Generating PDF for building 49973
Generating PDF for building 49982
Generating PDF for building 268
Generating PDF for building 477
Generating PDF for building 49940
Generating PDF for building 23071
Generating PDF for building 23113
Generating PDF for building 49974
Generating PDF for building 22062
Generating PDF for building 49976
Generating PDF for building 338
Generating PDF for building 45927
Generating PDF for building 49725
Generating PDF for building 27100
Generating PDF for building 25251
Generating PDF for building 50523
Generating PDF for building 49732
Generating PDF for building 49783
Generating PDF for building 84
Generating PDF for building 27
Page error for 50523: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Page error for 84: 'Error: TypeError: Cannot read property '2017' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 753
Generating PDF for building 23311
Generating PDF for building 435
Generating PDF for building 675
Generating PDF for building 147
Page error for 675: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Page error for 147: 'Error: TypeError: Cannot read property 'toLocaleString' of null
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:268:34)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 389
Generating PDF for building 21114
Generating PDF for building 49926
Generating PDF for building 26
Generating PDF for building 63
Page error for 21114: 'Error: TypeError: Cannot read property '2017' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 24086
Generating PDF for building 387
Generating PDF for building 50298
Generating PDF for building 588
Generating PDF for building 466
Page error for 50298: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Generating PDF for building 498
Generating PDF for building 401
Generating PDF for building 3
Generating PDF for building 19900
Generating PDF for building 410
Generating PDF for building 656
Generating PDF for building 21741
Generating PDF for building 25965
Generating PDF for building 525
Generating PDF for building 470
Page error for 25965: 'Error: TypeError: Cannot read property '2017' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Page error for 21741: 'Error: TypeError: Cannot read property '2017' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 488
Generating PDF for building 60
Generating PDF for building 21476
Generating PDF for building 249
Generating PDF for building 114
Generating PDF for building 333
Generating PDF for building 26550
Generating PDF for building 50094
Generating PDF for building 48287
Generating PDF for building 765
Page error for 26550: 'Error: TypeError: Cannot read property '2017' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 25222
Generating PDF for building 26157
Generating PDF for building 267
Generating PDF for building 50530
Generating PDF for building 758
Page error for 26157: 'Error: TypeError: Cannot read property '2017' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Page error for 50530: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Generating PDF for building 50376
Generating PDF for building 50263
Generating PDF for building 19925
Generating PDF for building 21776
Generating PDF for building 29390
Page error for 50376: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Generating PDF for building 49865
Generating PDF for building 315
Generating PDF for building 172
Generating PDF for building 49981
Generating PDF for building 487
Generating PDF for building 261
Generating PDF for building 21344
Generating PDF for building 314
Generating PDF for building 640
Generating PDF for building 245
Page error for 21344: 'Error: TypeError: Cannot read property '2017' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 480
Generating PDF for building 475
Generating PDF for building 49922
Generating PDF for building 19899
Generating PDF for building 21364
Page error for 49922: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Page error for 21364: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Generating PDF for building 50516
Generating PDF for building 657
Generating PDF for building 50416
Generating PDF for building 20765
Generating PDF for building 50294
Page error for 50294: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Page error for 50516: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Page error for 50416: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Generating PDF for building 313
Generating PDF for building 811
Generating PDF for building 20875
Generating PDF for building 764
Generating PDF for building 50378
Page error for 50378: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Generating PDF for building 50304
Generating PDF for building 49977
Generating PDF for building 50259
Generating PDF for building 738
Generating PDF for building 21335
Page error for 50304: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'
Page error for 50259: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)
    at p (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3792)
    at g (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3460)
    at l (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:1295)
    at s.h.trigger (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3340)
    at set (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:5247)
    at s.onBuildingsSync (https://greeninfo-network.github.io/seattle-building-dashboard//app/router.js:242:18)
    at s.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js:1:3149)'

REGEXing out the errors, we have 22 buildings that failed:

49770
50523
84
675
147
21114
50298
25965
21741
26550
26157
50530
50376
21344
49922
21364
50294
50516
50416
50378
50304
50259

I'm extracting those from CARTO to see what is different about the data for those records

danrademacher commented 2 years ago

Layout issues noted so far (to become separate issues)

  1. The title year is wrong. I think this is just needing to include -y 2020 when we run the report generation command image

  2. The top area needs some refinement for Print css: image

  3. Even when the cbps_flag is TRUE that stuff doesn't appear. See 43.pdf and 49973.pdf as examples. Both should have the alert and the hart section but do not. 43 lacks EUI and EUIt while 49973 has all info and both appear properly in browser

danrademacher commented 2 years ago

I wanted to try the script pointing at the production code with the same 100 buildings, to see if they would render correctly or not. Meanwhile, I had upgraded my laptop to macOS Big Sur. No other changes but now the PDF Generator script is failing with

/Users/dan/Documents/GINlocalcode/seattle-building-dashboard/pdf-generator/index.js:24
async function pageToPdf(buildingId, baseUrl, outputDir, year) {
      ^^^^^^^^

SyntaxError: Unexpected token function
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.runMain (module.js:611:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:160:9)

Since I have a .nvmrc file pinned to an old known-working node 6.17.1, I don't see why an OS update would change anything here. Maybe it's a restart and I'm missing something about the environment. Will try again tomorrow.

Note that the above error appears even for a simple node index.js to get the docs, which worked fine this afternoon. I tried a fresh install on my personal laptop (also Big Sur) and see the same result

danrademacher commented 2 years ago

Ah wait, says SO:

Async functions are not supported by Node versions older than version 7.6.

So maybe the main app is tied to a Node 6 but the PDF generator needs a newer node? Yup, that's it. I picked nvm use 14 out of the air and then at least the node index.js works again

danrademacher commented 2 years ago

OK, now I have it working against the production site, but two issues that make an apples-to-apples compare impossible:

  1. The live site has 2019 data and not 2020, so data issues would be different in each case.
  2. More importantly, running this against the live site is much slower and produces a ton of timeouts.

Ran this node index.js -i 'seattle_buildings_master_copy_for_update2020-PDF_gen_schema-100.csv' --base-url https://www.seattle.gov/energybenchmarkingmap/ -y 2019

Many errors like this TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded 'Error: Error: Load timeout for modules: text!templates/map_controls/property_type_selectlist.html_unnormalized2,text!templates/map/address_search.html_unnormalized3,text!templates/map/address_search_results.html_unnormalized4,text!templates/layout/activity_indicator.html_unnormalized5,text!templates/layout/building_counts.html_unnormalized6,text!templates/layout/compare_bar.html_unnormalized7,text!templates/scorecards/scorecard.html_unnormalized8,text!templates/layout/button.html_unnormalized9,text!templates/layout/mobile-alert.html_unnormalized10,text!templates/layout/footer.html_unnormalized11,text!templates/map/year_control.html_unnormalized12,text!templates/map_controls/category.html_unnormalized13,text!templates/layout/modal.html_unnormalized14,ionrangeslider,models/building_bucket_calculator,models/building_color_bucket_calculator,views/charts/histogram,utils/formatters,text!templates/map_controls/filter_section_header.html_unnormalized15,text!templates/map_controls/filter.html_unnormalized16,text!templates/map_controls/filter_quartile.html_unnormalized17,text!templates/map_controls/filter_container.html_unnormalized18,text!templates/map_controls/filter_building_details.html_unnormalized19,text!templates/map_controls/filter_property_type.html_unnormalized20,text!templates/map/building_info.html_unnormalized21,text!templates/map_controls/property_type_selectlist.html,text!templates/map/address_search.html,text!templates/map/address_search_results.html,text!templates/layout/activity_indicator.html,text!templates/layout/building_counts.html,text!templates/layout/compare_bar.html,text!templates/scorecards/scorecard.html,text!templates/layout/button.html,text!templates/layout/mobile-alert.html,text!templates/layout/footer.html,text!templates/map/year_control.html,text!templates/map_controls/category.html,text!templates/layout/modal.html,text!templates/map_controls/filter_section_header.html,text!templates/map_controls/filter.html,text!templates/map_controls/filter_quartile.html,text!templates/map_controls/filter_container.html,text!templates/map_controls/filter_building_details.html,text!templates/map_controls/filter_property_type.html,text!templates/map/building_info.html,views/../../lib/wrap,views/scorecards/charts/fueluse,views/scorecards/charts/shift,views/scorecards/charts/comments,text!templates/scorecards/building.html,text!templates/scorecards/links.html,views/scorecards/charts/building_type_table,text!templates/scorecards/city.html http://requirejs.org/docs/errors.html#timeout at makeError (https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.19/require.js:166:17) at checkLoaded (https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.19/require.js:692:23) at https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.19/require.js:713:25

So running this locally against the live site seems like a nonstarter.

danrademacher commented 2 years ago

I tried to run just the 22 errors again this morning against GH Pages and got different results.

Here's the terminal output:

Generating PDF for building 84
Generating PDF for building 50523
Generating PDF for building 675
Generating PDF for building 49770
Generating PDF for building 147
Page error for 84: 'Error: TypeError: Cannot read property '2020' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Page error for 50523: 'Error: TypeError: Cannot read property 'getAttribute' of null
    at Array._a.attr (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:3:11292)
    at s.renderCompareChart (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:769:64)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:296:12)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 50298
Generating PDF for building 26550
Generating PDF for building 25965
Generating PDF for building 21114
Generating PDF for building 21741
Page error for 25965: 'Error: TypeError: Cannot read property '2020' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Page error for 26550: 'Error: TypeError: Cannot read property '2020' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Page error for 21114: 'Error: TypeError: Cannot read property '2020' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Page error for 21741: 'Error: TypeError: Cannot read property '2020' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 49922
Generating PDF for building 50376
Generating PDF for building 50530
Generating PDF for building 21344
Generating PDF for building 26157
Page error for 21344: 'Error: TypeError: Cannot read property '2020' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Page error for 26157: 'Error: TypeError: Cannot read property '2020' of undefined
    at s.getCompareChartBinnedData (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:143:113)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:236:23)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 50516
Generating PDF for building 50378
Generating PDF for building 50294
Generating PDF for building 21364
Generating PDF for building 50416
Page error for 50378: 'Error: TypeError: Cannot read property 'getAttribute' of null
    at Array._a.attr (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:3:11292)
    at s.renderCompareChart (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:769:64)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:296:12)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Page error for 21364: 'Error: TypeError: Cannot read property 'toLocaleString' of null
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:268:34)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'
Generating PDF for building 50304
Generating PDF for building 50259
Page error for 50304: 'Error: TypeError: Cannot read property 'getAttribute' of null
    at Array._a.attr (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:3:11292)
    at s.renderCompareChart (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:769:64)
    at s.processBuilding (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:296:12)
    at show (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:103:12)
    at https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/building_scorecard.js:97:17
    at https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11426
    at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:11234)
    at Object.t (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:1565)
    at XMLHttpRequest.u (https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js:1:10094)'

The PDFs themselves are pretty variable.

Some look mostly fine except for various print.css issues that are likely true across all docs: 675.pdf

Some are just a header and a snippet of the footer: 84.pdf

On this run of the 22 that failed before, we have 11 still showing errors in terminal

Page error for 21114: 'Error: TypeError: Cannot read property '2020' of undefined
Page error for 21344: 'Error: TypeError: Cannot read property '2020' of undefined
Page error for 21364: 'Error: TypeError: Cannot read property 'toLocaleString' of null
Page error for 21741: 'Error: TypeError: Cannot read property '2020' of undefined
Page error for 25965: 'Error: TypeError: Cannot read property '2020' of undefined
Page error for 26157: 'Error: TypeError: Cannot read property '2020' of undefined
Page error for 26550: 'Error: TypeError: Cannot read property '2020' of undefined
Page error for 84: 'Error: TypeError: Cannot read property '2020' of undefined
Page error for 50304: 'Error: TypeError: Cannot read property 'getAttribute' of null
Page error for 50378: 'Error: TypeError: Cannot read property 'getAttribute' of null
Page error for 50523: 'Error: TypeError: Cannot read property 'getAttribute' of null

Based on a quick visual inspections of the PDFs, of those 11, 8 are mostly blank with just the header and part of the footer:

21114
21344
21364
21741
25965
26157
26550
84

Like this: image

Not sure yet about the other three

tomay commented 2 years ago

The errors Cannot read property '2020' of undefined that point to line 143 of building_scorecard.js are for buildings that don't have a building_type defined.

Interestingly, all of these are regression bugs. They had a building_type in 2019, but are blank now for any year:

True for: 21114 (Senior Care) 21344 (High-Rise Multifamily) 21741 (Senior Care) 25965 (Senior Care) 26157 (Senior Care) 26550 (Senior Care) 84 (Senior Care)

This is 7% of the first hundred, suggests that there could be hundreds of properties with this issue.

tomay commented 2 years ago

Page error for 21364: 'Error: TypeError: Cannot read property 'toLocaleString' of null

21364 has no site_eui_wn for 2020

tomay commented 2 years ago
Page error for 50304: 'Error: TypeError: Cannot read property 'getAttribute' of null
Page error for 50378: 'Error: TypeError: Cannot read property 'getAttribute' of null
Page error for 50523: 'Error: TypeError: Cannot read property 'getAttribute' of null

All of these render just fine now. So it had something to do with the state of the application when this was first attempted.

danrademacher commented 2 years ago

Just reran the test batch of 100 and got 14 errors:

Page error for 49770: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50523: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 675: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50298: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50530: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50376: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 49922: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 21364: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50416: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50294: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50516: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50378: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50304: 'Error: TypeError: Cannot read property 'get' of undefined
Page error for 50259: 'Error: TypeError: Cannot read property 'get' of undefined

Links to the live reports for testing:

These all seem to load fine in the browser version. Looking at the errors for each one, they all start with:

        name = buildingModel.get('property_name');

That's here, https://github.com/GreenInfo-Network/seattle-building-dashboard/blob/master/src/app/views/scorecards/controller.js#L184, though the error says Line 178, position 30. But the line above is 178:30 of https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js, which as a build artifact has some different line breaks at the top.

So the code isn't fetching the buildingModel to then have a property_name to get...

danrademacher commented 2 years ago

The full error is the same for all of these, through three lines of Seattle code, then back into Backbone stuff. The three lines of Seattle code are:

Page error for 50516: 'Error: TypeError: Cannot read property 'get' of undefined
    at showScorecard (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:178:30)
    at s.render (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:221:14)
    at s.onBuildingsChange (https://greeninfo-network.github.io/seattle-building-dashboard//app/views/scorecards/controller.js:50:28)

178:30 is the .get in here: name = buildingModel.get('property_name');

221:14 is the .showScorecard here: this.showScorecard();

50:28 is the render in the middle line here:

    onBuildingsChange: function onBuildingsChange() {
      if (this.dirty) this.render();
    },
danrademacher commented 2 years ago

And the rendered PDF files for these are completely blank, whereas previous errors would show some page content 675.pdf

tomay commented 2 years ago

All of these are working locally, and should be working on GH pages after redeploy (I did not test all of them)

danrademacher commented 2 years ago

OK, with latest code running, the sample of 100 pdfs ran properly. This seems to be working as expected now

danrademacher commented 2 years ago

sample 100 here https://drive.google.com/open?id=11q7KykrAWiKhNJVo7unQRAgAlAFjPl7M&authuser=dan%40greeninfo.org&usp=drive_fs

danrademacher commented 2 years ago

for the record, I ran this against all buildings in the system. It took 75 minutes and generated 3516 PDFs successfully, and reported 112 errors. So 3% error rate. Our experience in running the script is that sometimes the errors are transient and if we rerun, the PDFs are successful. Others reveal subtle issues between data and code. We'll see next week if I can time to dig into the 112. At this point, the PDF maker is in strong shape for running as they have in the past, just a few at a time.

Here's the report CSV output: scorecards.csv