<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_rbounds(step):
 """Radial or vertical position of boundaries. Args: step (:class:`~stagpy.stagyydata._Step`):
 a step of a StagyyData instance. Returns: tuple of floats: radial or vertical positions of boundaries of the domain. """

    if step.geom is not None:
        rcmb = step.geom.rcmb
    else:
        rcmb = step.sdat.par['geometry']['r_cmb']
        if step.sdat.par['geometry']['shape'].lower() == 'cartesian':
            rcmb = 0
    rcmb = max(rcmb, 0)
    return rcmb, rcmb + 1