Skip to content

Commit d166fbb

Browse files
committed
Complete 4b with comsuming equivalence
1 parent 6a160cf commit d166fbb

File tree

3 files changed

+185
-67
lines changed

3 files changed

+185
-67
lines changed

compilef95.py

+25-4
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,37 @@
3636
# run_fortran(in_str)
3737
# get the arrays stored in specific text file
3838
#TODO: MAKE IT MORE GENERIC, SAVE IT TO A SPECIFIC FOLDER AND LOOP THROUGH ALL TXT FILE IN FOLDER
39-
arr_li = ['VFUNC', 'PFUNC', 'STATDIST', 'AGRID', 'LORENZ','LAMBDA']
39+
arr_li = ['VFUNC', 'PFUNC', 'STATDIST', 'AGRID', 'LORENZ','LAMBDA', 'VFUND', 'PFUND', 'Q', 'CONSUM_EQ']
4040
f_dict = dict()
41+
ps_spec_suffix = ""
4142
for c in arr_li:
43+
c = c+ps_spec_suffix
4244
f = os.path.join(f_path, c)
4345
try:
4446
vf = np.transpose(np.genfromtxt(f))
4547
except OSError:
4648
vf = None
4749
f_dict[c] = vf
4850

51+
#PS4B - GRAPHS
52+
# required_graph = ['VFUNC', 'PFUNC', 'VFUND', 'PFUND']
53+
# fig, axs = plt.subplots(2, 2)
54+
# order = [axs[0,0],axs[0,1],axs[1,0],axs[1,1]]
55+
# print(axs)
56+
# def_x = f_dict['AGRID']
57+
# colors = ['r', 'b', 'g', 'pink', 'c']
58+
# for i, item in enumerate(required_graph):
59+
# g = f_dict[item]
60+
# current_ax = order[i]
61+
# print(current_ax)
62+
# current_ax.set_title(item)
63+
# for di, dim in enumerate(g):
64+
# current_ax.plot(def_x, f_dict[item][di], colors[di])
65+
# plt.show()
66+
plt.plot( f_dict['AGRID'],f_dict['CONSUM_EQ'][2], 'r')
67+
plt.plot( f_dict['AGRID'],f_dict['CONSUM_EQ'][3], 'b')
68+
plt.show()
69+
4970
# ps2 - PLOT GRAPHS
5071
# df1 = [f_dict['AGRID'][int(i-1)] for i in f_dict['PFUNC'][0]]
5172
# df2 = [f_dict['AGRID'][int(i-1)] for i in f_dict['PFUNC'][1]]
@@ -59,6 +80,6 @@
5980
# ozspace = np.linspace(0,1,100)
6081
# plt.plot(ozspace, f_dict['LORENZ'], 'r')
6182
# plt.plot(ozspace, ozspace, 'b')
62-
plt.plot( f_dict['AGRID'],f_dict['LAMBDA'][0], 'r')
63-
plt.plot( f_dict['AGRID'],f_dict['LAMBDA'][1], 'b')
64-
plt.show()
83+
# plt.plot( f_dict['AGRID'],f_dict['PFUNC'][0], 'r')
84+
# plt.plot( f_dict['AGRID'],f_dict['PFUNC'][1], 'b')
85+
# plt.show()

ps4.f95

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ MODULE PS4PARA
77
REAL(KIND=8), DIMENSION(NZ, NZ), PARAMETER:: PI=TRANSPOSE(RESHAPE((/0.97, 0.03,0.5,0.5/),(/2,2/)))
88
REAL(KIND=8), PARAMETER:: A_MIN=-2., A_MAX=5., STEPS=(A_MAX-A_MIN)/(FLOAT(NA)-1.)
99
REAL(KIND=8), DIMENSION(NA), PARAMETER:: A_GRID=(/(I*STEPS, I=1, NA)/) + A_MIN - STEPS
10-
LOGICAL:: COMPLETE=.TRUE. ! COMPLETE MARKET IF 1 OR INCOMPLETE MARKET IF 0
10+
LOGICAL:: COMPLETE=.FALSE. ! COMPLETE MARKET IF 1 OR INCOMPLETE MARKET IF 0
1111
END MODULE
1212

1313
MODULE PS4RES
@@ -216,24 +216,24 @@ SUBROUTINE WRITE_ALL()
216216
IMPLICIT NONE
217217
INTEGER:: SROWIDX
218218
INTEGER, DIMENSION(2):: SIDX
219-
CHARACTER(LEN=130):: PATH="/Users/chek_choi/Downloads/fortran/"
219+
CHARACTER(LEN=130):: PATH="./"
220220
CHARACTER(LEN=150):: FILE_NAME
221221

222-
FILE_NAME = TRIM(PATH)//"VALUEFUNC_COMPLETE"
222+
FILE_NAME = TRIM(PATH)//"VFUNC"
223223
OPEN(UNIT=1, FILE=FILE_NAME, STATUS='REPLACE') ! START WITH THE TWO VALUE FUNCTIONS
224224
DO SROWIDX=1, NA
225225
WRITE(UNIT=1,FMT=*) VFUNC(SROWIDX,:)
226226
ENDDO
227227
CLOSE(UNIT=1)
228228

229-
FILE_NAME = TRIM(PATH)//"POLICYFUNC_COMPLETE"
229+
FILE_NAME = TRIM(PATH)//"PFUNC"
230230
OPEN(UNIT=2, FILE=FILE_NAME, STATUS='REPLACE') ! ALSO SAVE POLICY FUNCTIONS
231231
DO SROWIDX=1, NA
232232
WRITE(UNIT=2,FMT=*) PFUNC(SROWIDX,:)
233233
ENDDO
234234
CLOSE(UNIT=2)
235235

236-
FILE_NAME = TRIM(PATH)//"STATDIST_COMPLETE"
236+
FILE_NAME = TRIM(PATH)//"STATDIST"
237237
OPEN(UNIT=3, FILE=FILE_NAME, STATUS='REPLACE') ! ALSO SAVE POLICY FUNCTIONS
238238
DO SROWIDX=1, NA
239239
SIDX = (/SROWIDX*2-1, SROWIDX*2/)

0 commit comments

Comments
 (0)