Skip to content

Commit 3d39ff6

Browse files
Merge pull request #351 from chusloj/julia_update
[Review] Update stage 2 to Julia
2 parents ed4b648 + e014837 commit 3d39ff6

15 files changed

Lines changed: 520 additions & 109 deletions

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,9 @@ cpsmar*.sas
2222
cpsmar*.csv
2323
*.dat
2424

25+
2526
# pickle
2627
cps*.pkl
28+
29+
# .npz numpy files
30+
*.npz

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ puf_stage1/growfactors.csv: puf_stage1/factors_finalprep.py \
106106
cd puf_stage1 ; python factors_finalprep.py
107107

108108
puf_stage2/puf_weights.csv.gz: puf_stage2/stage2.py \
109-
puf_stage2/solve_lp_for_year.py \
109+
puf_stage2/dataprep.py \
110+
puf_stage2/solver.jl \
110111
puf_data/cps-matched-puf.csv \
111112
puf_stage1/Stage_I_factors.csv \
112113
puf_stage1/Stage_II_targets.csv

Manifest.toml

Lines changed: 332 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,332 @@
1+
# This file is machine-generated - editing it directly is not advised
2+
3+
[[Base64]]
4+
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
5+
6+
[[BenchmarkTools]]
7+
deps = ["JSON", "Logging", "Printf", "Statistics", "UUIDs"]
8+
git-tree-sha1 = "9e62e66db34540a0c919d72172cc2f642ac71260"
9+
uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
10+
version = "0.5.0"
11+
12+
[[BinaryProvider]]
13+
deps = ["Libdl", "Logging", "SHA"]
14+
git-tree-sha1 = "ecdec412a9abc8db54c0efc5548c64dfce072058"
15+
uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232"
16+
version = "0.5.10"
17+
18+
[[Bzip2_jll]]
19+
deps = ["Libdl", "Pkg"]
20+
git-tree-sha1 = "5ccb0770e3d1c185a52e6d36e3ffb830639ed3d2"
21+
uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0"
22+
version = "1.0.6+3"
23+
24+
[[CEnum]]
25+
git-tree-sha1 = "1b77a77c3b28e0b3f413f7567c9bb8dd9bdccd14"
26+
uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82"
27+
version = "0.3.0"
28+
29+
[[Calculus]]
30+
deps = ["LinearAlgebra"]
31+
git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad"
32+
uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9"
33+
version = "0.5.1"
34+
35+
[[Cbc]]
36+
deps = ["BinaryProvider", "CEnum", "Cbc_jll", "Libdl", "MathOptInterface", "SparseArrays"]
37+
git-tree-sha1 = "72e4299de0995a60a6230079adc7e47580870815"
38+
uuid = "9961bab8-2fa3-5c5a-9d89-47fab24efd76"
39+
version = "0.7.0"
40+
41+
[[Cbc_jll]]
42+
deps = ["Cgl_jll", "Clp_jll", "CoinUtils_jll", "CompilerSupportLibraries_jll", "Libdl", "OpenBLAS32_jll", "Osi_jll", "Pkg"]
43+
git-tree-sha1 = "16b8ffa56b3ded6b201aa2f50623f260448aa205"
44+
uuid = "38041ee0-ae04-5750-a4d2-bb4d0d83d27d"
45+
version = "2.10.3+4"
46+
47+
[[Cgl_jll]]
48+
deps = ["Clp_jll", "CompilerSupportLibraries_jll", "Libdl", "Pkg"]
49+
git-tree-sha1 = "32be20ec1e4c40e5c5d1bbf949ba9918a92a7569"
50+
uuid = "3830e938-1dd0-5f3e-8b8e-b3ee43226782"
51+
version = "0.60.2+5"
52+
53+
[[Clp_jll]]
54+
deps = ["CoinUtils_jll", "CompilerSupportLibraries_jll", "Libdl", "OpenBLAS32_jll", "Osi_jll", "Pkg"]
55+
git-tree-sha1 = "79263d9383ca89b35f31c33ab5b880536a8413a4"
56+
uuid = "06985876-5285-5a41-9fcb-8948a742cc53"
57+
version = "1.17.6+6"
58+
59+
[[CodecBzip2]]
60+
deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"]
61+
git-tree-sha1 = "2e62a725210ce3c3c2e1a3080190e7ca491f18d7"
62+
uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd"
63+
version = "0.7.2"
64+
65+
[[CodecZlib]]
66+
deps = ["TranscodingStreams", "Zlib_jll"]
67+
git-tree-sha1 = "ded953804d019afa9a3f98981d99b33e3db7b6da"
68+
uuid = "944b1d66-785c-5afd-91f1-9de20f533193"
69+
version = "0.7.0"
70+
71+
[[CoinUtils_jll]]
72+
deps = ["CompilerSupportLibraries_jll", "Libdl", "OpenBLAS32_jll", "Pkg"]
73+
git-tree-sha1 = "ee1f06ab89337b7f194c29377ab174e752cdf60d"
74+
uuid = "be027038-0da8-5614-b30d-e42594cb92df"
75+
version = "2.11.3+3"
76+
77+
[[CommonSubexpressions]]
78+
deps = ["MacroTools", "Test"]
79+
git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7"
80+
uuid = "bbf7d656-a473-5ed7-a52c-81e309532950"
81+
version = "0.3.0"
82+
83+
[[Compat]]
84+
deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"]
85+
git-tree-sha1 = "083e7e5ec3ef443e9dcb6dd3fbcb815879823bfa"
86+
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
87+
version = "3.14.0"
88+
89+
[[CompilerSupportLibraries_jll]]
90+
deps = ["Libdl", "Pkg"]
91+
git-tree-sha1 = "7c4f882c41faa72118841185afc58a2eb00ef612"
92+
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
93+
version = "0.3.3+0"
94+
95+
[[DataStructures]]
96+
deps = ["InteractiveUtils", "OrderedCollections"]
97+
git-tree-sha1 = "88d48e133e6d3dd68183309877eac74393daa7eb"
98+
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
99+
version = "0.17.20"
100+
101+
[[Dates]]
102+
deps = ["Printf"]
103+
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
104+
105+
[[DelimitedFiles]]
106+
deps = ["Mmap"]
107+
uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab"
108+
109+
[[DiffResults]]
110+
deps = ["StaticArrays"]
111+
git-tree-sha1 = "da24935df8e0c6cf28de340b958f6aac88eaa0cc"
112+
uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5"
113+
version = "1.0.2"
114+
115+
[[DiffRules]]
116+
deps = ["NaNMath", "Random", "SpecialFunctions"]
117+
git-tree-sha1 = "eb0c34204c8410888844ada5359ac8b96292cfd1"
118+
uuid = "b552c78f-8df3-52c6-915a-8e097449b14b"
119+
version = "1.0.1"
120+
121+
[[Distributed]]
122+
deps = ["Random", "Serialization", "Sockets"]
123+
uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"
124+
125+
[[ForwardDiff]]
126+
deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"]
127+
git-tree-sha1 = "1d090099fb82223abc48f7ce176d3f7696ede36d"
128+
uuid = "f6369f11-7733-5829-9624-2563aa707210"
129+
version = "0.10.12"
130+
131+
[[HTTP]]
132+
deps = ["Base64", "Dates", "IniFile", "MbedTLS", "Sockets"]
133+
git-tree-sha1 = "2ac03263ce44be4222342bca1c51c36ce7566161"
134+
uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3"
135+
version = "0.8.17"
136+
137+
[[IniFile]]
138+
deps = ["Test"]
139+
git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8"
140+
uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f"
141+
version = "0.5.0"
142+
143+
[[InteractiveUtils]]
144+
deps = ["Markdown"]
145+
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
146+
147+
[[JSON]]
148+
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
149+
git-tree-sha1 = "b34d7cef7b337321e97d22242c3c2b91f476748e"
150+
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
151+
version = "0.21.0"
152+
153+
[[JSONSchema]]
154+
deps = ["HTTP", "JSON", "ZipFile"]
155+
git-tree-sha1 = "2646fb3efdb60f35a8c053250a2647358ae0629f"
156+
uuid = "7d188eb4-7ad8-530c-ae41-71a32a6d4692"
157+
version = "0.3.1"
158+
159+
[[JuMP]]
160+
deps = ["Calculus", "DataStructures", "ForwardDiff", "LinearAlgebra", "MathOptInterface", "MutableArithmetics", "NaNMath", "Random", "SparseArrays", "Statistics"]
161+
git-tree-sha1 = "cbab42e2e912109d27046aa88f02a283a9abac7c"
162+
uuid = "4076af6c-e467-56ae-b986-b466b2749572"
163+
version = "0.21.3"
164+
165+
[[LibGit2]]
166+
deps = ["Printf"]
167+
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
168+
169+
[[Libdl]]
170+
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
171+
172+
[[LinearAlgebra]]
173+
deps = ["Libdl"]
174+
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
175+
176+
[[Logging]]
177+
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
178+
179+
[[MacroTools]]
180+
deps = ["Markdown", "Random"]
181+
git-tree-sha1 = "f7d2e3f654af75f01ec49be82c231c382214223a"
182+
uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
183+
version = "0.5.5"
184+
185+
[[Markdown]]
186+
deps = ["Base64"]
187+
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
188+
189+
[[MathOptInterface]]
190+
deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "JSON", "JSONSchema", "LinearAlgebra", "MutableArithmetics", "OrderedCollections", "SparseArrays", "Test", "Unicode"]
191+
git-tree-sha1 = "cd2049c055c7d192a235670d50faa375361624ba"
192+
uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
193+
version = "0.9.14"
194+
195+
[[MbedTLS]]
196+
deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"]
197+
git-tree-sha1 = "426a6978b03a97ceb7ead77775a1da066343ec6e"
198+
uuid = "739be429-bea8-5141-9913-cc70e7f3736d"
199+
version = "1.0.2"
200+
201+
[[MbedTLS_jll]]
202+
deps = ["Libdl", "Pkg"]
203+
git-tree-sha1 = "a0cb0d489819fa7ea5f9fa84c7e7eba19d8073af"
204+
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
205+
version = "2.16.6+1"
206+
207+
[[Mmap]]
208+
uuid = "a63ad114-7e13-5084-954f-fe012c677804"
209+
210+
[[MutableArithmetics]]
211+
deps = ["LinearAlgebra", "SparseArrays", "Test"]
212+
git-tree-sha1 = "6cf09794783b9de2e662c4e8b60d743021e338d0"
213+
uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0"
214+
version = "0.2.10"
215+
216+
[[NPZ]]
217+
deps = ["Compat", "ZipFile"]
218+
git-tree-sha1 = "a9837d6dc62c8a159f8e788d51c81ccee248db0e"
219+
uuid = "15e1cf62-19b3-5cfa-8e77-841668bca605"
220+
version = "0.4.0"
221+
222+
[[NaNMath]]
223+
git-tree-sha1 = "c84c576296d0e2fbb3fc134d3e09086b3ea617cd"
224+
uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
225+
version = "0.3.4"
226+
227+
[[OpenBLAS32_jll]]
228+
deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"]
229+
git-tree-sha1 = "793b33911239d2651c356c823492b58d6490d36a"
230+
uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2"
231+
version = "0.3.9+4"
232+
233+
[[OpenSpecFun_jll]]
234+
deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"]
235+
git-tree-sha1 = "d51c416559217d974a1113522d5919235ae67a87"
236+
uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e"
237+
version = "0.5.3+3"
238+
239+
[[OrderedCollections]]
240+
git-tree-sha1 = "293b70ac1780f9584c89268a6e2a560d938a7065"
241+
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
242+
version = "1.3.0"
243+
244+
[[Osi_jll]]
245+
deps = ["CoinUtils_jll", "CompilerSupportLibraries_jll", "Libdl", "OpenBLAS32_jll", "Pkg"]
246+
git-tree-sha1 = "bd436a97280df40938e66ae8d18e57aceb072856"
247+
uuid = "7da25872-d9ce-5375-a4d3-7a845f58efdd"
248+
version = "0.108.5+3"
249+
250+
[[Parsers]]
251+
deps = ["Dates", "Test"]
252+
git-tree-sha1 = "8077624b3c450b15c087944363606a6ba12f925e"
253+
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
254+
version = "1.0.10"
255+
256+
[[Pkg]]
257+
deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
258+
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
259+
260+
[[Printf]]
261+
deps = ["Unicode"]
262+
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
263+
264+
[[REPL]]
265+
deps = ["InteractiveUtils", "Markdown", "Sockets"]
266+
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
267+
268+
[[Random]]
269+
deps = ["Serialization"]
270+
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
271+
272+
[[SHA]]
273+
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
274+
275+
[[Serialization]]
276+
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
277+
278+
[[SharedArrays]]
279+
deps = ["Distributed", "Mmap", "Random", "Serialization"]
280+
uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
281+
282+
[[Sockets]]
283+
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
284+
285+
[[SparseArrays]]
286+
deps = ["LinearAlgebra", "Random"]
287+
uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
288+
289+
[[SpecialFunctions]]
290+
deps = ["OpenSpecFun_jll"]
291+
git-tree-sha1 = "d8d8b8a9f4119829410ecd706da4cc8594a1e020"
292+
uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
293+
version = "0.10.3"
294+
295+
[[StaticArrays]]
296+
deps = ["LinearAlgebra", "Random", "Statistics"]
297+
git-tree-sha1 = "016d1e1a00fabc556473b07161da3d39726ded35"
298+
uuid = "90137ffa-7385-5640-81b9-e52037218182"
299+
version = "0.12.4"
300+
301+
[[Statistics]]
302+
deps = ["LinearAlgebra", "SparseArrays"]
303+
uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
304+
305+
[[Test]]
306+
deps = ["Distributed", "InteractiveUtils", "Logging", "Random"]
307+
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
308+
309+
[[TranscodingStreams]]
310+
deps = ["Random", "Test"]
311+
git-tree-sha1 = "7c53c35547de1c5b9d46a4797cf6d8253807108c"
312+
uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa"
313+
version = "0.9.5"
314+
315+
[[UUIDs]]
316+
deps = ["Random", "SHA"]
317+
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
318+
319+
[[Unicode]]
320+
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
321+
322+
[[ZipFile]]
323+
deps = ["Libdl", "Printf", "Zlib_jll"]
324+
git-tree-sha1 = "254975fef2fc526583bb9b7c9420fe66ffe09f2f"
325+
uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea"
326+
version = "0.9.2"
327+
328+
[[Zlib_jll]]
329+
deps = ["Libdl", "Pkg"]
330+
git-tree-sha1 = "d5bba6485811931e4b8958e2d7ca3738273ac468"
331+
uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
332+
version = "1.2.11+15"

Project.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[deps]
2+
Cbc = "9961bab8-2fa3-5c5a-9d89-47fab24efd76"
3+
JuMP = "4076af6c-e467-56ae-b986-b466b2749572"
4+
NPZ = "15e1cf62-19b3-5cfa-8e77-841668bca605"

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ conda env create -f environment.yml
5151
To run the scripts that produce `puf.csv` and `cps.csv.gz`, activate the
5252
`taxdata-dev` conda environment and follow the workflow laid out below.
5353

54+
`Julia` must also be installed to solve for the PUF and CPS weights. You
55+
can download `Julia` from their [website](https://julialang.org/downloads/)
56+
or by using `homebrew`.
57+
5458
Data-Preparation Documentation and Workflow
5559
-------------------------------------------
5660

cps_stage2/cps_weights.csv.gz

-143 KB
Binary file not shown.

0 commit comments

Comments
 (0)