Cdap - #11

Closed
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap
Closed

Cdap#11
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap

Conversation

@fscottfoti

Copy link
Copy Markdown
Contributor

This PR - which I won't be merging yet - contains the CDAP for number of persons in the households == 1

To the good: I had to dig out the definitions of some variables from the code and ended up finding everything I needed. Started a data dictionary on the wiki here: https://github.com/synthicity/activitysim/wiki/Data-Dictionary

Not as good: the multiple member households have some tricky logic in how they choose their CDAP. I got a good explanation from David Ory and will dig into multi-member households next.

@e-lo

e-lo commented Jan 9, 2015

Copy link
Copy Markdown
Collaborator

At some point it might be good to (since this is an example) write out exactly what is going on in the comments...in travel modeler ( not programmer shorthand ) terms.

I.e. cdap took me a few minutes to figure out what it was. I had to look at the roadmap and then I was like AHA...why didn't you say so! ( or maybe this is bc we just have the less sophisticated DAPs instead of CDAPs)

If it took me 5 min to figure out...my guess that somebody less familiar ( i.e. an intern!) will take longer.

This isnt a high priority for now, but let's keep it mind when we use shorthand and acronyms.

@fscottfoti

Copy link
Copy Markdown
ContributorAuthor

Just a quick reminder, for anyone following this repo - this is what I will be working on this week. I believe I have the CDAP (coordinate daily activity pattern) running for 1 person households and will now be proceeding to 2 person households. If you guys would prefer that I be working on something else (e.g. if you don't need the C of CDAP), feel free to let me know.

Elizabeth, your comment about adding comments is important. I suggest we do a commenting and testing iteration after getting enough of a prototype going that we all think that the current approach is good. I don't to to do much polish on code that's still subject to significant revisions...

@jiffyclub
jiffyclubforce-pushed the cdap branch 3 times, most recently from 0fdbcaf to ab5914aCompareFebruary 23, 2015 23:48
And all the alternatives, model, and all the new columns that are required to support it. Only about halfway through at this point but hopefully gets a bit faster going forward.
Also added proper newlines to the csv file so they look ok outside of excel.
Also started keeping a todo list in markdown to keep track of anything that will need revisiting before the model is fully usable.
still need to polish one or two things before opening a PR though, but pretty close
for full time worker only at this point
only running for the full time worker person type at this time
there are a couple of issues - the window residual and the presence of X type not including chooser
other than that this is looking pretty good
I didn't realize all the segments in the non mandatory model had the same spec - this made things much easier (i.e. I didn't have to definite 250 variables for every segment). Anyway this is now running and brings up a few questions which I will add to the readme.md.
a few caveats
1) this has no mode choice logsums
2) it uses fully random sampling
3) it's missing size terms
4) the escort trip type is not split into with and without child
...
but basic workflow is completely there - every tour now has a destination
not working yet as far as model specifications and such
need to ask a few questions about the time windowing
no new functionality here - just splitting up the one large file into 8-10 smaller files. Now have a models directory and one file per model, as well as a tables directory and one file per table. Remember this is only a convention, so mixing in other aspects of the simulation framework where appropriate is expected.
sharing some merges between models
also sharing the vectorized tour choice between mandatory and non_mandatory scheduling (should move to activitysim)
fscottfotiand others added 23 commits March 9, 2015 10:52
Explicitly testing situations when there are no interactions.
It's nice to have the specs not mixed up with alternative names.
So they can be used for evaluating variables with DataFrame.eval.
The final rules really need to be applied after utilities have
been calculated for an entire household so that a household can't
choose a certain alternative at all.
These are rules that express things like "retired people
can't do mandatory tours".
@jiffyclub

Copy link
Copy Markdown
Contributor

Closing this since the PR isn't targeting the master branch.

bstabler pushed a commit that referenced this pull request Oct 20, 2021
remove deprecated method from trip scheduling
jpn-- pushed a commit that referenced this pull request Feb 1, 2024
jpn-- pushed a commit that referenced this pull request Feb 13, 2024
jpn-- pushed a commit that referenced this pull request Apr 4, 2024
* School escorting estimation updates
Most changes are needed to avoid crash if estimation run actually had no school escorting in the input data
* blacken
* updating to work with Pydantic and State object
* adding missed columns necessary for no school escorting
* blacken
* handling zero escorting cases
* removing duplicate code
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@fscottfoti@e-lo@jiffyclub
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Cdap - #11

