|
FMS
2026.01.01-dev
Flexible Modeling System
|
Routines for setting up and managing ensembles and ensemble pe lists. More...
Functions/Subroutines | |
| subroutine, public | ensemble_manager_init () |
| Initializes ensemble_manager_mod. More... | |
| 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. More... | |
| subroutine, public | get_ensemble_filter_pelist (pelist, name) |
| Gets filter pelist for a given ensemble component. More... | |
| integer function, public | get_ensemble_id () |
| Getter function for ensemble_id. More... | |
| subroutine, public | get_ensemble_pelist (pelist, name) |
| Gets pe list for current ensemble or a given ensemble component. More... | |
| integer function, dimension(6), public | get_ensemble_size () |
| Returns ensemble size integer array. More... | |
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 | starting_ensemble_id = 1 |
| Starting index for ensemble numbering in I/O filenames. More... | |
| integer | total_npes_pm =0 |
Routines for setting up and managing ensembles and ensemble pe lists.
| subroutine, public ensemble_manager_mod::ensemble_manager_init |
Initializes ensemble_manager_mod.
| FATAL,ensemble_manager_mod: ensemble_nml variable ensemble_size must be a positive integer | |
| FATAL,"ensemble_manager_mod | ensemble_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" |
@namelist ensemble_nml
| ensemble_size | Number of ensemble members. |
| starting_ensemble_id | Offset applied to ensemble_id when constructing I/O filename appendices. |
Definition at line 93 of file ensemble_manager.F90.
| subroutine, public ensemble_manager_mod::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.
| FATAL,ensemble_manager_mod: land_npes > atmos_npes | |
| FATAL,ensemble_manager_mod: ice_npes > atmos_npes |
Definition at line 257 of file ensemble_manager.F90.
| subroutine, public ensemble_manager_mod::get_ensemble_filter_pelist | ( | integer, dimension(:), intent(inout) | pelist, |
| character(len=*), intent(in) | name | ||
| ) |
Gets filter pelist for a given ensemble component.
| 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] |
| [in,out] | pelist | Returned filter pe list |
| [in] | name | Ensemble component name |
Definition at line 209 of file ensemble_manager.F90.
| integer function, public ensemble_manager_mod::get_ensemble_id |
Getter function for ensemble_id.
Definition at line 129 of file ensemble_manager.F90.
| subroutine, public ensemble_manager_mod::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.
| [in,out] | pelist | Ensemble pelist |
| [in] | name | Component name. |
Definition at line 150 of file ensemble_manager.F90.
| integer function, dimension(6), public ensemble_manager_mod::get_ensemble_size |
Returns ensemble size integer array.
Definition at line 136 of file ensemble_manager.F90.
|
private |
Starting index for ensemble numbering in I/O filenames.
Defines an offset applied to the local ensemble_id when constructing filename appendices via fms2_io_set_filename_appendix.
The effective ensemble index used in filenames is: global_ens = starting_ensemble_id + ensemble_id - 1
For example: ensemble_size = 2 starting_ensemble_id = 10 results in filenames using ens_10 and ens_11.
@default 1
Definition at line 71 of file ensemble_manager.F90.