Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question
1

Example to use the ReplaceOpenstudioModel measure

asked 2017-04-26 18:41:27 -0500

Chienman's avatar

updated 2017-04-26 23:44:13 -0500

Hey everyone, I've been running into a brick wall trying to get this measure to run inside of the Openstudio-analysis-spreadsheet in concert with the Openstudio-server. Has anyone run it successfully using this approach/approach, specifically setting it up on the spreadsheet and then passing it to the OpenStudio-server?

The server never likes the path that I am providing to it in the pivot array (I have a discrete set of strings that define the path to each seed model). I've provided the attachment of what my setup looks like in the spreadsheet.

image description

edit retag flag offensive close merge delete

Comments

Are you trying to use a recent 2.x AMI or 1.x?

ljbrackney's avatar ljbrackney  ( 2017-04-26 18:48:17 -0500 )edit

great question @ljbrackney. Not sure I know the answer to that. I provision my OpenStudio-server linux machine using the dockerize workflow, using the dockerfile and docker-compose script on git. I'm not sure, is that an official AMI?

Chienman's avatar Chienman  ( 2017-04-26 18:56:33 -0500 )edit

It sounds like you may be using 2.x code. One thought is that the measure may need to have its XML updated to 2.x. I haven't played with that measure since I use PAT to generate my JSONs and it handles multiple seeds a bit differently. I'll ping David or Brian to see if they have thoughts.

ljbrackney's avatar ljbrackney  ( 2017-04-26 19:02:29 -0500 )edit

Thanks, that would be great! I'll ask to see what the correlation is between the dockerize branch and official AMI releases

Chienman's avatar Chienman  ( 2017-04-26 19:08:53 -0500 )edit

The 2.x AMIs are built from the dockerize branch. I believe SOME of the later 1.x AMIs may have been built from it as well though.

ljbrackney's avatar ljbrackney  ( 2017-04-26 19:14:11 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
0

answered 2017-04-26 23:42:17 -0500

updated 2017-04-27 09:48:40 -0500

@Chienman If you are using the analysis spreadsheet, make sure you upload the model to the resources directory in the Setup Tab of the analysis spreadsheet.

image description

Then set argument to something like ../../lib/resources/SpeedTest1.osm, although I'm not familiar with the specific measure you are using. OpenStudio doesn't have a path argument so typically string argument is used to define path and/or file name.

As a note Pat 2.0 has a way to directly choose from multiple seed model, but if a measure wants to use resource files, I believe you can still add to the 'resources' directory within the project to assure it works both on cloud and local runs with same measure argument.

edit flag offensive delete link more

Comments

David is correct regarding PAT support for attaching/uploading resources files. The SEB example projects in the PAT repository provide examples of this.

ljbrackney's avatar ljbrackney  ( 2017-04-27 08:41:26 -0500 )edit

@Chienman The measure you are using appear to be from the 1.x PAT interface and was not intended for use outside of the PAT interface. I have an un-publixhed measure that I can clean up this weekend that will replace the building, but not simulation settings and weather data, will that work in your case or do simulation settings vary between models?. Also do any of your models have VRF systems? That is know issue with the measure I plan to publish? You can also use the PAT 2.1.1 interface instead of the spreadsheet, as it supports replacing models in the interface.

David Goldwasser's avatar David Goldwasser  ( 2017-05-26 08:47:36 -0500 )edit

Hi David, we would very much appreciate you cleaning up the measure for use in the spreadsheet. We do not need the ability to modify simulation settings or weather data...just the osm model. We will be running sometimes up to 1000 simulations so it would extremely valuable to have only one spreadsheet, and 1000 osms referenced as opposed to 1000 spreadsheets/1000 osms.

We would like to use the VRF measure along with the replace OS model measure.If it's helpful, the number of zones in the model will not change for a single project (set of runs).

bwelle's avatar bwelle  ( 2017-05-27 04:08:29 -0500 )edit

In other words, we won't be using the replace model measure with say an "H" shaped building and an "L" shaped building within the same project (spreadsheet).

bwelle's avatar bwelle  ( 2017-05-27 04:09:54 -0500 )edit

Use of PAT 2.0 has been suggested to use a number of times, unfortunately that is not an option. Let me explain why. This platform we are developing for Perkins+Will is designed to use a variety of geometry interfaces like Grasshopper, but more importantly a web-based interface similar to VirtualPulse. The process must be fully automated...architect puts inputs into GUI, we generate OSM files and spreadsheet, push to a separate "pre-processing" server on AWS, and push the zips from the pre-processing server so the architect doesn't have to store measures or weather files on their computer.

bwelle's avatar bwelle  ( 2017-05-27 04:14:20 -0500 )edit

So there cannot be a step where PAT is launched and things are manually specified. Is it planned to enable an API to PAT that we may be able to use in the future? It appears as though the spreadsheet will at some point become obsolete, which will be big problem for us unless another option we can automate to launch to OS is provided.

