source: CPL/oasis3-mct/branches/OASIS3-MCT_5.0_branch/doc/doxygen/html/namespacemod__oasis__coupler.html @ 6331

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

Moved oasis-mct_5.0 in oasis3-mct/branches directory.

File size: 32.4 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_coupler 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="#nested-classes">Data Types</a> &#124;
63<a href="#func-members">Functions/Subroutines</a> &#124;
64<a href="#var-members">Variables</a>  </div>
65  <div class="headertitle">
66<div class="title">mod_oasis_coupler Module Reference</div>  </div>
67</div><!--header-->
68<div class="contents">
69
70<p>Initialize the OASIS coupler infrastructure. 
71<a href="#details">More...</a></p>
72<table class="memberdecls">
73<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
74Data Types</h2></td></tr>
75<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmod__oasis__coupler_1_1prism__coupler__type.html">prism_coupler_type</a></td></tr>
76<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coupler data for managing all aspects of coupling in OASIS.  <a href="structmod__oasis__coupler_1_1prism__coupler__type.html#details">More...</a><br /></td></tr>
77<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
78<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">type &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmod__oasis__coupler_1_1prism__router__type.html">prism_router_type</a></td></tr>
79<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Router information for rearranging data on tasks.  <a href="structmod__oasis__coupler_1_1prism__router__type.html#details">More...</a><br /></td></tr>
80<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
81</table><table class="memberdecls">
82<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
83Functions/Subroutines</h2></td></tr>
84<tr class="memitem:ab48c4d4ee118f948ccc286eec5b509ec"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#ab48c4d4ee118f948ccc286eec5b509ec">oasis_coupler_setup</a> ()</td></tr>
85<tr class="memdesc:ab48c4d4ee118f948ccc286eec5b509ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main routine to setup couplers.  <a href="#ab48c4d4ee118f948ccc286eec5b509ec">More...</a><br /></td></tr>
86<tr class="separator:ab48c4d4ee118f948ccc286eec5b509ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
87<tr class="memitem:a5cb96db0ae7b837db934689a49df3da6"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a5cb96db0ae7b837db934689a49df3da6">oasis_coupler_print</a> (cplid, pcprint)</td></tr>
88<tr class="memdesc:a5cb96db0ae7b837db934689a49df3da6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print routine for oasis_couplers.  <a href="#a5cb96db0ae7b837db934689a49df3da6">More...</a><br /></td></tr>
89<tr class="separator:a5cb96db0ae7b837db934689a49df3da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
90<tr class="memitem:a65adf0558cfd9a9d316bd22ad1f9dc23"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a65adf0558cfd9a9d316bd22ad1f9dc23">oasis_coupler_bldvarname</a> (varid, varnum, vname)</td></tr>
91<tr class="memdesc:a65adf0558cfd9a9d316bd22ad1f9dc23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build a consistent variable name based on bundles.  <a href="#a65adf0558cfd9a9d316bd22ad1f9dc23">More...</a><br /></td></tr>
92<tr class="separator:a65adf0558cfd9a9d316bd22ad1f9dc23"><td class="memSeparator" colspan="2">&#160;</td></tr>
93<tr class="memitem:ad8c9a74a349ea4420ac38e2da2dc3cd2"><td class="memItemLeft" align="right" valign="top">subroutine, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#ad8c9a74a349ea4420ac38e2da2dc3cd2">oasis_coupler_unbldvarname</a> (varid, vname, varnum)</td></tr>
94<tr class="memdesc:ad8c9a74a349ea4420ac38e2da2dc3cd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deconstruct the varname based on oasis_coupler_bldvarname.  <a href="#ad8c9a74a349ea4420ac38e2da2dc3cd2">More...</a><br /></td></tr>
95<tr class="separator:ad8c9a74a349ea4420ac38e2da2dc3cd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
96<tr class="memitem:a773e323d2275aff227e05e98ce97def1"><td class="memItemLeft" align="right" valign="top">subroutine&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a773e323d2275aff227e05e98ce97def1">cplfind</a> (num, fldlist, fld, ifind, nfind)</td></tr>
97<tr class="memdesc:a773e323d2275aff227e05e98ce97def1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search a character field list for a matching values.  <a href="#a773e323d2275aff227e05e98ce97def1">More...</a><br /></td></tr>
98<tr class="separator:a773e323d2275aff227e05e98ce97def1"><td class="memSeparator" colspan="2">&#160;</td></tr>
99</table><table class="memberdecls">
100<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
101Variables</h2></td></tr>
102<tr class="memitem:a6f166f099a134dffba97a168d28a3c01"><td class="memItemLeft" align="right" valign="top">integer(kind=ip_i4_p), parameter, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a6f166f099a134dffba97a168d28a3c01">prism_coupler_avsmax</a> =5</td></tr>
103<tr class="memdesc:a6f166f099a134dffba97a168d28a3c01"><td class="mdescLeft">&#160;</td><td class="mdescRight">maximum number of higher order terms in mapping  <a href="#a6f166f099a134dffba97a168d28a3c01">More...</a><br /></td></tr>
104<tr class="separator:a6f166f099a134dffba97a168d28a3c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
105<tr class="memitem:a6d46883e9df70ab9cdafaf607afacacb"><td class="memItemLeft" align="right" valign="top">integer(kind=ip_i4_p)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a6d46883e9df70ab9cdafaf607afacacb">prism_mrouter</a></td></tr>
106<tr class="memdesc:a6d46883e9df70ab9cdafaf607afacacb"><td class="mdescLeft">&#160;</td><td class="mdescRight">max routers  <a href="#a6d46883e9df70ab9cdafaf607afacacb">More...</a><br /></td></tr>
107<tr class="separator:a6d46883e9df70ab9cdafaf607afacacb"><td class="memSeparator" colspan="2">&#160;</td></tr>
108<tr class="memitem:a2ebdb255598e1b004de2533f16b06e04"><td class="memItemLeft" align="right" valign="top">integer(kind=ip_i4_p)&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a2ebdb255598e1b004de2533f16b06e04">prism_nrouter</a> = 0</td></tr>
109<tr class="memdesc:a2ebdb255598e1b004de2533f16b06e04"><td class="mdescLeft">&#160;</td><td class="mdescRight">router counter  <a href="#a2ebdb255598e1b004de2533f16b06e04">More...</a><br /></td></tr>
110<tr class="separator:a2ebdb255598e1b004de2533f16b06e04"><td class="memSeparator" colspan="2">&#160;</td></tr>
111<tr class="memitem:a33dbf692ad73f83f73fe083e252badd8"><td class="memItemLeft" align="right" valign="top">type(<a class="el" href="structmod__oasis__coupler_1_1prism__router__type.html">prism_router_type</a>), dimension(:), pointer, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a33dbf692ad73f83f73fe083e252badd8">prism_router</a></td></tr>
112<tr class="memdesc:a33dbf692ad73f83f73fe083e252badd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">prism_router array  <a href="#a33dbf692ad73f83f73fe083e252badd8">More...</a><br /></td></tr>
113<tr class="separator:a33dbf692ad73f83f73fe083e252badd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
114<tr class="memitem:aaa019c39b0f657e7c37820697ecf354a"><td class="memItemLeft" align="right" valign="top">integer(kind=ip_i4_p), public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#aaa019c39b0f657e7c37820697ecf354a">prism_mcoupler</a></td></tr>
115<tr class="memdesc:aaa019c39b0f657e7c37820697ecf354a"><td class="mdescLeft">&#160;</td><td class="mdescRight">max couplers  <a href="#aaa019c39b0f657e7c37820697ecf354a">More...</a><br /></td></tr>
116<tr class="separator:aaa019c39b0f657e7c37820697ecf354a"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:ae59d8823993d9ca8610efd9770393271"><td class="memItemLeft" align="right" valign="top">type(<a class="el" href="structmod__oasis__coupler_1_1prism__coupler__type.html">prism_coupler_type</a>), dimension(:), pointer, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#ae59d8823993d9ca8610efd9770393271">prism_coupler_put</a></td></tr>
118<tr class="memdesc:ae59d8823993d9ca8610efd9770393271"><td class="mdescLeft">&#160;</td><td class="mdescRight">prism_coupler put array  <a href="#ae59d8823993d9ca8610efd9770393271">More...</a><br /></td></tr>
119<tr class="separator:ae59d8823993d9ca8610efd9770393271"><td class="memSeparator" colspan="2">&#160;</td></tr>
120<tr class="memitem:a96df3ef2ec1b53597bb9beca43fe8349"><td class="memItemLeft" align="right" valign="top">type(<a class="el" href="structmod__oasis__coupler_1_1prism__coupler__type.html">prism_coupler_type</a>), dimension(:), pointer, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a96df3ef2ec1b53597bb9beca43fe8349">prism_coupler_get</a></td></tr>
121<tr class="memdesc:a96df3ef2ec1b53597bb9beca43fe8349"><td class="mdescLeft">&#160;</td><td class="mdescRight">prism_coupler get array  <a href="#a96df3ef2ec1b53597bb9beca43fe8349">More...</a><br /></td></tr>
122<tr class="separator:a96df3ef2ec1b53597bb9beca43fe8349"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:a0cb9b8a96c10385d38fa244d920c7eaf"><td class="memItemLeft" align="right" valign="top">integer(kind=ip_i4_p), public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a0cb9b8a96c10385d38fa244d920c7eaf">lastseq</a></td></tr>
124<tr class="memdesc:a0cb9b8a96c10385d38fa244d920c7eaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">last coupler sequence  <a href="#a0cb9b8a96c10385d38fa244d920c7eaf">More...</a><br /></td></tr>
125<tr class="separator:a0cb9b8a96c10385d38fa244d920c7eaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
126<tr class="memitem:a47f4727f94719892d837f6a1545d3d08"><td class="memItemLeft" align="right" valign="top">integer(kind=ip_i4_p), public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#a47f4727f94719892d837f6a1545d3d08">lastseqtime</a></td></tr>
127<tr class="memdesc:a47f4727f94719892d837f6a1545d3d08"><td class="mdescLeft">&#160;</td><td class="mdescRight">last coupler sequence time  <a href="#a47f4727f94719892d837f6a1545d3d08">More...</a><br /></td></tr>
128<tr class="separator:a47f4727f94719892d837f6a1545d3d08"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<tr class="memitem:ab494fbbb8065f3a006892828f288e44a"><td class="memItemLeft" align="right" valign="top">logical, public&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemod__oasis__coupler.html#ab494fbbb8065f3a006892828f288e44a">allow_no_restart</a></td></tr>
130<tr class="memdesc:ab494fbbb8065f3a006892828f288e44a"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag to allow no restart files at startup  <a href="#ab494fbbb8065f3a006892828f288e44a">More...</a><br /></td></tr>
131<tr class="separator:ab494fbbb8065f3a006892828f288e44a"><td class="memSeparator" colspan="2">&#160;</td></tr>
132</table>
133<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
134<div class="textblock"><p>Initialize the OASIS coupler infrastructure. </p>
135</div><h2 class="groupheader">Function/Subroutine Documentation</h2>
136<a id="a773e323d2275aff227e05e98ce97def1"></a>
137<h2 class="memtitle"><span class="permalink"><a href="#a773e323d2275aff227e05e98ce97def1">&#9670;&nbsp;</a></span>cplfind()</h2>
138
139<div class="memitem">
140<div class="memproto">
141<table class="mlabels">
142  <tr>
143  <td class="mlabels-left">
144      <table class="memname">
145        <tr>
146          <td class="memname">subroutine mod_oasis_coupler::cplfind </td>
147          <td>(</td>
148          <td class="paramtype">integer(in), intent(in)&#160;</td>
149          <td class="paramname"><em>num</em>, </td>
150        </tr>
151        <tr>
152          <td class="paramkey"></td>
153          <td></td>
154          <td class="paramtype">character(len=cl), dimension(:), intent(in)&#160;</td>
155          <td class="paramname"><em>fldlist</em>, </td>
156        </tr>
157        <tr>
158          <td class="paramkey"></td>
159          <td></td>
160          <td class="paramtype">character(len=cl), intent(in)&#160;</td>
161          <td class="paramname"><em>fld</em>, </td>
162        </tr>
163        <tr>
164          <td class="paramkey"></td>
165          <td></td>
166          <td class="paramtype">integer(in), intent(out)&#160;</td>
167          <td class="paramname"><em>ifind</em>, </td>
168        </tr>
169        <tr>
170          <td class="paramkey"></td>
171          <td></td>
172          <td class="paramtype">integer(in), intent(out)&#160;</td>
173          <td class="paramname"><em>nfind</em>&#160;</td>
174        </tr>
175        <tr>
176          <td></td>
177          <td>)</td>
178          <td></td><td></td>
179        </tr>
180      </table>
181  </td>
182  <td class="mlabels-right">
183<span class="mlabels"><span class="mlabel">private</span></span>  </td>
184  </tr>
185</table>
186</div><div class="memdoc">
187
188<p>Search a character field list for a matching values. </p>
189<dl class="params"><dt>Parameters</dt><dd>
190  <table class="params">
191    <tr><td class="paramdir">[in]</td><td class="paramname">num</td><td>size of array</td></tr>
192    <tr><td class="paramdir">[in]</td><td class="paramname">fldlist</td><td>sorted field list</td></tr>
193    <tr><td class="paramdir">[in]</td><td class="paramname">fld</td><td>field to search for</td></tr>
194    <tr><td class="paramdir">[out]</td><td class="paramname">ifind</td><td>first match index</td></tr>
195    <tr><td class="paramdir">[out]</td><td class="paramname">nfind</td><td>number that match </td></tr>
196  </table>
197  </dd>
198</dl>
199
200<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l02106">2106</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
201
202</div>
203</div>
204<a id="a65adf0558cfd9a9d316bd22ad1f9dc23"></a>
205<h2 class="memtitle"><span class="permalink"><a href="#a65adf0558cfd9a9d316bd22ad1f9dc23">&#9670;&nbsp;</a></span>oasis_coupler_bldvarname()</h2>
206
207<div class="memitem">
208<div class="memproto">
209      <table class="memname">
210        <tr>
211          <td class="memname">subroutine, public mod_oasis_coupler::oasis_coupler_bldvarname </td>
212          <td>(</td>
213          <td class="paramtype">integer(ip_i4_p), intent(in)&#160;</td>
214          <td class="paramname"><em>varid</em>, </td>
215        </tr>
216        <tr>
217          <td class="paramkey"></td>
218          <td></td>
219          <td class="paramtype">integer(ip_i4_p), intent(in)&#160;</td>
220          <td class="paramname"><em>varnum</em>, </td>
221        </tr>
222        <tr>
223          <td class="paramkey"></td>
224          <td></td>
225          <td class="paramtype">character(len=*), intent(out)&#160;</td>
226          <td class="paramname"><em>vname</em>&#160;</td>
227        </tr>
228        <tr>
229          <td></td>
230          <td>)</td>
231          <td></td><td></td>
232        </tr>
233      </table>
234</div><div class="memdoc">
235
236<p>Build a consistent variable name based on bundles. </p>
237<dl class="params"><dt>Parameters</dt><dd>
238  <table class="params">
239    <tr><td class="paramdir">[in]</td><td class="paramname">varid</td><td>variable id</td></tr>
240    <tr><td class="paramdir">[in]</td><td class="paramname">varnum</td><td>variable bundle level number</td></tr>
241    <tr><td class="paramdir">[out]</td><td class="paramname">vname</td><td>variable name </td></tr>
242  </table>
243  </dd>
244</dl>
245
246<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l02012">2012</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
247
248</div>
249</div>
250<a id="a5cb96db0ae7b837db934689a49df3da6"></a>
251<h2 class="memtitle"><span class="permalink"><a href="#a5cb96db0ae7b837db934689a49df3da6">&#9670;&nbsp;</a></span>oasis_coupler_print()</h2>
252
253<div class="memitem">
254<div class="memproto">
255<table class="mlabels">
256  <tr>
257  <td class="mlabels-left">
258      <table class="memname">
259        <tr>
260          <td class="memname">subroutine mod_oasis_coupler::oasis_coupler_print </td>
261          <td>(</td>
262          <td class="paramtype">integer(ip_i4_p), intent(in)&#160;</td>
263          <td class="paramname"><em>cplid</em>, </td>
264        </tr>
265        <tr>
266          <td class="paramkey"></td>
267          <td></td>
268          <td class="paramtype">type(<a class="el" href="structmod__oasis__coupler_1_1prism__coupler__type.html">prism_coupler_type</a>), intent(in)&#160;</td>
269          <td class="paramname"><em>pcprint</em>&#160;</td>
270        </tr>
271        <tr>
272          <td></td>
273          <td>)</td>
274          <td></td><td></td>
275        </tr>
276      </table>
277  </td>
278  <td class="mlabels-right">
279<span class="mlabels"><span class="mlabel">private</span></span>  </td>
280  </tr>
281</table>
282</div><div class="memdoc">
283
284<p>Print routine for oasis_couplers. </p>
285<dl class="params"><dt>Parameters</dt><dd>
286  <table class="params">
287    <tr><td class="paramdir">[in]</td><td class="paramname">cplid</td><td>coupler id</td></tr>
288    <tr><td class="paramdir">[in]</td><td class="paramname">pcprint</td><td>specific prism_coupler </td></tr>
289  </table>
290  </dd>
291</dl>
292
293<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l01904">1904</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
294
295</div>
296</div>
297<a id="ab48c4d4ee118f948ccc286eec5b509ec"></a>
298<h2 class="memtitle"><span class="permalink"><a href="#ab48c4d4ee118f948ccc286eec5b509ec">&#9670;&nbsp;</a></span>oasis_coupler_setup()</h2>
299
300<div class="memitem">
301<div class="memproto">
302      <table class="memname">
303        <tr>
304          <td class="memname">subroutine, public mod_oasis_coupler::oasis_coupler_setup </td>
305          <td>(</td>
306          <td class="paramname"></td><td>)</td>
307          <td></td>
308        </tr>
309      </table>
310</div><div class="memdoc">
311
312<p>Main routine to setup couplers. </p>
313<p>This routine initializes all the coupler data based on the namcouple inputs and the calls into the OASIS initialization interfaces from models. It reconciles everything. This is called from oasis_enddef. </p>
314<ul>
315<li>Allocate and zero prism_router, prism_mapper, prism_coupler based on nnamcpl</li>
316<li>Generate model variable lists across all models based on def_var calls. These will be reconciled with the namcouple input. These are sorted to improve search performance later.</li>
317<li>Setup couplers based on namcouple and model variable info.</li>
318<li>Preprocess namcouple strings and sort for faster searches</li>
319<li>Loop over all my model variables<ul>
320<li>Get parition and field information</li>
321<li>Check if variable is In or Out and then find namcouple matches</li>
322<li>Loop over the namcouple matches<ul>
323<li>Migrate namcouple info into part</li>
324<li>Make sure it's either an In or Out, sanity check</li>
325<li>Determine matching field name from namcouple</li>
326<li>Search for list of models with other variable</li>
327<li>Loop over those other matching variable names<ul>
328<li>Check that one side is In and other side is Out for communication</li>
329<li>Check if input or output, field name should match on both sides.</li>
330<li>Check that the bundle size matches in both models for bundled fields</li>
331<li>Generate field list, multiple field support</li>
332<li>Add this coupler to list of prism_var couplers</li>
333<li>Copy namcouple settings into this coupler or check that coupler is consistent with prior setting</li>
334<li>Set prism_coupler input and output flags</li>
335<li>Setup prism_coupler router</li>
336<li>Setup prism_coupler mapper</li>
337<li>Try to reuse mapper already defined, must match mapping file and partition</li>
338<li>Or get ready to initialize a new mapper</li>
339</ul>
340</li>
341</ul>
342</li>
343</ul>
344</li>
345<li>Rebuild the fields list based on field bundles as needed</li>
346<li>Initialize coupling infrastructure based on initial coupler setup above</li>
347<li>Loop over all couplers<ul>
348<li>Initialize avect1 which stores the get/put data</li>
349<li>Compute nflds for this coupling and initialize avcnt and status</li>
350<li>Initialize the mapper data</li>
351<li>Read mapper mask and area if not already done</li>
352<li>Initialize avect1m, the data in avect1 mapped to another grid</li>
353<li>Initialize router based on rpartID</li>
354</ul>
355</li>
356<li>Diagnostics for all couplers </li>
357</ul>
358
359<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00121">121</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
360
361</div>
362</div>
363<a id="ad8c9a74a349ea4420ac38e2da2dc3cd2"></a>
364<h2 class="memtitle"><span class="permalink"><a href="#ad8c9a74a349ea4420ac38e2da2dc3cd2">&#9670;&nbsp;</a></span>oasis_coupler_unbldvarname()</h2>
365
366<div class="memitem">
367<div class="memproto">
368      <table class="memname">
369        <tr>
370          <td class="memname">subroutine, public mod_oasis_coupler::oasis_coupler_unbldvarname </td>
371          <td>(</td>
372          <td class="paramtype">integer(ip_i4_p), intent(in)&#160;</td>
373          <td class="paramname"><em>varid</em>, </td>
374        </tr>
375        <tr>
376          <td class="paramkey"></td>
377          <td></td>
378          <td class="paramtype">character(len=*), intent(in)&#160;</td>
379          <td class="paramname"><em>vname</em>, </td>
380        </tr>
381        <tr>
382          <td class="paramkey"></td>
383          <td></td>
384          <td class="paramtype">integer(ip_i4_p), intent(out)&#160;</td>
385          <td class="paramname"><em>varnum</em>&#160;</td>
386        </tr>
387        <tr>
388          <td></td>
389          <td>)</td>
390          <td></td><td></td>
391        </tr>
392      </table>
393</div><div class="memdoc">
394
395<p>Deconstruct the varname based on oasis_coupler_bldvarname. </p>
396<dl class="params"><dt>Parameters</dt><dd>
397  <table class="params">
398    <tr><td class="paramdir">[in]</td><td class="paramname">varid</td><td>variable id</td></tr>
399    <tr><td class="paramdir">[in]</td><td class="paramname">vname</td><td>variable name</td></tr>
400    <tr><td class="paramdir">[out]</td><td class="paramname">varnum</td><td>variable bundle level number </td></tr>
401  </table>
402  </dd>
403</dl>
404
405<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l02055">2055</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
406
407</div>
408</div>
409<h2 class="groupheader">Variable Documentation</h2>
410<a id="ab494fbbb8065f3a006892828f288e44a"></a>
411<h2 class="memtitle"><span class="permalink"><a href="#ab494fbbb8065f3a006892828f288e44a">&#9670;&nbsp;</a></span>allow_no_restart</h2>
412
413<div class="memitem">
414<div class="memproto">
415      <table class="memname">
416        <tr>
417          <td class="memname">logical, public mod_oasis_coupler::allow_no_restart</td>
418        </tr>
419      </table>
420</div><div class="memdoc">
421
422<p>flag to allow no restart files at startup </p>
423
424<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00106">106</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
425
426</div>
427</div>
428<a id="a0cb9b8a96c10385d38fa244d920c7eaf"></a>
429<h2 class="memtitle"><span class="permalink"><a href="#a0cb9b8a96c10385d38fa244d920c7eaf">&#9670;&nbsp;</a></span>lastseq</h2>
430
431<div class="memitem">
432<div class="memproto">
433      <table class="memname">
434        <tr>
435          <td class="memname">integer(kind=ip_i4_p), public mod_oasis_coupler::lastseq</td>
436        </tr>
437      </table>
438</div><div class="memdoc">
439
440<p>last coupler sequence </p>
441
442<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00104">104</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
443
444</div>
445</div>
446<a id="a47f4727f94719892d837f6a1545d3d08"></a>
447<h2 class="memtitle"><span class="permalink"><a href="#a47f4727f94719892d837f6a1545d3d08">&#9670;&nbsp;</a></span>lastseqtime</h2>
448
449<div class="memitem">
450<div class="memproto">
451      <table class="memname">
452        <tr>
453          <td class="memname">integer(kind=ip_i4_p), public mod_oasis_coupler::lastseqtime</td>
454        </tr>
455      </table>
456</div><div class="memdoc">
457
458<p>last coupler sequence time </p>
459
460<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00105">105</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
461
462</div>
463</div>
464<a id="a6f166f099a134dffba97a168d28a3c01"></a>
465<h2 class="memtitle"><span class="permalink"><a href="#a6f166f099a134dffba97a168d28a3c01">&#9670;&nbsp;</a></span>prism_coupler_avsmax</h2>
466
467<div class="memitem">
468<div class="memproto">
469      <table class="memname">
470        <tr>
471          <td class="memname">integer(kind=ip_i4_p), parameter, public mod_oasis_coupler::prism_coupler_avsmax =5</td>
472        </tr>
473      </table>
474</div><div class="memdoc">
475
476<p>maximum number of higher order terms in mapping </p>
477
478<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00044">44</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
479
480</div>
481</div>
482<a id="a96df3ef2ec1b53597bb9beca43fe8349"></a>
483<h2 class="memtitle"><span class="permalink"><a href="#a96df3ef2ec1b53597bb9beca43fe8349">&#9670;&nbsp;</a></span>prism_coupler_get</h2>
484
485<div class="memitem">
486<div class="memproto">
487      <table class="memname">
488        <tr>
489          <td class="memname">type(<a class="el" href="structmod__oasis__coupler_1_1prism__coupler__type.html">prism_coupler_type</a>), dimension(:), pointer, public mod_oasis_coupler::prism_coupler_get</td>
490        </tr>
491      </table>
492</div><div class="memdoc">
493
494<p>prism_coupler get array </p>
495
496<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00102">102</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
497
498</div>
499</div>
500<a id="ae59d8823993d9ca8610efd9770393271"></a>
501<h2 class="memtitle"><span class="permalink"><a href="#ae59d8823993d9ca8610efd9770393271">&#9670;&nbsp;</a></span>prism_coupler_put</h2>
502
503<div class="memitem">
504<div class="memproto">
505      <table class="memname">
506        <tr>
507          <td class="memname">type(<a class="el" href="structmod__oasis__coupler_1_1prism__coupler__type.html">prism_coupler_type</a>), dimension(:), pointer, public mod_oasis_coupler::prism_coupler_put</td>
508        </tr>
509      </table>
510</div><div class="memdoc">
511
512<p>prism_coupler put array </p>
513
514<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00101">101</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
515
516</div>
517</div>
518<a id="aaa019c39b0f657e7c37820697ecf354a"></a>
519<h2 class="memtitle"><span class="permalink"><a href="#aaa019c39b0f657e7c37820697ecf354a">&#9670;&nbsp;</a></span>prism_mcoupler</h2>
520
521<div class="memitem">
522<div class="memproto">
523      <table class="memname">
524        <tr>
525          <td class="memname">integer(kind=ip_i4_p), public mod_oasis_coupler::prism_mcoupler</td>
526        </tr>
527      </table>
528</div><div class="memdoc">
529
530<p>max couplers </p>
531
532<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00100">100</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
533
534</div>
535</div>
536<a id="a6d46883e9df70ab9cdafaf607afacacb"></a>
537<h2 class="memtitle"><span class="permalink"><a href="#a6d46883e9df70ab9cdafaf607afacacb">&#9670;&nbsp;</a></span>prism_mrouter</h2>
538
539<div class="memitem">
540<div class="memproto">
541<table class="mlabels">
542  <tr>
543  <td class="mlabels-left">
544      <table class="memname">
545        <tr>
546          <td class="memname">integer(kind=ip_i4_p) mod_oasis_coupler::prism_mrouter</td>
547        </tr>
548      </table>
549  </td>
550  <td class="mlabels-right">
551<span class="mlabels"><span class="mlabel">private</span></span>  </td>
552  </tr>
553</table>
554</div><div class="memdoc">
555
556<p>max routers </p>
557
558<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00096">96</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
559
560</div>
561</div>
562<a id="a2ebdb255598e1b004de2533f16b06e04"></a>
563<h2 class="memtitle"><span class="permalink"><a href="#a2ebdb255598e1b004de2533f16b06e04">&#9670;&nbsp;</a></span>prism_nrouter</h2>
564
565<div class="memitem">
566<div class="memproto">
567<table class="mlabels">
568  <tr>
569  <td class="mlabels-left">
570      <table class="memname">
571        <tr>
572          <td class="memname">integer(kind=ip_i4_p) mod_oasis_coupler::prism_nrouter = 0</td>
573        </tr>
574      </table>
575  </td>
576  <td class="mlabels-right">
577<span class="mlabels"><span class="mlabel">private</span></span>  </td>
578  </tr>
579</table>
580</div><div class="memdoc">
581
582<p>router counter </p>
583
584<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00097">97</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
585
586</div>
587</div>
588<a id="a33dbf692ad73f83f73fe083e252badd8"></a>
589<h2 class="memtitle"><span class="permalink"><a href="#a33dbf692ad73f83f73fe083e252badd8">&#9670;&nbsp;</a></span>prism_router</h2>
590
591<div class="memitem">
592<div class="memproto">
593      <table class="memname">
594        <tr>
595          <td class="memname">type(<a class="el" href="structmod__oasis__coupler_1_1prism__router__type.html">prism_router_type</a>), dimension(:), pointer, public mod_oasis_coupler::prism_router</td>
596        </tr>
597      </table>
598</div><div class="memdoc">
599
600<p>prism_router array </p>
601
602<p class="definition">Definition at line <a class="el" href="mod__oasis__coupler_8_f90_source.html#l00098">98</a> of file <a class="el" href="mod__oasis__coupler_8_f90_source.html">mod_oasis_coupler.F90</a>.</p>
603
604</div>
605</div>
606</div><!-- contents -->
607<!-- start footer part -->
608<hr class="footer"/><address class="footer"><small>
609Generated on Fri Jun 29 2018 20:52:29 for Oasis3-MCT by &#160;<a href="http://www.doxygen.org/index.html">
610<img class="footer" src="doxygen.png" alt="doxygen"/>
611</a> 1.8.13
612</small></address>
613</body>
614</html>
Note: See TracBrowser for help on using the repository browser.