<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update(self):
 """Determine the number of substeps. Initialize a llake model and assume a simulation step size of 12 hours: If the maximum internal step size is also set to 12 hours, there is only one internal calculation step per outer simulation step: nmbsubsteps(1) Assigning smaller values to `maxdt` increases `nmbstepsize`: nmbsubsteps(12) In case the simulationstep is not a whole multiple of `dwmax`, the value of `nmbsubsteps` is rounded up: nmbsubsteps(13) Even for `maxdt` values exceeding the simulationstep, the value of `numbsubsteps` does not become smaller than one: nmbsubsteps(1) """

        maxdt = self.subpars.pars.control.maxdt
        seconds = self.simulationstep.seconds
        self.value = numpy.ceil(seconds/maxdt)