SANDAG / RSM

Rapid Strategic Model for the San Diego Association of Governments
1 stars 3 forks source link

[Discussion] Software Architecture with Emme #6

Open DavidOry opened 2 years ago

DavidOry commented 2 years ago

@wusun2, @JoeJimFlood

One cool thing about Emme is that you can access methods and objects via Python. Emme allows you to do this via an Emme Python environment that comes with a long list of package requirements -- some of which are dated. In our experience, it is inevitable that a version of a package you want to use will conflict with a package Emme relies on. For this reason, we recommend architecting the RSM so that it runs in two distinct Python environments. The first will be an Emme environment and be specific to the version of Emme that we are using. The second will be specific to the RSM and run via a conda environment (that can also be launched in Docker).

We are not exactly sure what this will look like, but think this is the safest way forward. As part of the MVP testing, we can assess if there are any conflicts between the RSM requirements and the Emme requirements.

Thoughts?

cc: @jpn-- , @elias-sanz

wusun2 commented 2 years ago

@DavidOry , sound like a good approach. EMME 4.3.7 is used in our current ABM release 14.2.2 (official release). I believe it comes with Python2.7. Since RSM is for the next modeling cycle, it doesn't have to be bounded by EMME 4.3.7. We just need to make sure that RSM is fully integrated and tested with an EMME version the team recommend at the end of the project.