Updates the state of the ground from its state vector. The state vector is a real array containing the value of each of the ground's properties at each of the locations on the grid used in discretization.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ground), | intent(inout) | :: | this | |||
| real(kind=r8), | intent(in), | dimension(:) | :: | state_vector | A real array containing the data describing the state of the ground.  | 
  
|
| class(scalar_field), | intent(in), | optional | :: | ice_thickness | The ice thickness which, if present, will be used to update the calculation of the melt rate and/or drag parameter.  | 
  
  subroutine ground_update(this, state_vector, ice_thickness)
    !* Author: Christopher MacMackin
    !  Date: April 2016
    !
    ! Updates the state of the ground from its state vector. The state
    ! vector is a real array containing the value of each of the ground's
    ! properties at each of the locations on the grid used in discretization.
    !
    class(ground), intent(inout)       :: this
    real(r8), dimension(:), intent(in) :: state_vector
      !! A real array containing the data describing the state of the
      !! ground.
    class(scalar_field), optional, intent(in) :: ice_thickness
      !! The ice thickness which, if present, will be used to update
      !! the calculation of the melt rate and/or drag parameter.
  end subroutine ground_update