Closed
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap
Closed

Cdap#11
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap

Conversation

@fscottfoti

Copy link
Copy Markdown
Contributor

This PR - which I won't be merging yet - contains the CDAP for number of persons in the households == 1

To the good: I had to dig out the definitions of some variables from the code and ended up finding everything I needed. Started a data dictionary on the wiki here: https://github.com/synthicity/activitysim/wiki/Data-Dictionary

Not as good: the multiple member households have some tricky logic in how they choose their CDAP. I got a good explanation from David Ory and will dig into multi-member households next.

@e-lo

e-lo commented Jan 9, 2015

Copy link
Copy Markdown
Collaborator

At some point it might be good to (since this is an example) write out exactly what is going on in the comments...in travel modeler ( not programmer shorthand ) terms.

I.e. cdap took me a few minutes to figure out what it was. I had to look at the roadmap and then I was like AHA...why didn't you say so! ( or maybe this is bc we just have the less sophisticated DAPs instead of CDAPs)

If it took me 5 min to figure out...my guess that somebody less familiar ( i.e. an intern!) will take longer.

This isnt a high priority for now, but let's keep it mind when we use shorthand and acronyms.

@fscottfoti

Copy link
Copy Markdown
ContributorAuthor

Just a quick reminder, for anyone following this repo - this is what I will be working on this week. I believe I have the CDAP (coordinate daily activity pattern) running for 1 person households and will now be proceeding to 2 person households. If you guys would prefer that I be working on something else (e.g. if you don't need the C of CDAP), feel free to let me know.

Elizabeth, your comment about adding comments is important. I suggest we do a commenting and testing iteration after getting enough of a prototype going that we all think that the current approach is good. I don't to to do much polish on code that's still subject to significant revisions...

@jiffyclub
jiffyclubforce-pushed the cdap branch 3 times, most recently from 0fdbcaf to ab5914aCompareFebruary 23, 2015 23:48
And all the alternatives, model, and all the new columns that are required to support it. Only about halfway through at this point but hopefully gets a bit faster going forward.
Also added proper newlines to the csv file so they look ok outside of excel.
Also started keeping a todo list in markdown to keep track of anything that will need revisiting before the model is fully usable.
still need to polish one or two things before opening a PR though, but pretty close
for full time worker only at this point
only running for the full time worker person type at this time
there are a couple of issues - the window residual and the presence of X type not including chooser
other than that this is looking pretty good
I didn't realize all the segments in the non mandatory model had the same spec - this made things much easier (i.e. I didn't have to definite 250 variables for every segment). Anyway this is now running and brings up a few questions which I will add to the readme.md.
a few caveats
1) this has no mode choice logsums
2) it uses fully random sampling
3) it's missing size terms
4) the escort trip type is not split into with and without child
...
but basic workflow is completely there - every tour now has a destination
not working yet as far as model specifications and such
need to ask a few questions about the time windowing
no new functionality here - just splitting up the one large file into 8-10 smaller files. Now have a models directory and one file per model, as well as a tables directory and one file per table. Remember this is only a convention, so mixing in other aspects of the simulation framework where appropriate is expected.
sharing some merges between models
also sharing the vectorized tour choice between mandatory and non_mandatory scheduling (should move to activitysim)
fscottfotiand others added 23 commits March 9, 2015 10:52
Explicitly testing situations when there are no interactions.
It's nice to have the specs not mixed up with alternative names.
So they can be used for evaluating variables with DataFrame.eval.
The final rules really need to be applied after utilities have
been calculated for an entire household so that a household can't
choose a certain alternative at all.
These are rules that express things like "retired people
can't do mandatory tours".
@jiffyclub

Copy link
Copy Markdown
Contributor

Closing this since the PR isn't targeting the master branch.

bstabler pushed a commit that referenced this pull request Oct 20, 2021
remove deprecated method from trip scheduling
jpn-- pushed a commit that referenced this pull request Feb 1, 2024
jpn-- pushed a commit that referenced this pull request Feb 13, 2024
jpn-- pushed a commit that referenced this pull request Apr 4, 2024
* School escorting estimation updates
Most changes are needed to avoid crash if estimation run actually had no school escorting in the input data
* blacken
* updating to work with Pydantic and State object
* adding missed columns necessary for no school escorting
* blacken
* handling zero escorting cases
* removing duplicate code
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@fscottfoti@e-lo@jiffyclub
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Cdap - #11

