FMS 2025.01-dev
Flexible Modeling System
Loading...
Searching...
No Matches
ensemble_manager_mod

Routines for setting up and managing ensembles and ensemble pe lists. More...

Functions/Subroutines

subroutine, public ensemble_manager_init ()
 Initializes ensemble_manager_mod.
 
subroutine, public ensemble_pelist_setup (concurrent, atmos_npes, ocean_npes, land_npes, ice_npes, atm_pelist, ocean_pelist, land_pelist, ice_pelist)
 Sets up pe list for an ensemble.
 
subroutine, public get_ensemble_filter_pelist (pelist, name)
 Gets filter pelist for a given ensemble component.
 
integer function, public get_ensemble_id ()
 Getter function for ensemble_id.
 
subroutine, public get_ensemble_pelist (pelist, name)
 Gets pe list for current ensemble or a given ensemble component.
 
integer function, dimension(6), public get_ensemble_size ()
 Returns ensemble size integer array.
 

Variables

integer atmos_npes_pm =0
 
integer ensemble_id = 1
 
integer, dimension(:,:), allocatable ensemble_pelist
 
integer, dimension(:,:), allocatable ensemble_pelist_atmos
 
integer, dimension(:), allocatable ensemble_pelist_atmos_filter
 
integer, dimension(:,:), allocatable ensemble_pelist_ice
 
integer, dimension(:), allocatable ensemble_pelist_ice_filter
 
integer, dimension(:,:), allocatable ensemble_pelist_land
 
integer, dimension(:), allocatable ensemble_pelist_land_filter
 
integer, dimension(:,:), allocatable ensemble_pelist_ocean
 
integer, dimension(:), allocatable ensemble_pelist_ocean_filter
 
integer ensemble_size = 1
 
integer ice_npes_pm =0
 
integer land_npes_pm =0
 
integer ocean_npes_pm =0
 
integer pe
 
integer total_npes_pm =0
 

Detailed Description

Routines for setting up and managing ensembles and ensemble pe lists.

Function/Subroutine Documentation

◆ ensemble_manager_init()

subroutine, public ensemble_manager_init

Initializes ensemble_manager_mod.

Exceptions
FATAL,ensemble_manager_mod: ensemble_nml variable ensemble_size must be a positive integer
FATAL,"ensemble_manager_modensemble_nml variable ensemble_size should be no larger than MAX_ENSEMBLE_SIZE, change ensemble_size or increase MAX_ENSEMBLE_SIZE" @throw FATAL, "ensemble_size must be divis by npes" @throw FATAL, "get_ensemble_pelist: size of pelist 1st index < ensemble_size" @throw FATAL, "get_ensemble_pelist: size of pelist 2nd index < ocean_npes_pm" @throw FATAL, "get_ensemble_pelist: size of pelist 2nd index < atmos_npes_pm" @throw FATAL, "get_ensemble_pelist: size of pelist 2nd index < land_npes_pm" @throw FATAL, "get_ensemble_pelist: size of pelist 2nd index < ice_npes_pm" @throw FATAL, "get_ensemble_pelist: unknown argument name=[name]" @throw FATAL, "get_ensemble_pelist: size of pelist 2nd index < total_npes_pm"

Definition at line 77 of file ensemble_manager.F90.

◆ ensemble_pelist_setup()

subroutine, public ensemble_pelist_setup ( logical, intent(in)  concurrent,
integer, intent(in)  atmos_npes,
integer, intent(in)  ocean_npes,
integer, intent(in)  land_npes,
integer, intent(in)  ice_npes,
integer, dimension(:), intent(inout)  atm_pelist,
integer, dimension(:), intent(inout)  ocean_pelist,
integer, dimension(:), intent(inout)  land_pelist,
integer, dimension(:), intent(inout)  ice_pelist 
)

Sets up pe list for an ensemble.

Exceptions
FATAL,ensemble_manager_mod: land_npes > atmos_npes
FATAL,ensemble_manager_mod: ice_npes > atmos_npes

Definition at line 235 of file ensemble_manager.F90.

◆ get_ensemble_filter_pelist()

