Changeset 48 for palm/trunk/DOC/app/chapter_3.5.3.html
- Timestamp:
- Mar 6, 2007 12:28:36 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/DOC/app/chapter_3.5.3.html
r5 r48 1 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <html> 3 <head> 4 <meta http-equiv="CONTENT-TYPE" 5 content="text/html; charset=windows-1252"> 6 <title>PALM chapter 3.5.3</title> 7 <meta name="GENERATOR" content="StarOffice 7 (Win32)"> 2 <html><head> 3 <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"> 4 5 <title>PALM chapter 3.5.3</title><meta name="GENERATOR" content="StarOffice 7 (Win32)"> 8 6 <meta name="AUTHOR" content="Siegfried Raasch"> 9 7 <meta name="CREATED" content="20040802;14001660"> … … 14 12 @page { size: 21cm 29.7cm } 15 13 --> 16 </style> 17 </head> 14 </style></head> 15 18 16 <body dir="ltr" lang="en-US"> 19 17 <h3 style="line-height: 100%;">3.5.3 Definition of user-defined 20 18 subdomains</h3> 21 <p style="line-height: 100%;">By default, the values of the time 22 series (saved in local file <a href="chapter_3.4.html#PLOTTS_DATA">PLOTTS_DATA</a>) 23 and the horizontally averaged vertical profiles (saved in local files 19 <p style="line-height: 100%;">By default, the values of the timeseries quantities and the horizontally averaged vertical profiles (saved in local files 24 20 <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a> 25 21 and <a href="chapter_3.4.html#LIST_PROFIL">LIST_PROFIL</a>) … … 27 23 series or profiles for different user-defined subdomains can be 28 24 computed and plotted additionally. Steering in principle is done 29 via the initialization parameter <a 30 href="chapter_4.1.html#statistic_regions">statistic_regions</a>. 25 via the initialization parameter <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>. 31 26 </p> 32 27 <p style="line-height: 100%;">The exact definition of these subdomains 33 28 has to be made by the user within the user-defined subroutine 34 29 <tt><font style="font-size: 10pt;" size="2">init_user</font></tt>. The 35 subdomains are defined with a mask array named <tt><font 36 style="font-size: 10pt;" size="2">rmask</font></tt>, 30 subdomains are defined with a mask array named <tt><font style="font-size: 10pt;" size="2">rmask</font></tt>, 37 31 which has to be given the value 1.0 for all horizontal grid points 38 32 belonging to … … 43 37 declared as: </p> 44 38 <ul> 45 <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" 46 size="2">REAL :: rmask (nys-1:nyn+1,nxl-1,nxr+1,0:9) .</font></tt></p> 39 <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">REAL :: rmask (nys-1:nyn+1,nxl-1,nxr+1,0:9) .</font></tt></p> 47 40 </ul> 48 41 <p style="line-height: 100%;">The first two indices are the grid point 49 indices in y and x-direction. With parallel model runs <tt><font 50 style="font-size: 10pt;" size="2">nxl</font></tt><font 51 style="font-size: 10pt;" size="2">, 52 </font><tt><font style="font-size: 10pt;" size="2">nxr</font></tt><font 53 style="font-size: 10pt;" size="2">, 54 </font><tt><font style="font-size: 10pt;" size="2">nys</font></tt><font 55 style="font-size: 10pt;" size="2"> 56 <font size="3">and</font> </font><tt><font style="font-size: 10pt;" 57 size="2">nyn</font></tt> 42 indices in y and x-direction. With parallel model runs <tt><font style="font-size: 10pt;" size="2">nxl</font></tt><font style="font-size: 10pt;" size="2">, 43 </font><tt><font style="font-size: 10pt;" size="2">nxr</font></tt><font style="font-size: 10pt;" size="2">, 44 </font><tt><font style="font-size: 10pt;" size="2">nys</font></tt><font style="font-size: 10pt;" size="2"> 45 <font size="3">and</font> </font><tt><font style="font-size: 10pt;" size="2">nyn</font></tt> 58 46 are the array bounds of the respective subdomain (don't confuse this 59 47 with the user-defined subdomain!) on the 60 respective processor. With runs on one processor <tt><font 61 style="font-size: 10pt;" size="2">nys</font></tt><font 62 style="font-size: 10pt;" size="2"> 63 = </font><tt><font style="font-size: 10pt;" size="2">nxl</font></tt><font 64 style="font-size: 10pt;" size="2"> 65 = 0</font> and <font style="font-size: 10pt;" size="2"><font 66 face="Cumberland, monospace">nxr 48 respective processor. With runs on one processor <tt><font style="font-size: 10pt;" size="2">nys</font></tt><font style="font-size: 10pt;" size="2"> 49 = </font><tt><font style="font-size: 10pt;" size="2">nxl</font></tt><font style="font-size: 10pt;" size="2"> 50 = 0</font> and <font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">nxr 67 51 =</font> </font><a href="chapter_4.1.html#nx">nx</a> 68 and <font style="font-size: 10pt;" size="2"><font 69 face="Cumberland, monospace">nyn 52 and <font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">nyn 70 53 =</font></font> <a href="chapter_4.1.html#ny">ny</a>. 71 54 The third index determines the user-defined subdomain. The total model … … 81 64 assumed). 82 65 The second subdomain should be defined by all points outside of this 83 domain. This may be obtained by the following lines of code in <tt><font 84 style="font-size: 10pt;" size="2">user_init</font></tt>: 66 domain. This may be obtained by the following lines of code in <tt><font style="font-size: 10pt;" size="2">user_init</font></tt>: 85 67 </p> 86 68 <ul> 87 <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" 88 size="2"><font face="Cumberland, monospace">USE 89 grid_variables</font></font></tt><font style="font-size: 10pt;" size="2"><font 90 face="Cumberland, monospace"> <br> 91 </font></font><tt><font style="font-size: 10pt;" size="2"><font 92 face="Cumberland, monospace">USE indices</font></font></tt><font 93 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 94 </font></font><tt><font style="font-size: 10pt;" size="2"><font 95 face="Cumberland, monospace">USE statistics</font></font></tt><font 96 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 97 </font></font><tt><font style="font-size: 10pt;" size="2"><font 98 face="Cumberland, monospace">.</font></font></tt><font 99 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 100 </font></font><tt><font style="font-size: 10pt;" size="2"><font 101 face="Cumberland, monospace">.</font></font></tt><font 102 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 103 </font></font><tt><font style="font-size: 10pt;" size="2"><font 104 face="Cumberland, monospace">.</font></font></tt><font 105 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 106 </font></font><tt><font style="font-size: 10pt;" size="2"><font 107 face="Cumberland, monospace">disc_center_x = dx * (nx + 1)/2</font></font></tt><font 108 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 109 </font></font><tt><font style="font-size: 10pt;" size="2"><font 110 face="Cumberland, monospace">disc_center_y = dy * (ny + 1)/2</font></font></tt><font 111 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 112 </font></font><tt><font style="font-size: 10pt;" size="2"><font 113 face="Cumberland, monospace">disc_radius = 0.5 * disc_center_x</font></font></tt><font 114 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 115 </font></font><tt><font style="font-size: 10pt;" size="2"><font 116 face="Cumberland, monospace">DO i = nxl-1, nxr+1</font></font></tt><font 117 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 118 </font></font><tt><font style="font-size: 10pt;" size="2"><font 119 face="Cumberland, monospace"> x = i * dx</font></font></tt><br> 120 <tt><font style="font-size: 10pt;" size="2"><font 121 face="Cumberland, monospace"> DO j = nys-1, nyn+1</font></font></tt><font 122 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 123 </font></font><tt><font style="font-size: 10pt;" size="2"><font 124 face="Cumberland, monospace"> y = j * dy</font></font></tt><font 125 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 126 </font></font><tt><font style="font-size: 10pt;" size="2"><font 127 face="Cumberland, monospace"> 128 radial_distance = SQRT( ( x - disc_center_x )**2 + &</font></font></tt><font 129 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 130 </font></font><tt><font style="font-size: 10pt;" size="2"><font 131 face="Cumberland, monospace"> 132 ( y - disc_center_y )**2 )</font></font></tt><font 133 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 134 </font></font><tt><font style="font-size: 10pt;" size="2"><font 135 face="Cumberland, monospace"> IF ( radial_distance 136 > disc_radius ) THEN</font></font></tt><font 137 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 138 </font></font><tt><font style="font-size: 10pt;" size="2"><font 139 face="Cumberland, monospace"> 140 rmask(j,i,1) = 0.0</font></font></tt><font style="font-size: 10pt;" 141 size="2"><font face="Cumberland, monospace"><br> 142 </font></font><tt><font style="font-size: 10pt;" size="2"><font 143 face="Cumberland, monospace"> 144 rmask(j,i,2) = 1.0</font></font></tt><font style="font-size: 10pt;" 145 size="2"><font face="Cumberland, monospace"><br> 146 </font></font><tt><font style="font-size: 10pt;" size="2"><font 147 face="Cumberland, monospace"> ELSE</font></font></tt><font 148 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 149 </font></font><tt><font style="font-size: 10pt;" size="2"><font 150 face="Cumberland, monospace"> 151 rmask(j,i,1) = 1.0</font></font></tt><font style="font-size: 10pt;" 152 size="2"><font face="Cumberland, monospace"><br> 153 </font></font><tt><font style="font-size: 10pt;" size="2"><font 154 face="Cumberland, monospace"> 155 rmask(j,i,2) = 0.0</font></font></tt><font style="font-size: 10pt;" 156 size="2"><font face="Cumberland, monospace"><br> 157 </font></font><tt><font style="font-size: 10pt;" size="2"><font 158 face="Cumberland, monospace"> ENDIF</font></font></tt><font 159 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 160 </font></font><tt><font style="font-size: 10pt;" size="2"><font 161 face="Cumberland, monospace"> ENDDO</font></font></tt><font 162 style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 163 </font></font><tt><font style="font-size: 10pt;" size="2"><font 164 face="Cumberland, monospace">ENDDO</font></font></tt></p> 69 <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">USE 70 grid_variables</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 71 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">USE indices</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 72 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">USE statistics</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 73 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">.</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 74 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">.</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 75 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">.</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 76 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">disc_center_x = dx * (nx + 1)/2</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 77 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">disc_center_y = dy * (ny + 1)/2</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 78 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">disc_radius = 0.5 * disc_center_x</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 79 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">DO i = nxl-1, nxr+1</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 80 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> x = i * dx</font></font></tt><br> 81 <tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> DO j = nys-1, nyn+1</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 82 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> y = j * dy</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 83 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 84 radial_distance = SQRT( ( x - disc_center_x )**2 + &</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 85 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 86 ( y - disc_center_y )**2 )</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 87 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> IF ( radial_distance 88 > disc_radius ) THEN</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 89 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 90 rmask(j,i,1) = 0.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 91 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 92 rmask(j,i,2) = 1.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 93 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> ELSE</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 94 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 95 rmask(j,i,1) = 1.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 96 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 97 rmask(j,i,2) = 0.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 98 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> ENDIF</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> 99 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> ENDDO</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> 100 </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">ENDDO</font></font></tt></p> 165 101 </ul> 166 <p style="line-height: 100%;">The module <span 167 style="font-family: monospace;">statistics</span> must be used, 102 <p style="line-height: 100%;">The module <span style="font-family: monospace;">statistics</span> must be used, 168 103 because it contains <span style="font-family: monospace;">rmask</span> 169 104 and the modules <span style="font-family: monospace;">grid_variables</span> … … 177 112 if 178 113 the user sets <a href="chapter_4.1.html#statistic_regions">statistic_regions</a> 179 & #8805; <i>1</i>. Beyond that, names for the user-defined subdomains can be114 ≥ <i>1</i>. Beyond that, names for the user-defined subdomains can be 180 115 assigned 181 116 via the initialization parameter <a href="chapter_4.3.html#region">region</a>. … … 183 118 the local files <a href="chapter_3.4.html#HEADER">HEADER</a> 184 119 and <a href="chapter_3.4.html#RUN_CONTROL">RUN_CONTROL</a> 185 within the user-defined subroutine <tt><font style="font-size: 10pt;" 186 size="2">user_header</font></tt>. 120 within the user-defined subroutine <tt><font style="font-size: 10pt;" size="2">user_header</font></tt>. 187 121 <br> 188 122 </p> 189 123 <hr> 190 124 <p style="line-height: 100%;"><br> 191 <font color="#000080"><font color="#000080"><a href="chapter_3.5.2.html"><font 192 color="#000080"><img src="left.gif" name="Grafik1" align="bottom" 193 border="2" height="32" width="32"></font></a><a href="index.html"><font 194 color="#000080"><img src="up.gif" name="Grafik2" align="bottom" 195 border="2" height="32" width="32"></font></a><a 196 href="chapter_3.5.4.html"><font color="#000080"><img src="right.gif" 197 name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p> 198 <p style="line-height: 100%;"><i>Last change: </i> 15/04/05 (SR)</p> 199 </body> 200 </html> 125 <font color="#000080"><font color="#000080"><a href="chapter_3.5.2.html"><font color="#000080"><img src="left.gif" name="Grafik1" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img src="up.gif" name="Grafik2" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_3.5.4.html"><font color="#000080"><img src="right.gif" name="Grafik3" align="bottom" border="2" height="32" width="32"></font></a></font></font></p> 126 <p style="line-height: 100%;"><i>Last change: </i> 07/03/07 (SR)</p> 127 </body></html>
Note: See TracChangeset
for help on using the changeset viewer.