Closed
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap
Closed

Cdap#11
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap

Conversation

@fscottfoti

Copy link
Copy Markdown
Contributor

This PR - which I won't be merging yet - contains the CDAP for number of persons in the households == 1

To the good: I had to dig out the definitions of some variables from the code and ended up finding everything I needed. Started a data dictionary on the wiki here: https://github.com/synthicity/activitysim/wiki/Data-Dictionary

Not as good: the multiple member households have some tricky logic in how they choose their CDAP. I got a good explanation from David Ory and will dig into multi-member households next.

@e-lo

e-lo commented Jan 9, 2015

Copy link
Copy Markdown
Collaborator

At some point it might be good to (since this is an example) write out exactly what is going on in the comments...in travel modeler ( not programmer shorthand ) terms.

I.e. cdap took me a few minutes to figure out what it was. I had to look at the roadmap and then I was like AHA...why didn't you say so! ( or maybe this is bc we just have the less sophisticated DAPs instead of CDAPs)

If it took me 5 min to figure out...my guess that somebody less familiar ( i.e. an intern!) will take longer.

This isnt a high priority for now, but let's keep it mind when we use shorthand and acronyms.

@fscottfoti

Copy link
Copy Markdown
ContributorAuthor

Just a quick reminder, for anyone following this repo - this is what I will be working on this week. I believe I have the CDAP (coordinate daily activity pattern) running for 1 person households and will now be proceeding to 2 person households. If you guys would prefer that I be working on something else (e.g. if you don't need the C of CDAP), feel free to let me know.

Elizabeth, your comment about adding comments is important. I suggest we do a commenting and testing iteration after getting enough of a prototype going that we all think that the current approach is good. I don't to to do much polish on code that's still subject to significant revisions...

@jiffyclub
jiffyclubforce-pushed the cdap branch 3 times, most recently from 0fdbcaf to ab5914aCompareFebruary 23, 2015 23:48
And all the alternatives, model, and all the new columns that are required to support it. Only about halfway through at this point but hopefully gets a bit faster going forward.
Also added proper newlines to the csv file so they look ok outside of excel.
Also started keeping a todo list in markdown to keep track of anything that will need revisiting before the model is fully usable.
still need to polish one or two things before opening a PR though, but pretty close
for full time worker only at this point
only running for the full time worker person type at this time
there are a couple of issues - the window residual and the presence of X type not including chooser
other than that this is looking pretty good
I didn't realize all the segments in the non mandatory model had the same spec - this made things much easier (i.e. I didn't have to definite 250 variables for every segment). Anyway this is now running and brings up a few questions which I will add to the readme.md.
a few caveats
1) this has no mode choice logsums
2) it uses fully random sampling
3) it's missing size terms
4) the escort trip type is not split into with and without child
...
but basic workflow is completely there - every tour now has a destination
not working yet as far as model specifications and such
need to ask a few questions about the time windowing
no new functionality here - just splitting up the one large file into 8-10 smaller files. Now have a models directory and one file per model, as well as a tables directory and one file per table. Remember this is only a convention, so mixing in other aspects of the simulation framework where appropriate is expected.
sharing some merges between models
also sharing the vectorized tour choice between mandatory and non_mandatory scheduling (should move to activitysim)
fscottfotiand others added 23 commits March 9, 2015 10:52
Explicitly testing situations when there are no interactions.
It's nice to have the specs not mixed up with alternative names.
So they can be used for evaluating variables with DataFrame.eval.
The final rules really need to be applied after utilities have
been calculated for an entire household so that a household can't
choose a certain alternative at all.
These are rules that express things like "retired people
can't do mandatory tours".
@jiffyclub

Copy link
Copy Markdown
Contributor

Closing this since the PR isn't targeting the master branch.

bstabler pushed a commit that referenced this pull request Oct 20, 2021
remove deprecated method from trip scheduling
jpn-- pushed a commit that referenced this pull request Feb 1, 2024
jpn-- pushed a commit that referenced this pull request Feb 13, 2024
jpn-- pushed a commit that referenced this pull request Apr 4, 2024
* School escorting estimation updates
Most changes are needed to avoid crash if estimation run actually had no school escorting in the input data
* blacken
* updating to work with Pydantic and State object
* adding missed columns necessary for no school escorting
* blacken
* handling zero escorting cases
* removing duplicate code
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@fscottfoti@e-lo@jiffyclub
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Cdap - #11

