<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 The Lorenz63 model implemented in FABM
The equations read
Step1:  Import pyfabm - the python module that contains the Fortran based FABM
Step2:  Configuration
The model configuration is done via the YAML formatted file.
Step3:  Model increment
Step4:  Time axis and model integration
Step5:  Plot the results
<ASSISTANT_TASK:>
Python Code:
import numpy
import scipy.integrate
Explanation: The Lorenz63 model implemented in FABM
The equations read:
$ \frac{dx}{dt} = \sigma ( y - x ) - \beta x y$
$ \frac{dy}{dt} = x ( \rho - z ) - y$
$ \frac{dz}{dt} = x y - \beta z$
For further information see
Import standard python packages and pyfabm
End of explanation
import pyfabm
#pyfabm.get_version()
Explanation: Import pyfabm - the python module that contains the Fortran based FABM
End of explanation
yaml_file = 'fabm-bb-lorenz63.yaml'
model = pyfabm.Model(yaml_file)
model.findDependency('bottom_depth').value = 1.
model.checkReady(stop=True)
Explanation: Configuration
The model configuration is done via the YAML formatted file.
End of explanation
def dy(y,t0):
    model.state[:] = y
    return model.getRates()
Explanation: Model increment
End of explanation
t = numpy.arange(0.0, 40.0, 0.01)
y = scipy.integrate.odeint(dy,model.state,t)
Explanation: Time axis and model integration
End of explanation
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot(y[:,0], y[:,1], y[:,2])
plt.show()
Explanation: Plot the results
End of explanation
<END_TASK>