Changeset 62 for palm/trunk/DOC/app/chapter_3.5.3.html
- Timestamp:
- Mar 13, 2007 2:52:40 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/DOC/app/chapter_3.5.3.html
r54 r62 1 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 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)"> 6 <meta name="AUTHOR" content="Siegfried Raasch"> 7 <meta name="CREATED" content="20040802;14001660"> 8 <meta name="CHANGED" content="20041112;14483720"> 9 <meta name="KEYWORDS" content="parallel LES model"> 10 <style> 11 <!-- 12 @page { size: 21cm 29.7cm } 13 --> 14 </style></head> 15 16 <body dir="ltr" lang="en-US"> 17 <h3 style="line-height: 100%;">3.5.3 Definition of user-defined 3 <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM 4 chapter 3.5.3</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20040802;14001660"> <meta name="CHANGED" content="20041112;14483720"> <meta name="KEYWORDS" content="parallel LES model"> <style> 5 <!-- 6 @page { size: 21cm 29.7cm } 7 --> 8 </style></head> 9 <body style="direction: ltr;" lang="en-US"><h3 style="line-height: 100%;">3.5.3 Definition of user-defined 18 10 subdomains</h3> 19 <p style="line-height: 100%;">By default, the values of the timeseries quantities and the horizontally averaged vertical profiles (saved in local files 11 <p style="line-height: 100%;">By default, the values of 12 the timeseries quantities and the horizontally averaged vertical 13 profiles (saved in local files 20 14 <a href="chapter_3.4.html#PLOT1D_DATA">PLOT1D_DATA</a> 21 15 and <a href="chapter_3.4.html#LIST_PROFIL">LIST_PROFIL</a>) … … 25 19 via the initialization parameter <a href="chapter_4.1.html#statistic_regions">statistic_regions</a>. 26 20 </p> 27 <p style="line-height: 100%;">The exact definition of these subdomains 21 <p style="line-height: 100%;">The exact definition of 22 these subdomains 28 23 has to be made by the user within the user-defined subroutine 29 <tt><font style="font-size: 10pt;" size="2">init_user</font></tt>. The 24 <tt><font style="font-size: 10pt;" size="2">init_user</font></tt>. 25 The 30 26 subdomains are defined with a mask array named <tt><font style="font-size: 10pt;" size="2">rmask</font></tt>, 31 27 which has to be given the value 1.0 for all horizontal grid points … … 36 32 is 37 33 declared as: </p> 38 <ul> 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>40 </ul> 41 <p style="line-height: 100%;">The first twoindices are the grid point34 <ul> <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2">REAL :: rmask 35 (nys-1:nyn+1,nxl-1,nxr+1,0:9) .</font></tt></p> 36 </ul><p style="line-height: 100%;">The first two 37 indices are the grid point 42 38 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 39 </font><tt><font style="font-size: 10pt;" size="2">nxr</font></tt><font style="font-size: 10pt;" size="2">, … … 56 52 carries the index 0, the user-defined subdomains have the values 1 to 57 53 9. </p> 58 <p style="line-height: 100%;">The following example should illustrate 54 <p style="line-height: 100%;">The following example should 55 illustrate 59 56 this. Two subdomains are defined by the user. The first is determined 60 57 by all grid … … 66 63 domain. This may be obtained by the following lines of code in <tt><font style="font-size: 10pt;" size="2">user_init</font></tt>: 67 64 </p> 68 <ul> 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> 101 </ul> 102 <p style="line-height: 100%;">The module <span style="font-family: monospace;">statistics</span> must be used, 65 <ul> <p style="line-height: 100%;"><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">USE 66 grid_variables</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </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> </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> </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> </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> </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> </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> </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> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">disc_radius = 0.5 * 67 disc_center_x</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </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> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> x = i * dx</font></font></tt><br> 68 <tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 69 DO j = nys-1, nyn+1</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 70 y = j * dy</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 71 radial_distance = SQRT( ( x - disc_center_x )**2 + &</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 72 ( y - disc_center_y )**2 )</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 73 IF ( radial_distance 74 > disc_radius ) THEN</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 75 rmask(j,i,1) = 0.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 76 rmask(j,i,2) = 1.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 77 ELSE</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 78 rmask(j,i,1) = 1.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 79 rmask(j,i,2) = 0.0</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"><br> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> 80 ENDIF</font></font></tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace"> <br> </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> </font></font><tt><font style="font-size: 10pt;" size="2"><font face="Cumberland, monospace">ENDDO</font></font></tt></p> 81 </ul><p style="line-height: 100%;">The module <span style="font-family: monospace;">statistics</span> must 82 be used, 103 83 because it contains <span style="font-family: monospace;">rmask</span> 104 84 and the modules <span style="font-family: monospace;">grid_variables</span> 105 and <span style="font-family: monospace;">indices</span> are 85 and <span style="font-family: monospace;">indices</span> 86 are 106 87 necessary in this example, because grid spacing and indices are used. 107 88 All array elements of <span style="font-family: monospace;">rmask</span> 108 (<span style="font-family: monospace;">rmask(:,:,:)</span>) are preset 89 (<span style="font-family: monospace;">rmask(:,:,:)</span>) 90 are preset 109 91 by the model with 1.0. In no case this assignment must be 110 92 changed for the total domain (<span style="font-family: monospace;">rmask(:,:,0)</span>)! … … 112 94 if 113 95 the user sets <a href="chapter_4.1.html#statistic_regions">statistic_regions</a> 114 ≥ <i>1</i>. Beyond that, names for the user-defined subdomains can be 96 ≥ <i>1</i>. Beyond that, names for the user-defined 97 subdomains can be 115 98 assigned 116 99 via the initialization parameter <a href="chapter_4.3.html#region">region</a>. … … 121 104 <br> 122 105 </p> 123 <hr> 124 <p style="line-height: 100%;"><br> 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> 106 <hr><p style="line-height: 100%;"><br> 107 <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><p style="line-height: 100%;"><i>Last change: </i> 108 $Id$</p> 127 109 </body></html>
Note: See TracChangeset
for help on using the changeset viewer.