Closed
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap
Closed

Cdap#11
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap

Conversation

@fscottfoti

Copy link
Copy Markdown
Contributor

This PR - which I won't be merging yet - contains the CDAP for number of persons in the households == 1

To the good: I had to dig out the definitions of some variables from the code and ended up finding everything I needed. Started a data dictionary on the wiki here: https://github.com/synthicity/activitysim/wiki/Data-Dictionary

Not as good: the multiple member households have some tricky logic in how they choose their CDAP. I got a good explanation from David Ory and will dig into multi-member households next.

@e-lo

e-lo commented Jan 9, 2015

Copy link
Copy Markdown
Collaborator

At some point it might be good to (since this is an example) write out exactly what is going on in the comments...in travel modeler ( not programmer shorthand ) terms.

I.e. cdap took me a few minutes to figure out what it was. I had to look at the roadmap and then I was like AHA...why didn't you say so! ( or maybe this is bc we just have the less sophisticated DAPs instead of CDAPs)

If it took me 5 min to figure out...my guess that somebody less familiar ( i.e. an intern!) will take longer.

This isnt a high priority for now, but let's keep it mind when we use shorthand and acronyms.

@fscottfoti

Copy link
Copy Markdown
ContributorAuthor

Just a quick reminder, for anyone following this repo - this is what I will be working on this week. I believe I have the CDAP (coordinate daily activity pattern) running for 1 person households and will now be proceeding to 2 person households. If you guys would prefer that I be working on something else (e.g. if you don't need the C of CDAP), feel free to let me know.

Elizabeth, your comment about adding comments is important. I suggest we do a commenting and testing iteration after getting enough of a prototype going that we all think that the current approach is good. I don't to to do much polish on code that's still subject to significant revisions...

@jiffyclub
jiffyclubforce-pushed the cdap branch 3 times, most recently from 0fdbcaf to ab5914aCompareFebruary 23, 2015 23:48
And all the alternatives, model, and all the new columns that are required to support it. Only about halfway through at this point but hopefully gets a bit faster going forward.
Also added proper newlines to the csv file so they look ok outside of excel.
Also started keeping a todo list in markdown to keep track of anything that will need revisiting before the model is fully usable.
still need to polish one or two things before opening a PR though, but pretty close
for full time worker only at this point
only running for the full time worker person type at this time
there are a couple of issues - the window residual and the presence of X type not including chooser
other than that this is looking pretty good
I didn't realize all the segments in the non mandatory model had the same spec - this made things much easier (i.e. I didn't have to definite 250 variables for every segment). Anyway this is now running and brings up a few questions which I will add to the readme.md.
a few caveats
1) this has no mode choice logsums
2) it uses fully random sampling
3) it's missing size terms
4) the escort trip type is not split into with and without child
...
but basic workflow is completely there - every tour now has a destination
not working yet as far as model specifications and such
need to ask a few questions about the time windowing
no new functionality here - just splitting up the one large file into 8-10 smaller files. Now have a models directory and one file per model, as well as a tables directory and one file per table. Remember this is only a convention, so mixing in other aspects of the simulation framework where appropriate is expected.
sharing some merges between models
also sharing the vectorized tour choice between mandatory and non_mandatory scheduling (should move to activitysim)
fscottfotiand others added 23 commits March 9, 2015 10:52
Explicitly testing situations when there are no interactions.
It's nice to have the specs not mixed up with alternative names.
So they can be used for evaluating variables with DataFrame.eval.
The final rules really need to be applied after utilities have
been calculated for an entire household so that a household can't
choose a certain alternative at all.
These are rules that express things like "retired people
can't do mandatory tours".
@jiffyclub

Copy link
Copy Markdown
Contributor

Closing this since the PR isn't targeting the master branch.

bstabler pushed a commit that referenced this pull request Oct 20, 2021
remove deprecated method from trip scheduling
jpn-- pushed a commit that referenced this pull request Feb 1, 2024
jpn-- pushed a commit that referenced this pull request Feb 13, 2024
jpn-- pushed a commit that referenced this pull request Apr 4, 2024
* School escorting estimation updates
Most changes are needed to avoid crash if estimation run actually had no school escorting in the input data
* blacken
* updating to work with Pydantic and State object
* adding missed columns necessary for no school escorting
* blacken
* handling zero escorting cases
* removing duplicate code
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@fscottfoti@e-lo@jiffyclub
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Cdap - #11

Closed
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap
Closed

