Changes between Version 5 and Version 6 of doc/app/examples/coupled
- Timestamp:
- Dec 26, 2010 8:01:10 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/examples/coupled
v5 v6 5 5 Currently, the coupler is at an experimental stage using either a MPI2 (more flexible) or a MPI1 intercommunicator that matches the atmosphere and ocean processors one-to-one. This approach has limited flexibility and performance, because it requires identical horizontal numerical grids and it uses the same number of atmosphere and ocean processors, which does not necessarily guarantee a good load balancing.\\\\ 6 6 The coupler establishes a one-way interaction between the atmosphere and the ocean. The atmosphere sends its bottom surface fluxes (temperature, humidity, momentum) to the ocean. The ocean sends its top surface temperature to the atmosphere. The atmosphere assumes saturation of humidity and zero wind speed at its bottom surface. For calculations with [../../inipar#humidity humidity] = ''.T.'' the atmospheric evaporation leads to a salinity flux in the ocean (see e.g. Steinhorn 1991, JPO 21, p. 1681).\\\\ 7 If the full MPI-2 standard is available, it can be activated by adding the preprocessor directive {{{-D__mpi2}}} to {{{cpp_options}}} in the {{{.mrun.config}}} configuration file. Otherwise, PALM will use a coupling via MPI1. To start a coupled model run, this must be requested with the '''mrun''' option {{{-Y}}} {{{“#1 #2”}}}, where {{{#1}}} is the number of processors for the atmospheric and {{{#2}}} the number of processors for the oceanic version of PALM (Please note that currently only one-to-one topologies are supported and {{{#1}}} must be equal to {{{#2}}}). This tells '''mrun''' to start two PALM executables. Coupled runs are only possible in parallel mode, which means that the '''mrun''' option {{{-K parallel}}} must also be set. The '''mrun''' call for coupled runs has to include the following coupling-related options:7 If the full MPI-2 standard is available, it can be activated by adding the preprocessor directive {{{-D__mpi2}}} to {{{cpp_options}}} in the {{{.mrun.config}}} configuration file. Otherwise, PALM will use a coupling via MPI1. Please note that coupling with different horizontal grid size and different number of processors in ocean and atmosphere is only possible with MPI-1. To start a coupled model run, this must be requested with the '''mrun''' option {{{-Y}}} {{{“#1 #2”}}}, where {{{#1}}} is the number of processors for the atmospheric and {{{#2}}} the number of processors for the oceanic version of PALM (Please note that currently only one-to-one topologies are supported and {{{#1}}} must be equal to {{{#2}}}). This tells '''mrun''' to start two PALM executables. Coupled runs are only possible in parallel mode, which means that the '''mrun''' option {{{-K parallel}}} must also be set. The '''mrun''' call for coupled runs has to include the following coupling-related options: 8 8 {{{ 9 9 mrun ... -K parallel -r “d3# d3o# ...” -X ... -Y “#1 #2”. 10 10 }}} 11 The {{{-X ...}}} option here specifies the total number of processors assigned to the coupled model. Currently, half of them are assigned to each of the two coupled executables. Therefore it is advisable to specify an even number with {{{-X ...}}}. Otherwise, in case of an odd total number of processors, one processor remains idle.\\\\12 11 Each coupled executable has its own, unique set of I/O filenames. Information on file name conventions of coupled runs are given [../../iofiles here]. The configuration file {{{.mrun.config}}} has to be extended for coupled runs. It is recommended to duplicate existing file connection identifiers such as {{{"d3#"}}}, {{{"pr#"}}} etc. using the coupled ocean filenames accordingly. For example, the example of the previous chapters could be duplicated as follows: 13 12 {{{ … … 35 34 }}} 36 35 The coupled ocean model filenames in the first column (e.g. [../../iofiles#PARIN_O PARIN_O]) must be specified as given [../../iofiles here]; the file connection identifiers (e.g. {{{d3o#}}}) and the file name extension (e.g. {{{_o_p3d}}}) may be changed at the user's discretion.\\\\ 37 The coupler requires the following parameters to be equal in both [../../iofiles#PARIN PARIN] and [../../iofiles#PARIN_O PARIN_O]: [../../ inipar#dx dx], [../../inipar#dy dy], [../../inipar#nx nx], [../../inipar#ny ny], [../../d3par#dt_coupling dt_coupling], [../../d3par#end_time end_time], [../../d3par#restart_time restart_time], [../../d3par#dt_restart dt_restart]. In the coupled atmosphere executable, [../../inipar#bc_pt_b bc_pt_b] is internally set and does not need to be prescribed; in the coupled ocean executable, [../../inipar#bc_uv_t bc_uv_t] is internally set ('' 'neumann' '') and does not need to be prescribed. The coupled ocean parameter file [../../iofiles#PARIN_O PARIN_O] should include dummy REAL value assignments to both [../../inipar#top_momentumflux_u top_momentumflux_u] and [../../inipar#top_momentumflux_v top_momentumflux_v] (e.g. top_momentumflux_u = 0.0, top_momentumflux_v = 0.0) to enable the momentum flux coupling.\\\\36 The coupler requires the following parameters to be equal in both [../../iofiles#PARIN PARIN] and [../../iofiles#PARIN_O PARIN_O]: [../../d3par#dt_coupling dt_coupling], [../../d3par#end_time end_time], [../../d3par#restart_time restart_time], [../../d3par#dt_restart dt_restart]. Furthermore the model domain length in x- and y-direction in ocean and atmosphere has to be same. In the coupled atmosphere executable, [../../inipar#bc_pt_b bc_pt_b] is internally set and does not need to be prescribed; in the coupled ocean executable, [../../inipar#bc_uv_t bc_uv_t] is internally set ('' 'neumann' '') and does not need to be prescribed. The coupled ocean parameter file [../../iofiles#PARIN_O PARIN_O] should include dummy REAL value assignments to both [../../inipar#top_momentumflux_u top_momentumflux_u] and [../../inipar#top_momentumflux_v top_momentumflux_v] (e.g. top_momentumflux_u = 0.0, top_momentumflux_v = 0.0) to enable the momentum flux coupling.\\\\ 38 37 The coupling interval [../../d3par#dt_coupling dt_coupling] must be explicitly set. In order to ensure synchronous coupling throughout the simulation, dt_coupling should be chosen larger than [../../d3par#dt_max dt_max].\\\\ 39 38 It's also possible to perform precursor runs (one atmospheric and one oceanic) followed by a coupled restart run. In order to achieve this, the parameter [../../inipar#coupling_start_time coupling_start_time] must be set according to the [[attachment:precursor_run_control.pdf|precursor run control documentation]],