glc_behavior_type Derived Type

type, public :: glc_behavior_type


Components

Type Visibility Attributes Name Initial
logical, public, allocatable :: has_virtual_columns_grc(:)
logical, public, allocatable :: allow_multiple_columns_grc(:)
logical, public, allocatable :: melt_replaced_by_ice_grc(:)
logical, public, allocatable :: ice_runoff_melted_grc(:)
logical, public, allocatable :: rain_to_snow_runs_off_grc(:)

Type-Bound Procedures

procedure, public :: Init

  • private subroutine Init(this, begg, endg, NLFilename)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(inout) :: this
    integer, intent(in) :: begg
    integer, intent(in) :: endg
    character(len=*), intent(in) :: NLFilename

procedure, public :: InitFromInputs

  • private subroutine InitFromInputs(this, begg, endg, glacier_region_map, glacier_region_behavior_str, glacier_region_melt_behavior_str, glacier_region_ice_runoff_behavior_str, glacier_region_rain_to_snow_behavior_str)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(inout) :: this
    integer, intent(in) :: begg
    integer, intent(in) :: endg
    integer, intent(in) :: glacier_region_map(begg:)
    character(len=*), intent(in) :: glacier_region_behavior_str(min_glacier_region_id:)
    character(len=*), intent(in) :: glacier_region_melt_behavior_str(min_glacier_region_id:)
    character(len=*), intent(in) :: glacier_region_ice_runoff_behavior_str(min_glacier_region_id:)
    character(len=*), intent(in) :: glacier_region_rain_to_snow_behavior_str(min_glacier_region_id:)

procedure, public :: InitSetDirectly

  • private subroutine InitSetDirectly(this, begg, endg, has_virtual_columns, collapse_to_atm_topo, rain_to_snow_runs_off)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(inout) :: this
    integer, intent(in) :: begg
    integer, intent(in) :: endg
    logical, intent(in), optional :: has_virtual_columns(begg:)
    logical, intent(in), optional :: collapse_to_atm_topo(begg:)
    logical, intent(in), optional :: rain_to_snow_runs_off(begg:)

procedure, public :: get_num_glc_mec_subgrid

  • private subroutine get_num_glc_mec_subgrid(this, gi, atm_topo, npatches, ncols, nlunits)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(in) :: this
    integer, intent(in) :: gi
    real(kind=r8), intent(in) :: atm_topo
    integer, intent(out) :: npatches
    integer, intent(out) :: ncols
    integer, intent(out) :: nlunits

procedure, public :: glc_mec_col_exists

  • private subroutine glc_mec_col_exists(this, gi, elev_class, atm_topo, exists, col_wt_lunit)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(in) :: this
    integer, intent(in) :: gi
    integer, intent(in) :: elev_class
    real(kind=r8), intent(in) :: atm_topo
    logical, intent(out) :: exists
    real(kind=r8), intent(out) :: col_wt_lunit

procedure, public :: cols_have_dynamic_type

  • private function cols_have_dynamic_type(this, gi)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(in) :: this
    integer, intent(in) :: gi

    Return Value logical

procedure, public :: icemec_cols_need_downscaling

  • private subroutine icemec_cols_need_downscaling(this, bounds, num_icemecc, filter_icemecc, needs_downscaling_col)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_icemecc
    integer, intent(in) :: filter_icemecc(:)
    logical, intent(inout) :: needs_downscaling_col(bounds%begc:)

procedure, public :: cols_have_dynamic_type_array

  • private subroutine cols_have_dynamic_type_array(this, begc, endc, has_dynamic_type_col)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(in) :: this
    integer, intent(in) :: begc
    integer, intent(in) :: endc
    logical, intent(inout) :: has_dynamic_type_col(begc:)

procedure, public :: patches_have_dynamic_type_array

  • private subroutine patches_have_dynamic_type_array(this, begp, endp, has_dynamic_type_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(in) :: this
    integer, intent(in) :: begp
    integer, intent(in) :: endp
    logical, intent(inout) :: has_dynamic_type_patch(begp:)

procedure, public :: update_glc_classes

  • private subroutine update_glc_classes(this, bounds, topo_col)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds
    real(kind=r8), intent(in) :: topo_col(bounds%begc:)

procedure, public :: get_collapse_to_atm_topo

  • private function get_collapse_to_atm_topo(this, gi) result(collapse_to_atm_topo)

    Arguments

    Type IntentOptional Attributes Name
    class(glc_behavior_type), intent(in) :: this
    integer, intent(in) :: gi

    Return Value logical