Cdap#11
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap

Conversation

@fscottfoti

Copy link
Copy Markdown
Contributor

This PR - which I won't be merging yet - contains the CDAP for number of persons in the households == 1

To the good: I had to dig out the definitions of some variables from the code and ended up finding everything I needed. Started a data dictionary on the wiki here: https://github.com/synthicity/activitysim/wiki/Data-Dictionary

Not as good: the multiple member households have some tricky logic in how they choose their CDAP. I got a good explanation from David Ory and will dig into multi-member households next.

@e-lo

e-lo commented Jan 9, 2015

Copy link
Copy Markdown
Collaborator

At some point it might be good to (since this is an example) write out exactly what is going on in the comments...in travel modeler ( not programmer shorthand ) terms.

I.e. cdap took me a few minutes to figure out what it was. I had to look at the roadmap and then I was like AHA...why didn't you say so! ( or maybe this is bc we just have the less sophisticated DAPs instead of CDAPs)

If it took me 5 min to figure out...my guess that somebody less familiar ( i.e. an intern!) will take longer.

This isnt a high priority for now, but let's keep it mind when we use shorthand and acronyms.

@fscottfoti

Copy link
Copy Markdown
ContributorAuthor

Just a quick reminder, for anyone following this repo - this is what I will be working on this week. I believe I have the CDAP (coordinate daily activity pattern) running for 1 person households and will now be proceeding to 2 person households. If you guys would prefer that I be working on something else (e.g. if you don't need the C of CDAP), feel free to let me know.

Elizabeth, your comment about adding comments is important. I suggest we do a commenting and testing iteration after getting enough of a prototype going that we all think that the current approach is good. I don't to to do much polish on code that's still subject to significant revisions...

@jiffyclub
jiffyclubforce-pushed the cdap branch 3 times, most recently from 0fdbcaf to ab5914aCompareFebruary 23, 2015 23:48
And all the alternatives, model, and all the new columns that are required to support it. Only about halfway through at this point but hopefully gets a bit faster going forward.
Also added proper newlines to the csv file so they look ok outside of excel.
Also started keeping a todo list in markdown to keep track of anything that will need revisiting before the model is fully usable.
still need to polish one or two things before opening a PR though, but pretty close
for full time worker only at this point
only running for the full time worker person type at this time
there are a couple of issues - the window residual and the presence of X type not including chooser
other than that this is looking pretty good
I didn't realize all the segments in the non mandatory model had the same spec - this made things much easier (i.e. I didn't have to definite 250 variables for every segment). Anyway this is now running and brings up a few questions which I will add to the readme.md.
a few caveats
1) this has no mode choice logsums
2) it uses fully random sampling
3) it's missing size terms
4) the escort trip type is not split into with and without child
...
but basic workflow is completely there - every tour now has a destination
not working yet as far as model specifications and such
need to ask a few questions about the time windowing
no new functionality here - just splitting up the one large file into 8-10 smaller files. Now have a models directory and one file per model, as well as a tables directory and one file per table. Remember this is only a convention, so mixing in other aspects of the simulation framework where appropriate is expected.
sharing some merges between models
also sharing the vectorized tour choice between mandatory and non_mandatory scheduling (should move to activitysim)
fscottfotiand others added 23 commits March 9, 2015 10:52
Explicitly testing situations when there are no interactions.
It's nice to have the specs not mixed up with alternative names.
So they can be used for evaluating variables with DataFrame.eval.
The final rules really need to be applied after utilities have
been calculated for an entire household so that a household can't
choose a certain alternative at all.
These are rules that express things like "retired people
can't do mandatory tours".
@jiffyclub

Copy link
Copy Markdown
Contributor

Closing this since the PR isn't targeting the master branch.

bstabler pushed a commit that referenced this pull request Oct 20, 2021
remove deprecated method from trip scheduling
jpn-- pushed a commit that referenced this pull request Feb 1, 2024
jpn-- pushed a commit that referenced this pull request Feb 13, 2024
jpn-- pushed a commit that referenced this pull request Apr 4, 2024
* School escorting estimation updates
Most changes are needed to avoid crash if estimation run actually had no school escorting in the input data
* blacken
* updating to work with Pydantic and State object
* adding missed columns necessary for no school escorting
* blacken
* handling zero escorting cases
* removing duplicate code
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@fscottfoti@e-lo@jiffyclub
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Cdap - #11

Closed
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap
Closed