subroutine, public get_ensemble_filter_pelist ( integer, dimension(:), intent(inout)  pelist,
character(len=*), intent(in)  name 
)

Gets filter pelist for a given ensemble component.

Exceptions
FATAL,get_ensemble_filter_pelist: size of pelist argument < ensemble_size * ocean_npes_pm
FATAL,get_ensemble_filter_pelist: size of pelist argument < ensemble_size * atmos_npes_pm
FATAL,get_ensemble_filter_pelist: size of pelist argument < ensemble_size * land_npes_pm
FATAL,get_ensemble_filter_pelist: size of pelist argument < ensemble_size * ice_npes_pm
FATAL,get_ensemble_filter_pelist: unknown argument name=[name]
Parameters
[in,out]pelistReturned filter pe list
[in]nameEnsemble component name

Definition at line 187 of file ensemble_manager.F90.

◆ get_ensemble_id()

integer function, public get_ensemble_id

Getter function for ensemble_id.

Returns
integer of ensemble id

Definition at line 107 of file ensemble_manager.F90.

◆ get_ensemble_pelist()

subroutine, public get_ensemble_pelist ( integer, dimension(:,:), intent(inout)  pelist,
character(len=*), intent(in), optional  name 
)

Gets pe list for current ensemble or a given ensemble component.

Parameters
[in,out]pelistEnsemble pelist
[in]nameComponent name.

Definition at line 128 of file ensemble_manager.F90.

◆ get_ensemble_size()

integer function, dimension(6), public get_ensemble_size

Returns ensemble size integer array.

Returns
integer array of sizes

Definition at line 114 of file ensemble_manager.F90.

Variable Documentation

◆ atmos_npes_pm

integer atmos_npes_pm =0
private

Definition at line 56 of file ensemble_manager.F90.

◆ ensemble_id

integer ensemble_id = 1
private

Definition at line 55 of file ensemble_manager.F90.

◆ ensemble_pelist

integer, dimension(:,:), allocatable ensemble_pelist
private

Definition at line 44 of file ensemble_manager.F90.

◆ ensemble_pelist_atmos

integer, dimension(:,:), allocatable ensemble_pelist_atmos
private

Definition at line 46 of file ensemble_manager.F90.

◆ ensemble_pelist_atmos_filter

integer, dimension(:), allocatable ensemble_pelist_atmos_filter
private

Definition at line 50 of file ensemble_manager.F90.

◆ ensemble_pelist_ice

integer, dimension(:,:), allocatable ensemble_pelist_ice
private

Definition at line 48 of file ensemble_manager.F90.

◆ ensemble_pelist_ice_filter

integer, dimension(:), allocatable ensemble_pelist_ice_filter
private

Definition at line 52 of file ensemble_manager.F90.

◆ ensemble_pelist_land

integer, dimension(:,:), allocatable ensemble_pelist_land
private

Definition at line 47 of file ensemble_manager.F90.

◆ ensemble_pelist_land_filter

integer, dimension(:), allocatable ensemble_pelist_land_filter
private

Definition at line 51 of file ensemble_manager.F90.

◆ ensemble_pelist_ocean

integer, dimension(:,:), allocatable ensemble_pelist_ocean
private

Definition at line 45 of file ensemble_manager.F90.

◆ ensemble_pelist_ocean_filter

integer, dimension(:), allocatable ensemble_pelist_ocean_filter
private

Definition at line 49 of file ensemble_manager.F90.

◆ ensemble_size

integer ensemble_size = 1
private

Definition at line 54 of file ensemble_manager.F90.

◆ ice_npes_pm

integer ice_npes_pm =0
private

Definition at line 57 of file ensemble_manager.F90.

◆ land_npes_pm

integer land_npes_pm =0
private

Definition at line 57 of file ensemble_manager.F90.

◆ ocean_npes_pm

integer ocean_npes_pm =0
private

Definition at line 56 of file ensemble_manager.F90.

◆ pe

integer pe
private

Definition at line 56 of file ensemble_manager.F90.

◆ total_npes_pm

integer total_npes_pm =0
private

Definition at line 56 of file ensemble_manager.F90.