mHM
The mesoscale Hydrological Model
|
Reading of main model configurations. More...
Functions/Subroutines | |
subroutine, public | common_read_config (file_namelist, unamelist) |
Read main configurations commonly used by mHM, mRM and MPR. | |
subroutine, public | set_land_cover_scenes_id (sim_per, lcyear_id) |
Set land cover scenes IDs. | |
subroutine | init_domain_variable (ndomains, optidata, domainmeta) |
Initialization of the domain variables. | |
subroutine | check_l0domain (l0domain, ndomains) |
Reading of main model configurations.
This routine reads the configurations of namelists commonly used by mHM, mRM and MPR
COPYING
and COPYING.LESSER
provided with this software. The complete GNU license text can also be found at http://www.gnu.org/licenses/.
|
private |
[in] | l0domain | given L0Domain variable |
[in] | ndomains | number of domains |
Definition at line 496 of file mo_common_read_config.F90.
References mo_common_constants::maxnodomains.
Referenced by common_read_config().
subroutine, public mo_common_read_config::common_read_config | ( | character(*), intent(in) | file_namelist, |
integer, intent(in) | unamelist | ||
) |
Read main configurations commonly used by mHM, mRM and MPR.
Read the main configurations commonly used by mHM, mRM and MPR, namely: project_description, directories_general, mainconfig, processSelection, LCover
[in] | file_namelist | name of file |
[in] | unamelist | id of file |
Definition at line 38 of file mo_common_read_config.F90.
References check_l0domain(), mo_common_variables::contact, mo_common_variables::conventions, mo_common_variables::dircommonfiles, mo_common_variables::dirconfigout, mo_common_variables::dirlcover, mo_common_variables::dirmorpho, mo_common_variables::dirout, mo_common_variables::domainmeta, mo_common_variables::filelatlon, mo_common_variables::history, mo_common_variables::iflag_cordinate_sys, init_domain_variable(), mo_common_variables::lc_year_end, mo_common_variables::lc_year_start, mo_common_variables::lcfilename, mo_common_constants::maxnlcovers, mo_common_constants::maxnodomains, mo_common_variables::mhm_details, mo_common_variables::mhmfilerestartout, mo_common_variables::mrmfilerestartout, mo_common_variables::nlcoverscene, mo_common_variables::nprocesses, mo_common_variables::nuniquel0domains, mo_common_variables::processmatrix, mo_common_variables::project_details, mo_common_variables::resolutionhydrology, mo_common_variables::setup_description, mo_common_variables::simulation_type, and mo_common_variables::write_restart.
Referenced by mo_mhm_interface::mhm_interface_init(), and mo_mrm_init::mrm_configuration().
|
private |
Initialization of the domain variables.
Initialization of the domain variable for all domain loops and if activated for parallelization In case of MPI parallelization domainMetaoverAllNumberOfDomains is a variable where the number of domains from the namelist is stored. By this every process knows the total number of domains. Then, in a loop the domains are distributed onto the processes. There is a master process and several subprocesses. The master process only reads the confings in the mHM driver.
The subprocesses get a number of domains. domainMetanDomain refers to the number of domains assigned to a specific process. It is a local variable and therefore has a different value for each process.
In case more domains are there than processes, currently the domains are distributed round robin, i.e. like cards in a card game.
In case less domains than processes exist, all remaining processes are assigned to the routing domains round robin. In that case the local communicator is of interest: It is a group of processes assigned to a routing domain again with a master process (domainMetaisMasterInComLocal) and subprocesses. This communicator can in future be passed to the routing parallelization.
[in] | ndomains | number of domains |
[in] | optidata | optimization data |
[in,out] | domainmeta | domain meta info |
Definition at line 320 of file mo_common_read_config.F90.
Referenced by common_read_config().
subroutine, public mo_common_read_config::set_land_cover_scenes_id | ( | type(period), dimension(:), intent(in) | sim_per, |
integer(i4), dimension(:, :), intent(inout), allocatable | lcyear_id | ||
) |
Set land cover scenes IDs.
[in] | sim_per | simulation period |
[in,out] | lcyear_id | land cover year ID |
Definition at line 236 of file mo_common_read_config.F90.
References mo_common_variables::domainmeta, mo_common_variables::lc_year_end, mo_common_variables::lc_year_start, mo_common_variables::nlcoverscene, and mo_common_constants::nodata_i4.
Referenced by mo_common_mhm_mrm_read_config::common_mhm_mrm_read_config().