Cdap#11
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap

Conversation

@fscottfoti

Copy link
Copy Markdown
Contributor

This PR - which I won't be merging yet - contains the CDAP for number of persons in the households == 1

To the good: I had to dig out the definitions of some variables from the code and ended up finding everything I needed. Started a data dictionary on the wiki here: https://github.com/synthicity/activitysim/wiki/Data-Dictionary

Not as good: the multiple member households have some tricky logic in how they choose their CDAP. I got a good explanation from David Ory and will dig into multi-member households next.

@e-lo

e-lo commented Jan 9, 2015

Copy link
Copy Markdown
Collaborator

At some point it might be good to (since this is an example) write out exactly what is going on in the comments...in travel modeler ( not programmer shorthand ) terms.

I.e. cdap took me a few minutes to figure out what it was. I had to look at the roadmap and then I was like AHA...why didn't you say so! ( or maybe this is bc we just have the less sophisticated DAPs instead of CDAPs)

If it took me 5 min to figure out...my guess that somebody less familiar ( i.e. an intern!) will take longer.

This isnt a high priority for now, but let's keep it mind when we use shorthand and acronyms.

@fscottfoti

Copy link
Copy Markdown
ContributorAuthor

Just a quick reminder, for anyone following this repo - this is what I will be working on this week. I believe I have the CDAP (coordinate daily activity pattern) running for 1 person households and will now be proceeding to 2 person households. If you guys would prefer that I be working on something else (e.g. if you don't need the C of CDAP), feel free to let me know.

Elizabeth, your comment about adding comments is important. I suggest we do a commenting and testing iteration after getting enough of a prototype going that we all think that the current approach is good. I don't to to do much polish on code that's still subject to significant revisions...

@jiffyclub
jiffyclubforce-pushed the cdap branch 3 times, most recently from 0fdbcaf to ab5914aCompareFebruary 23, 2015 23:48
And all the alternatives, model, and all the new columns that are required to support it. Only about halfway through at this point but hopefully gets a bit faster going forward.
Also added proper newlines to the csv file so they look ok outside of excel.
Also started keeping a todo list in markdown to keep track of anything that will need revisiting before the model is fully usable.
still need to polish one or two things before opening a PR though, but pretty close
for full time worker only at this point
only running for the full time worker person type at this time
there are a couple of issues - the window residual and the presence of X type not including chooser
other than that this is looking pretty good
I didn't realize all the segments in the non mandatory model had the same spec - this made things much easier (i.e. I didn't have to definite 250 variables for every segment). Anyway this is now running and brings up a few questions which I will add to the readme.md.
a few caveats
1) this has no mode choice logsums
2) it uses fully random sampling
3) it's missing size terms
4) the escort trip type is not split into with and without child
...
but basic workflow is completely there - every tour now has a destination
not working yet as far as model specifications and such
need to ask a few questions about the time windowing
no new functionality here - just splitting up the one large file into 8-10 smaller files. Now have a models directory and one file per model, as well as a tables directory and one file per table. Remember this is only a convention, so mixing in other aspects of the simulation framework where appropriate is expected.
sharing some merges between models
also sharing the vectorized tour choice between mandatory and non_mandatory scheduling (should move to activitysim)
fscottfotiand others added 23 commits March 9, 2015 10:52
Explicitly testing situations when there are no interactions.
It's nice to have the specs not mixed up with alternative names.
So they can be used for evaluating variables with DataFrame.eval.
The final rules really need to be applied after utilities have
been calculated for an entire household so that a household can't
choose a certain alternative at all.
These are rules that express things like "retired people
can't do mandatory tours".
@jiffyclub

Copy link
Copy Markdown
Contributor

Closing this since the PR isn't targeting the master branch.

bstabler pushed a commit that referenced this pull request Oct 20, 2021
remove deprecated method from trip scheduling
jpn-- pushed a commit that referenced this pull request Feb 1, 2024
jpn-- pushed a commit that referenced this pull request Feb 13, 2024
jpn-- pushed a commit that referenced this pull request Apr 4, 2024
* School escorting estimation updates
Most changes are needed to avoid crash if estimation run actually had no school escorting in the input data
* blacken
* updating to work with Pydantic and State object
* adding missed columns necessary for no school escorting
* blacken
* handling zero escorting cases
* removing duplicate code
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@fscottfoti@e-lo@jiffyclub
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Cdap - #11

Closed
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap
Closed

