Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specify Grid Model in Scenario List #84

Closed
2 tasks done
rouille opened this issue Jan 27, 2020 · 7 comments
Closed
2 tasks done

Specify Grid Model in Scenario List #84

rouille opened this issue Jan 27, 2020 · 7 comments
Assignees
Labels
feature request Request for a new feature. (Only lives in Backlog)

Comments

@rouille
Copy link
Collaborator

rouille commented Jan 27, 2020

  • Add a new grid model column in the ScenarioList file
  • Test changes in the container
@rouille rouille added the grid label Jan 27, 2020
@rouille rouille self-assigned this Jan 27, 2020
@danielolsen danielolsen added the feature request Request for a new feature. (Only lives in Backlog) label Jul 22, 2020
@danielolsen
Copy link
Contributor

Related: we currently have some stuff in powersimdata/utility/constants.py that is contant only within the TAMU model (e.g. mapping zone IDs to states), we will want to move this into the usa_tamu folder.

@danielolsen
Copy link
Contributor

danielolsen commented Nov 3, 2020

One of the things that @rouille and I discussed last week: where should we record the grid model that was used to build a particular scenario? The options we discussed were either as another column in the ScenarioList.csv file (or database equivalent) vs. a field in the case.mat/grid.mat file. I think it comes up when we want to be able to automatically instantiate a 'base' grid to compare against (previously we would call Grid('Eastern'), soon we may need to call Grid('TAMU', 'Eastern') or something similar).

There are probably many other places in the codebase that will be touched by this change.

@BainanXia
Copy link
Collaborator

@danielolsen Probably we will need both. Since the model a scenario used is a key fundamental parameter, we definitely need this info in the scenario_info dict and it might also determines whether certain queries are applicable or not in the case that different models consists of different info (some models have more columns used whereas some models have less), which implies the model info is essential for most of the function calls in the current framework.

@danielolsen
Copy link
Contributor

@BainanXia if we have this in the scenario_info dict (i.e. as another column in the ScenarioList), then why would we need it in the case.mat file? Are you thinking that we may need this info in REISE.jl to control some aspects of model building?

@jenhagg
Copy link
Collaborator

jenhagg commented Nov 3, 2020

I like the idea of having it in the scenario list (file/dict/db/etc), the goal being to have a central place with enough information to recreate a scenario (it can include pointers to external data, like we do with profile versions). Technically for full reproducibility we'd need to store a commit hash or something for the exact code that ran it, but that's for a different conversation.

@rouille
Copy link
Collaborator Author

rouille commented Nov 3, 2020

The ScenarioList is the way to go in my opinion. In the Analyze class, the grid model would be enclosed in the scenario info dict, as the engine, and can then be passed to the Grid class to instantiate an object based on the engine/model combo.

@BainanXia
Copy link
Collaborator

@danielolsen Exactly, but in other situations, it might be more convenient to look up this info if it exists more than one place.

@rouille rouille added this to the Texas On My Mind milestone Feb 24, 2021
@rouille rouille closed this as completed Mar 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Request for a new feature. (Only lives in Backlog)
Projects
None yet
Development

No branches or pull requests

4 participants