bwelle's avatar bwelle  ( 2017-05-27 04:48:07 -0500 )edit

PAT (like the Spreadsheet) is a means of authoring the OSA file. Unlike the Spreadsheet, the input forms are structured and constrained to reduce the possibility of user input error. PAT also streamlines running things from a typical user's perspective - e.g. no rake commands. Both PAT and the Spreadsheet OSAs are consumed by the OpenStudio Meta CLI, so however you author that input file is really up to you as a developer. Cracking open the developer console in PAT and running an analysis will show you how the Meta CLI is called. Mimic that and you can do things however you want.

ljbrackney's avatar ljbrackney  ( 2017-05-27 13:33:50 -0500 )edit

@bwelle, try the updated measure I posted to slack that uses `runner.workflow.findFile(external_model_name)' to find the file. As a result the measure argument now just requires the file name and extension.

I tested it in PAT with the file in 'seeds' directory, but in theory should work with Analysis Spreadsheet if setup for 2.x workflow. I think 'seeds' or 'resources' directory should be fine.

David Goldwasser's avatar David Goldwasser  ( 2017-06-01 12:51:55 -0500 )edit

Ok, we ran the measure. It fails. Here's what we have. We use the OS spreadsheet here:

https://dl.dropboxusercontent.com/u/1...

We create a directory called osm_models to be put under "lib/osm_models, and zip up all the OSM models to go there from a directory called "Resources" on our own server.

Then in variables tab using your new measure, we will simply put our discrete OS model names, not the path.

We have confirmed that the OSM models from our server make their way to ../lib/osm_models/ on the OS server. We log onto OS server and see them there.

bwelle's avatar bwelle  ( 2017-06-01 14:48:25 -0500 )edit

but your measure can't find them on the OS server under ../lib/osm_models/

bwelle's avatar bwelle  ( 2017-06-01 14:49:25 -0500 )edit
0

answered 2017-05-22 21:45:09 -0500

bwelle's avatar

Hi everyone, I've tried this method of using the resources directory. Can't get it to work and need some help. Here is the spreadsheet...

https://dl.dropboxusercontent.com/u/1...

I'm only running running for 2 osm models. I put ReplaceModelTest1.com in the Model setting in the Setup Tab. then I create a directory call osm models and point to the resources directory, where I have uploaded ReplaceModelTest2.osm. when I execute I get the following error...

Selection (1-36): 5 rake aborted! NoMethodError: undefined method empty?' for nil:NilClass /home/ec2-user/.rvm/gems/ruby-2.2.4/gems/openstudio-analysis-1.0.0.rc18/lib/openstudio/analysis/workflow_step.rb:430:indistribution_valid?' /home/ec2-user/.rvm/gems/ruby-2.2.4/gems/openstudio-analysis-1.0.0.rc18/lib/openstudio/analysis/workflow_step.rb:119:in make_variable' /home/ec2-user/.rvm/gems/ruby-2.2.4/gems/openstudio-analysis-1.0.0.rc18/lib/openstudio/analysis/workflow.rb:139:inblock in add_measure_from_excel' /home/ec2-user/.rvm/gems/ruby-2.2.4/gems/openstudio-analysis-1.0.0.rc18/lib/openstudio/analysis/workflow.rb:120:in each' /home/ec2-user/.rvm/gems/ruby-2.2.4/gems/openstudio-analysis-1.0.0.rc18/lib/openstudio/analysis/workflow.rb:120:inadd_measure_from_excel' /home/ec2-user/.rvm/gems/ruby-2.2.4/gems/openstudio-analysis-1.0.0.rc18/lib/openstudio/analysis/translator/excel.rb:241:in block in analysis' /home/ec2-user/.rvm/gems/ruby-2.2.4/gems/openstudio-analysis-1.0.0.rc18/lib/openstudio/analysis/translator/excel.rb:224:ineach' /home/ec2-user/.rvm/gems/ruby-2.2.4/gems/openstudio-analysis-1.0.0.rc18/lib/openstudio/analysis/translator/excel.rb:224:in analysis' /var/pwspreadsheet/OpenStudio-analysis-spreadsheet/Rakefile:52:inget_project' /var/pwspreadsheet/OpenStudio-analysis-spreadsheet/Rakefile:373:in block in <top (required)>' /home/ec2-user/.rvm/gems/ruby-2.2.4/gems/rake-11.3.0/exe/rake:27:in<top (required)&gt;'="" home="" ec2-user="" .rvm="" gems="" ruby-2.2.4="" bin="" ruby_executable_hooks:15:in="" <code="">eval' /home/ec2-user/.rvm/gems/ruby-2.2.4/bin/ruby_executable_hooks:15:in<main>' Tasks: TOP => run_custom (See full trace by running task with --trace)

Any thoughts?

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops

Careers

Question Tools

2 followers

Stats

Asked: 2017-04-26 18:41:27 -0500

Seen: 245 times

Last updated: May 22 '17