@@ -37,6 +37,7 @@ const hx = -0.8
37
37
# IC section ###################################################################
38
38
# ###############################################################################
39
39
l96 = L96m (hx = hx, J = 8 )
40
+ set_G0 (l96) # set the linear closure (essentially, as in balanced)
40
41
41
42
z00 = Array {Float64} (undef, l96. K + l96. K * l96. J)
42
43
@@ -57,6 +58,8 @@ elapsed_jit = @elapsed begin
57
58
DE. solve (pb_jit, SOLVER, reltol = reltol, abstol = abstol, dtmax = dtmax)
58
59
pb_jit = DE. ODEProblem (balanced, z00[1 : l96. K], (0.0 , T_compile), l96)
59
60
DE. solve (pb_jit, SOLVER, reltol = reltol, abstol = abstol, dtmax = dtmax)
61
+ pb_jit = DE. ODEProblem (regressed, z00[1 : l96. K], (0.0 , T_compile), l96)
62
+ DE. solve (pb_jit, SOLVER, reltol = reltol, abstol = abstol, dtmax = dtmax)
60
63
end
61
64
println (" " ^ (LPAD_INTEGER + 6 ),
62
65
" \t\t elapsed:" , lpad (elapsed_jit, LPAD_FLOAT))
104
107
println (" steps:" , lpad (length (sol_bal. t), LPAD_INTEGER),
105
108
" \t\t elapsed:" , lpad (elapsed_bal, LPAD_FLOAT))
106
109
110
+ # regressed L96m integration
111
+ print (rpad (" (regressed)" , RPAD))
112
+ elapsed_reg = @elapsed begin
113
+ pb_reg = DE. ODEProblem (regressed, z0[1 : l96. K], (0.0 , T), l96)
114
+ sol_reg = DE. solve (pb_reg,
115
+ SOLVER,
116
+ reltol = reltol,
117
+ abstol = abstol,
118
+ dtmax = dtmax
119
+ )
120
+ end
121
+ println (" steps:" , lpad (length (sol_reg. t), LPAD_INTEGER),
122
+ " \t\t elapsed:" , lpad (elapsed_reg, LPAD_FLOAT))
123
+
107
124
# ###############################################################################
108
125
# plot section #################################################################
109
126
# ###############################################################################
@@ -115,6 +132,9 @@ plt.plot(sol_dns.t, sol_dns[l96.K + (k-1)*l96.J + j,:],
115
132
# plot balanced
116
133
plt. plot (sol_bal. t, sol_bal[k,:], label = " balanced" )
117
134
135
+ # plot regressed
136
+ plt. plot (sol_reg. t, sol_reg[k,:], label = " regressed" )
137
+
118
138
plt. legend ()
119
139
plt. show ()
120
140
0 commit comments