source: CPL/oasis3-mct_5.0/doc/doxygen/html/namespacemod__oasis__method.html @ 6328

Last change on this file since 6328 was 6328, checked in by aclsce, 17 months ago

First import of oasis3-mct_5.0 (from oasis git server, branch OASIS3-MCT_5.0)

File size: 16.7 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.13"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>Oasis3-MCT: mod_oasis_method Module Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="search/search.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="search/searchdata.js"></script>
14<script type="text/javascript" src="search/search.js"></script>
15<link href="doxygen.css" rel="stylesheet" type="text/css" />
16</head>
17<body>
18<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19<div id="titlearea">
20<table cellspacing="0" cellpadding="0">
21 <tbody>
22 <tr style="height: 56px;">
23  <td id="projectalign" style="padding-left: 0.5em;">
24   <div id="projectname">Oasis3-MCT
25   </div>
26  </td>
27 </tr>
28 </tbody>
29</table>
30</div>
31<!-- end header part -->
32<!-- Generated by Doxygen 1.8.13 -->
33<script type="text/javascript">
34var searchBox = new SearchBox("searchBox", "search",false,'Search');
35</script>
36<script type="text/javascript" src="menudata.js"></script>
37<script type="text/javascript" src="menu.js"></script>
38<script type="text/javascript">
39$(function() {
40  initMenu('',true,false,'search.php','Search');
41  $(document).ready(function() { init_search(); });
42});
43</script>
44<div id="main-nav"></div>
45<!-- window showing the filter options -->
46<div id="MSearchSelectWindow"
47     onmouseover="return searchBox.OnSearchSelectShow()"
48     onmouseout="return searchBox.OnSearchSelectHide()"
49     onkeydown="return searchBox.OnSearchSelectKey(event)">
50</div>
51
52<!-- iframe showing the search results (closed by default) -->
53<div id="MSearchResultsWindow">
54<iframe src="javascript:void(0)" frameborder="0" 
55        name="MSearchResults" id="MSearchResults">
56</iframe>
57</div>
58
59</div><!-- top -->
60<div class="header">
61  <div class="summary">
62<a href="#func-members">Functions/Subroutines</a> &#124;
63<a href="#var-members">Variables</a>  </div>
64  <div class="headertitle">
65<div class="title">mod_oasis_method Module Reference</div>  </div>
66</div><!--header-->
67<div class="contents">
68
69<p>High level OASIS user interfaces. 
70<a href="#details">More...</a></p>
71<table class="memberdecls">
72<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
73Functions/Subroutines</h2></td></tr>
74<tr class="memitem:ad266b77f6e75f2d150c80374a841a43c"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__method.html#ad266b77f6e75f2d150c80374a841a43c">oasis_init_comp</a> (mynummod, cdnam, kinfo, coupled, commworld)</td></tr>
75<tr class="memdesc:ad266b77f6e75f2d150c80374a841a43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">OASIS user init method.  <a href="#ad266b77f6e75f2d150c80374a841a43c">More...</a><br /></td></tr>
76<tr class="separator:ad266b77f6e75f2d150c80374a841a43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
77<tr class="memitem:a4fb881336906c9452b6a9f250af9c3d7"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__method.html#a4fb881336906c9452b6a9f250af9c3d7">oasis_terminate</a> (kinfo)</td></tr>
78<tr class="memdesc:a4fb881336906c9452b6a9f250af9c3d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">OASIS user finalize method.  <a href="#a4fb881336906c9452b6a9f250af9c3d7">More...</a><br /></td></tr>
79<tr class="separator:a4fb881336906c9452b6a9f250af9c3d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
80<tr class="memitem:a093552f9f9895ac79a5fefa043fc5881"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__method.html#a093552f9f9895ac79a5fefa043fc5881">oasis_enddef</a> (kinfo)</td></tr>
81<tr class="memdesc:a093552f9f9895ac79a5fefa043fc5881"><td class="mdescLeft">&#160;</td><td class="mdescRight">OASIS user interface specifying the OASIS definition phase is complete.  <a href="#a093552f9f9895ac79a5fefa043fc5881">More...</a><br /></td></tr>
82<tr class="separator:a093552f9f9895ac79a5fefa043fc5881"><td class="memSeparator" colspan="2">&#160;</td></tr>
83<tr class="memitem:a13d6e469ea14642a2e1e6cb807d9b7de"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__method.html#a13d6e469ea14642a2e1e6cb807d9b7de">mod_oasis_setrootglobal</a> ()</td></tr>
84<tr class="memdesc:a13d6e469ea14642a2e1e6cb807d9b7de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local method to compute each models' global task ids, exists for reuse in enddef.  <a href="#a13d6e469ea14642a2e1e6cb807d9b7de">More...</a><br /></td></tr>
85<tr class="separator:a13d6e469ea14642a2e1e6cb807d9b7de"><td class="memSeparator" colspan="2">&#160;</td></tr>
86</table><table class="memberdecls">
87<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
88Variables</h2></td></tr>
89<tr class="memitem:a390290b92b6af57b2732cb7521532f1c"><td class="memItemLeft" align="right" valign="top">integer(kind=ip_intwp_p), parameter&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__method.html#a390290b92b6af57b2732cb7521532f1c">debug</a> =1</td></tr>
90<tr class="separator:a390290b92b6af57b2732cb7521532f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
91<tr class="memitem:a405af91a0535e4ce70d55513bb4c3867"><td class="memItemLeft" align="right" valign="top">logical&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__method.html#a405af91a0535e4ce70d55513bb4c3867">lg_mpiflag</a></td></tr>
92<tr class="separator:a405af91a0535e4ce70d55513bb4c3867"><td class="memSeparator" colspan="2">&#160;</td></tr>
93<tr class="memitem:aff65fa61d2762374419fe4c44c0f9282"><td class="memItemLeft" align="right" valign="top">integer(kind=ip_intwp_p)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__method.html#aff65fa61d2762374419fe4c44c0f9282">mpi_comm_global_world</a></td></tr>
94<tr class="separator:aff65fa61d2762374419fe4c44c0f9282"><td class="memSeparator" colspan="2">&#160;</td></tr>
95</table>
96<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
97<div class="textblock"><p>High level OASIS user interfaces. </p>
98</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
99<a id="a13d6e469ea14642a2e1e6cb807d9b7de"></a>
100<h2 class="memtitle"><span class="permalink"><a href="#a13d6e469ea14642a2e1e6cb807d9b7de">&#9670;&nbsp;</a></span>mod_oasis_setrootglobal()</h2>
101
102<div class="memitem">
103<div class="memproto">
104<table class="mlabels">
105  <tr>
106  <td class="mlabels-left">
107      <table class="memname">
108        <tr>
109          <td class="memname">subroutine mod_oasis_method::mod_oasis_setrootglobal </td>
110          <td>(</td>
111          <td class="paramname"></td><td>)</td>
112          <td></td>
113        </tr>
114      </table>
115  </td>
116  <td class="mlabels-right">
117<span class="mlabels"><span class="mlabel">private</span></span>  </td>
118  </tr>
119</table>
120</div><div class="memdoc">
121
122<p>Local method to compute each models' global task ids, exists for reuse in enddef. </p>
123
124<p class="definition">Definition at line <a class="el" href="mod__oasis__method_8_f90_source.html#l00939">939</a> of file <a class="el" href="mod__oasis__method_8_f90_source.html">mod_oasis_method.F90</a>.</p>
125
126</div>
127</div>
128<a id="a093552f9f9895ac79a5fefa043fc5881"></a>
129<h2 class="memtitle"><span class="permalink"><a href="#a093552f9f9895ac79a5fefa043fc5881">&#9670;&nbsp;</a></span>oasis_enddef()</h2>
130
131<div class="memitem">
132<div class="memproto">
133      <table class="memname">
134        <tr>
135          <td class="memname">subroutine, public mod_oasis_method::oasis_enddef </td>
136          <td>(</td>
137          <td class="paramtype">integer (kind=ip_intwp_p), intent(inout), optional&#160;</td>
138          <td class="paramname"><em>kinfo</em></td><td>)</td>
139          <td></td>
140        </tr>
141      </table>
142</div><div class="memdoc">
143
144<p>OASIS user interface specifying the OASIS definition phase is complete. </p>
145<dl class="params"><dt>Parameters</dt><dd>
146  <table class="params">
147    <tr><td class="paramdir">[in,out]</td><td class="paramname">kinfo</td><td>return code </td></tr>
148  </table>
149  </dd>
150</dl>
151<ul>
152<li>Check enddef called only once per task</li>
153<li>Reset mpi_comm_global because active tasks might have been excluded</li>
154<li>For active tasks only<ul>
155<li>Update mpi_comm_global</li>
156<li>Update mpi_root_global</li>
157<li>Document</li>
158<li>Reconcile partitions, call part_setup</li>
159<li>Reconcile variables, call var_setup</li>
160<li>Write grid info to files one model at a time</li>
161<li>MCT Initialization</li>
162<li>Initialize coupling via call to coupler_setup</li>
163<li>Call advance_init to initialize coupling fields from restarts </li>
164</ul>
165</li>
166</ul>
167
168<p class="definition">Definition at line <a class="el" href="mod__oasis__method_8_f90_source.html#l00730">730</a> of file <a class="el" href="mod__oasis__method_8_f90_source.html">mod_oasis_method.F90</a>.</p>
169
170</div>
171</div>
172<a id="ad266b77f6e75f2d150c80374a841a43c"></a>
173<h2 class="memtitle"><span class="permalink"><a href="#ad266b77f6e75f2d150c80374a841a43c">&#9670;&nbsp;</a></span>oasis_init_comp()</h2>
174
175<div class="memitem">
176<div class="memproto">
177      <table class="memname">
178        <tr>
179          <td class="memname">subroutine, public mod_oasis_method::oasis_init_comp </td>
180          <td>(</td>
181          <td class="paramtype">integer (kind=ip_intwp_p), intent(out)&#160;</td>
182          <td class="paramname"><em>mynummod</em>, </td>
183        </tr>
184        <tr>
185          <td class="paramkey"></td>
186          <td></td>
187          <td class="paramtype">character(len=*), intent(in)&#160;</td>
188          <td class="paramname"><em>cdnam</em>, </td>
189        </tr>
190        <tr>
191          <td class="paramkey"></td>
192          <td></td>
193          <td class="paramtype">integer (kind=ip_intwp_p), intent(inout), optional&#160;</td>
194          <td class="paramname"><em>kinfo</em>, </td>
195        </tr>
196        <tr>
197          <td class="paramkey"></td>
198          <td></td>
199          <td class="paramtype">logical, intent(in), optional&#160;</td>
200          <td class="paramname"><em>coupled</em>, </td>
201        </tr>
202        <tr>
203          <td class="paramkey"></td>
204          <td></td>
205          <td class="paramtype">integer (kind=ip_intwp_p), intent(in), optional&#160;</td>
206          <td class="paramname"><em>commworld</em>&#160;</td>
207        </tr>
208        <tr>
209          <td></td>
210          <td>)</td>
211          <td></td><td></td>
212        </tr>
213      </table>
214</div><div class="memdoc">
215
216<p>OASIS user init method. </p>
217<dl class="params"><dt>Parameters</dt><dd>
218  <table class="params">
219    <tr><td class="paramdir">[out]</td><td class="paramname">mynummod</td><td>* This is COLLECTIVE, all pes must call</td></tr>
220    <tr><td class="paramdir">[out]</td><td class="paramname">mynummod</td><td>component model ID</td></tr>
221    <tr><td class="paramdir">[in]</td><td class="paramname">cdnam</td><td>model name</td></tr>
222    <tr><td class="paramdir">[in,out]</td><td class="paramname">kinfo</td><td>return code</td></tr>
223    <tr><td class="paramdir">[in]</td><td class="paramname">coupled</td><td>flag to specify whether this component is coupled in oasis</td></tr>
224    <tr><td class="paramdir">[in]</td><td class="paramname">commworld</td><td>user defined mpi_comm_world to use in oasis </td></tr>
225  </table>
226  </dd>
227</dl>
228<ul>
229<li>Initialize MPI</li>
230<li>Set initial output file, need mpi_rank_world</li>
231<li>Initialize namcouple. First on rank 0 to write error messages then on all other ranks. All tasks will read the namcouple file independently.</li>
232<li>Check if NFIELDS=0, there is no coupling.</li>
233<li>Determine the total number of coupling fields from namcouple. Set maxvar parameter and allocate prism_var.</li>
234<li>Store all the names of the fields exchanged in the namcouple</li>
235<li>Gather model names from all tasks to generate active model list on all tasks.</li>
236<li>Broadcast the model list to all MPI tasks</li>
237<li>Compute compid</li>
238<li>Re-Set MPI info based on active model tasks</li>
239<li>Reset debug levels</li>
240<li>Open log files</li>
241<li>Set mpi_root_global</li>
242<li>Memory Initialization</li>
243<li>Timer Initialization</li>
244<li>Diagnostics </li>
245</ul>
246
247<p class="definition">Definition at line <a class="el" href="mod__oasis__method_8_f90_source.html#l00046">46</a> of file <a class="el" href="mod__oasis__method_8_f90_source.html">mod_oasis_method.F90</a>.</p>
248
249</div>
250</div>
251<a id="a4fb881336906c9452b6a9f250af9c3d7"></a>
252<h2 class="memtitle"><span class="permalink"><a href="#a4fb881336906c9452b6a9f250af9c3d7">&#9670;&nbsp;</a></span>oasis_terminate()</h2>
253
254<div class="memitem">
255<div class="memproto">
256      <table class="memname">
257        <tr>
258          <td class="memname">subroutine, public mod_oasis_method::oasis_terminate </td>
259          <td>(</td>
260          <td class="paramtype">integer (kind=ip_intwp_p), intent(inout), optional&#160;</td>
261          <td class="paramname"><em>kinfo</em></td><td>)</td>
262          <td></td>
263        </tr>
264      </table>
265</div><div class="memdoc">
266
267<p>OASIS user finalize method. </p>
268<dl class="params"><dt>Parameters</dt><dd>
269  <table class="params">
270    <tr><td class="paramdir">[in,out]</td><td class="paramname">kinfo</td><td>return code </td></tr>
271  </table>
272  </dd>
273</dl>
274<ul>
275<li>Print timer information</li>
276<li>Call MPI finalize</li>
277<li>Write SUCCESSFUL RUN </li>
278</ul>
279
280<p class="definition">Definition at line <a class="el" href="mod__oasis__method_8_f90_source.html#l00663">663</a> of file <a class="el" href="mod__oasis__method_8_f90_source.html">mod_oasis_method.F90</a>.</p>
281
282</div>
283</div>
284<h2 class="groupheader">Variable Documentation</h2>
285<a id="a390290b92b6af57b2732cb7521532f1c"></a>
286<h2 class="memtitle"><span class="permalink"><a href="#a390290b92b6af57b2732cb7521532f1c">&#9670;&nbsp;</a></span>debug</h2>
287
288<div class="memitem">
289<div class="memproto">
290<table class="mlabels">
291  <tr>
292  <td class="mlabels-left">
293      <table class="memname">
294        <tr>
295          <td class="memname">integer(kind=ip_intwp_p), parameter mod_oasis_method::debug =1</td>
296        </tr>
297      </table>
298  </td>
299  <td class="mlabels-right">
300<span class="mlabels"><span class="mlabel">private</span></span>  </td>
301  </tr>
302</table>
303</div><div class="memdoc">
304
305<p class="definition">Definition at line <a class="el" href="mod__oasis__method_8_f90_source.html#l00034">34</a> of file <a class="el" href="mod__oasis__method_8_f90_source.html">mod_oasis_method.F90</a>.</p>
306
307</div>
308</div>
309<a id="a405af91a0535e4ce70d55513bb4c3867"></a>
310<h2 class="memtitle"><span class="permalink"><a href="#a405af91a0535e4ce70d55513bb4c3867">&#9670;&nbsp;</a></span>lg_mpiflag</h2>
311
312<div class="memitem">
313<div class="memproto">
314<table class="mlabels">
315  <tr>
316  <td class="mlabels-left">
317      <table class="memname">
318        <tr>
319          <td class="memname">logical mod_oasis_method::lg_mpiflag</td>
320        </tr>
321      </table>
322  </td>
323  <td class="mlabels-right">
324<span class="mlabels"><span class="mlabel">private</span></span>  </td>
325  </tr>
326</table>
327</div><div class="memdoc">
328
329<p class="definition">Definition at line <a class="el" href="mod__oasis__method_8_f90_source.html#l00036">36</a> of file <a class="el" href="mod__oasis__method_8_f90_source.html">mod_oasis_method.F90</a>.</p>
330
331</div>
332</div>
333<a id="aff65fa61d2762374419fe4c44c0f9282"></a>
334<h2 class="memtitle"><span class="permalink"><a href="#aff65fa61d2762374419fe4c44c0f9282">&#9670;&nbsp;</a></span>mpi_comm_global_world</h2>
335
336<div class="memitem">
337<div class="memproto">
338<table class="mlabels">
339  <tr>
340  <td class="mlabels-left">
341      <table class="memname">
342        <tr>
343          <td class="memname">integer(kind=ip_intwp_p) mod_oasis_method::mpi_comm_global_world</td>
344        </tr>
345      </table>
346  </td>
347  <td class="mlabels-right">
348<span class="mlabels"><span class="mlabel">private</span></span>  </td>
349  </tr>
350</table>
351</div><div class="memdoc">
352
353<p class="definition">Definition at line <a class="el" href="mod__oasis__method_8_f90_source.html#l00037">37</a> of file <a class="el" href="mod__oasis__method_8_f90_source.html">mod_oasis_method.F90</a>.</p>
354
355</div>
356</div>
357</div><!-- contents -->
358<!-- start footer part -->
359<hr class="footer"/><address class="footer"><small>
360Generated on Fri Jun 29 2018 20:52:29 for Oasis3-MCT by &#160;<a href="http://www.doxygen.org/index.html">
361<img class="footer" src="doxygen.png" alt="doxygen"/>
362</a> 1.8.13
363</small></address>
364</body>
365</html>
Note: See TracBrowser for help on using the repository browser.