Cdap#11
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap

Conversation

@fscottfoti

Copy link
Copy Markdown
Contributor

This PR - which I won't be merging yet - contains the CDAP for number of persons in the households == 1

To the good: I had to dig out the definitions of some variables from the code and ended up finding everything I needed. Started a data dictionary on the wiki here: https://github.com/synthicity/activitysim/wiki/Data-Dictionary

Not as good: the multiple member households have some tricky logic in how they choose their CDAP. I got a good explanation from David Ory and will dig into multi-member households next.

@e-lo

e-lo commented Jan 9, 2015

Copy link
Copy Markdown
Collaborator

At some point it might be good to (since this is an example) write out exactly what is going on in the comments...in travel modeler ( not programmer shorthand ) terms.

I.e. cdap took me a few minutes to figure out what it was. I had to look at the roadmap and then I was like AHA...why didn't you say so! ( or maybe this is bc we just have the less sophisticated DAPs instead of CDAPs)

If it took me 5 min to figure out...my guess that somebody less familiar ( i.e. an intern!) will take longer.

This isnt a high priority for now, but let's keep it mind when we use shorthand and acronyms.

@fscottfoti

Copy link
Copy Markdown
ContributorAuthor

Just a quick reminder, for anyone following this repo - this is what I will be working on this week. I believe I have the CDAP (coordinate daily activity pattern) running for 1 person households and will now be proceeding to 2 person households. If you guys would prefer that I be working on something else (e.g. if you don't need the C of CDAP), feel free to let me know.

Elizabeth, your comment about adding comments is important. I suggest we do a commenting and testing iteration after getting enough of a prototype going that we all think that the current approach is good. I don't to to do much polish on code that's still subject to significant revisions...

@jiffyclub
jiffyclubforce-pushed the cdap branch 3 times, most recently from 0fdbcaf to ab5914aCompareFebruary 23, 2015 23:48
And all the alternatives, model, and all the new columns that are required to support it. Only about halfway through at this point but hopefully gets a bit faster going forward.
Also added proper newlines to the csv file so they look ok outside of excel.
Also started keeping a todo list in markdown to keep track of anything that will need revisiting before the model is fully usable.
still need to polish one or two things before opening a PR though, but pretty close
for full time worker only at this point
only running for the full time worker person type at this time
there are a couple of issues - the window residual and the presence of X type not including chooser
other than that this is looking pretty good
I didn't realize all the segments in the non mandatory model had the same spec - this made things much easier (i.e. I didn't have to definite 250 variables for every segment). Anyway this is now running and brings up a few questions which I will add to the readme.md.
a few caveats
1) this has no mode choice logsums
2) it uses fully random sampling
3) it's missing size terms
4) the escort trip type is not split into with and without child
...
but basic workflow is completely there - every tour now has a destination
not working yet as far as model specifications and such
need to ask a few questions about the time windowing
no new functionality here - just splitting up the one large file into 8-10 smaller files. Now have a models directory and one file per model, as well as a tables directory and one file per table. Remember this is only a convention, so mixing in other aspects of the simulation framework where appropriate is expected.
sharing some merges between models
also sharing the vectorized tour choice between mandatory and non_mandatory scheduling (should move to activitysim)
fscottfotiand others added 23 commits March 9, 2015 10:52
Explicitly testing situations when there are no interactions.
It's nice to have the specs not mixed up with alternative names.
So they can be used for evaluating variables with DataFrame.eval.
The final rules really need to be applied after utilities have
been calculated for an entire household so that a household can't
choose a certain alternative at all.
These are rules that express things like "retired people
can't do mandatory tours".
@jiffyclub

Copy link
Copy Markdown
Contributor

Closing this since the PR isn't targeting the master branch.

bstabler pushed a commit that referenced this pull request Oct 20, 2021
remove deprecated method from trip scheduling
jpn-- pushed a commit that referenced this pull request Feb 1, 2024
jpn-- pushed a commit that referenced this pull request Feb 13, 2024
jpn-- pushed a commit that referenced this pull request Apr 4, 2024
* School escorting estimation updates
Most changes are needed to avoid crash if estimation run actually had no school escorting in the input data
* blacken
* updating to work with Pydantic and State object
* adding missed columns necessary for no school escorting
* blacken
* handling zero escorting cases
* removing duplicate code
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@fscottfoti@e-lo@jiffyclub
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Cdap - #11

Closed
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap
Closed

