glacier_smb_type Derived Type

type, public :: glacier_smb_type


Components

Type Visibility Attributes Name Initial
real(kind=r8), public, pointer :: qflx_glcice_col(:)
real(kind=r8), public, pointer :: qflx_glcice_dyn_water_flux_col(:)

Type-Bound Procedures

procedure, public :: Init

  • private subroutine Init(this, bounds)

    Arguments

    Type IntentOptional Attributes Name
    class(glacier_smb_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds

procedure, public :: HandleIceMelt

  • private subroutine HandleIceMelt(this, bounds, num_do_smb_c, filter_do_smb_c, waterstate_inst)

    Arguments

    Type IntentOptional Attributes Name
    class(glacier_smb_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_do_smb_c
    integer, intent(in) :: filter_do_smb_c(:)
    type(waterstate_type), intent(inout) :: waterstate_inst

procedure, public :: ComputeSurfaceMassBalance

  • private subroutine ComputeSurfaceMassBalance(this, bounds, num_allc, filter_allc, num_do_smb_c, filter_do_smb_c, glc2lnd_inst, waterstate_inst, waterflux_inst)

    Arguments

    Type IntentOptional Attributes Name
    class(glacier_smb_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_allc
    integer, intent(in) :: filter_allc(:)
    integer, intent(in) :: num_do_smb_c
    integer, intent(in) :: filter_do_smb_c(:)
    type(glc2lnd_type), intent(in) :: glc2lnd_inst
    type(waterstate_type), intent(in) :: waterstate_inst
    type(waterflux_type), intent(in) :: waterflux_inst

procedure, public :: AdjustRunoffTerms

  • private subroutine AdjustRunoffTerms(this, bounds, num_do_smb_c, filter_do_smb_c, glc2lnd_inst, qflx_qrgwl, qflx_ice_runoff_snwcp)

    Arguments

    Type IntentOptional Attributes Name
    class(glacier_smb_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_do_smb_c
    integer, intent(in) :: filter_do_smb_c(:)
    type(glc2lnd_type), intent(in) :: glc2lnd_inst
    real(kind=r8), intent(inout) :: qflx_qrgwl(bounds%begc:)
    real(kind=r8), intent(inout) :: qflx_ice_runoff_snwcp(bounds%begc:)