Cdap#11
fscottfoti wants to merge 56 commits into
workplace-size-coeffsfrom
cdap

Conversation

@fscottfoti

Copy link
Copy Markdown
Contributor

This PR - which I won't be merging yet - contains the CDAP for number of persons in the households == 1

To the good: I had to dig out the definitions of some variables from the code and ended up finding everything I needed. Started a data dictionary on the wiki here: https://github.com/synthicity/activitysim/wiki/Data-Dictionary

Not as good: the multiple member households have some tricky logic in how they choose their CDAP. I got a good explanation from David Ory and will dig into multi-member households next.

@e-lo

e-lo commented Jan 9, 2015

Copy link
Copy Markdown
Collaborator

At some point it might be good to (since this is an example) write out exactly what is going on in the comments...in travel modeler ( not programmer shorthand ) terms.

I.e. cdap took me a few minutes to figure out what it was. I had to look at the roadmap and then I was like AHA...why didn't you say so! ( or maybe this is bc we just have the less sophisticated DAPs instead of CDAPs)

If it took me 5 min to figure out...my guess that somebody less familiar ( i.e. an intern!) will take longer.

This isnt a high priority for now, but let's keep it mind when we use shorthand and acronyms.

@fscottfoti

Copy link
Copy Markdown
ContributorAuthor

Just a quick reminder, for anyone following this repo - this is what I will be working on this week. I believe I have the CDAP (coordinate daily activity pattern) running for 1 person households and will now be proceeding to 2 person households. If you guys would prefer that I be working on something else (e.g. if you don't need the C of CDAP), feel free to let me know.

Elizabeth, your comment about adding comments is important. I suggest we do a commenting and testing iteration after getting enough of a prototype going that we all think that the current approach is good. I don't to to do much polish on code that's still subject to significant revisions...

@jiffyclub
jiffyclubforce-pushed the cdap branch 3 times, most recently from 0fdbcaf to ab5914aCompareFebruary 23, 2015 23:48
And all the alternatives, model, and all the new columns that are required to support it. Only about halfway through at this point but hopefully gets a bit faster going forward.
Also added proper newlines to the csv file so they look ok outside of excel.
Also started keeping a todo list in markdown to keep track of anything that will need revisiting before the model is fully usable.
still need to polish one or two things before opening a PR though, but pretty close
for full time worker only at this point
only running for the full time worker person type at this time
there are a couple of issues - the window residual and the presence of X type not including chooser
other than that this is looking pretty good
I didn't realize all the segments in the non mandatory model had the same spec - this made things much easier (i.e. I didn't have to definite 250 variables for every segment). Anyway this is now running and brings up a few questions which I will add to the readme.md.
a few caveats
1) this has no mode choice logsums
2) it uses fully random sampling
3) it's missing size terms
4) the escort trip type is not split into with and without child
...
but basic workflow is completely there - every tour now has a destination
not working yet as far as model specifications and such
need to ask a few questions about the time windowing
no new functionality here - just splitting up the one large file into 8-10 smaller files. Now have a models directory and one file per model, as well as a tables directory and one file per table. Remember this is only a convention, so mixing in other aspects of the simulation framework where appropriate is expected.
sharing some merges between models
also sharing the vectorized tour choice between mandatory and non_mandatory scheduling (should move to activitysim)
fscottfotiand others added 23 commits March 9, 2015 10:52
Explicitly testing situations when there are no interactions.
It's nice to have the specs not mixed up with alternative names.
So they can be used for evaluating variables with DataFrame.eval.
The final rules really need to be applied after utilities have
been calculated for an entire household so that a household can't
choose a certain alternative at all.
These are rules that express things like "retired people
can't do mandatory tours".
@jiffyclub

Copy link
Copy Markdown
Contributor

Closing this since the PR isn't targeting the master branch.

bstabler pushed a commit that referenced this pull request Oct 20, 2021
remove deprecated method from trip scheduling
jpn-- pushed a commit that referenced this pull request Feb 1, 2024
jpn-- pushed a commit that referenced this pull request Feb 13, 2024
jpn-- pushed a commit that referenced this pull request Apr 4, 2024
* School escorting estimation updates
Most changes are needed to avoid crash if estimation run actually had no school escorting in the input data
* blacken
* updating to work with Pydantic and State object
* adding missed columns necessary for no school escorting
* blacken
* handling zero escorting cases
* removing duplicate code
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@fscottfoti@e-lo@jiffyclub