[ee06999] | 1 | <!DOCTYPE html> |
---|
| 2 | <html lang="en"> |
---|
| 3 | <head> |
---|
| 4 | <meta charset="utf-8"> |
---|
| 5 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
---|
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
---|
| 7 | |
---|
| 8 | <meta name="description" content="Calculation of vertical velocity for FLEXPART"> |
---|
| 9 | |
---|
| 10 | <meta name="author" content="Leopold Haimberger" > |
---|
| 11 | <link rel="icon" href="../favicon.png"> |
---|
| 12 | |
---|
| 13 | <title>preconvert.f90 – Flex_extract: Calculation of etadot</title> |
---|
| 14 | |
---|
| 15 | <link href="../css/bootstrap.min.css" rel="stylesheet"> |
---|
| 16 | <link href="../css/pygments.css" rel="stylesheet"> |
---|
| 17 | <link href="../css/font-awesome.min.css" rel="stylesheet"> |
---|
| 18 | <link href="../css/local.css" rel="stylesheet"> |
---|
| 19 | |
---|
| 20 | |
---|
| 21 | <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> |
---|
| 22 | <!--[if lt IE 9]> |
---|
| 23 | <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> |
---|
| 24 | <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
---|
| 25 | <![endif]--> |
---|
| 26 | |
---|
| 27 | <script src="../js/jquery-2.1.3.min.js"></script> |
---|
| 28 | <script src="../js/svg-pan-zoom.min.js"></script> |
---|
| 29 | |
---|
| 30 | |
---|
| 31 | <script src="../tipuesearch/tipuesearch_content.js"></script> |
---|
| 32 | <link href="../tipuesearch/tipuesearch.css" rel="stylesheet"> |
---|
| 33 | <script src="../tipuesearch/tipuesearch_set.js"></script> |
---|
| 34 | <script src="../tipuesearch/tipuesearch.js"></script> |
---|
| 35 | |
---|
| 36 | |
---|
| 37 | </head> |
---|
| 38 | |
---|
| 39 | <body> |
---|
| 40 | |
---|
| 41 | <!-- Fixed navbar --> |
---|
| 42 | <nav class="navbar navbar-inverse navbar-fixed-top"> |
---|
| 43 | <div class="container"> |
---|
| 44 | <div class="navbar-header"> |
---|
| 45 | <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> |
---|
| 46 | <span class="sr-only">Toggle navigation</span> |
---|
| 47 | <span class="icon-bar"></span> |
---|
| 48 | <span class="icon-bar"></span> |
---|
| 49 | <span class="icon-bar"></span> |
---|
| 50 | </button> |
---|
| 51 | <a class="navbar-brand" href="../index.html">Flex_extract: Calculation of etadot <small>7.1</small></a> |
---|
| 52 | </div> |
---|
| 53 | <div id="navbar" class="navbar-collapse collapse"> |
---|
| 54 | <ul class="nav navbar-nav"> |
---|
| 55 | |
---|
| 56 | <li class="dropdown hidden-xs visible-sm visible-md hidden-lg"> |
---|
| 57 | <a href="#" class="dropdown-toggle" |
---|
| 58 | data-toggle="dropdown" role="button" |
---|
| 59 | aria-haspopup="true" |
---|
| 60 | aria-expanded="false">Contents <span class="caret"></span></a> |
---|
| 61 | <ul class="dropdown-menu"> |
---|
| 62 | |
---|
| 63 | <li><a href="../lists/files.html">Source Files</a></li> |
---|
| 64 | |
---|
| 65 | |
---|
| 66 | <li><a href="../lists/modules.html">Modules</a></li> |
---|
| 67 | |
---|
| 68 | |
---|
| 69 | |
---|
| 70 | <li><a href="../lists/procedures.html">Procedures</a></li> |
---|
| 71 | |
---|
| 72 | |
---|
| 73 | |
---|
| 74 | <li><a href="../program/preconvert.html">Program</a></li> |
---|
| 75 | |
---|
| 76 | </ul> |
---|
| 77 | </li> |
---|
| 78 | |
---|
| 79 | <li class="visible-xs hidden-sm visible-lg"><a href="../lists/files.html">Source Files</a></li> |
---|
| 80 | |
---|
| 81 | |
---|
| 82 | <li class="visible-xs hidden-sm visible-lg"><a href="../lists/modules.html">Modules</a></li> |
---|
| 83 | |
---|
| 84 | |
---|
| 85 | |
---|
| 86 | <li class="visible-xs hidden-sm visible-lg"><a href="../lists/procedures.html">Procedures</a></li> |
---|
| 87 | |
---|
| 88 | |
---|
| 89 | |
---|
| 90 | <li class="visible-xs hidden-sm visible-lg"><a href="../program/preconvert.html">Program</a></li> |
---|
| 91 | |
---|
| 92 | </ul> |
---|
| 93 | |
---|
| 94 | <form action="../search.html" class="navbar-form navbar-right" role="search"> |
---|
| 95 | <div class="form-group"> |
---|
| 96 | <input type="text" class="form-control" placeholder="Search" name="q" id="tipue_search_input" autocomplete="off" required> |
---|
| 97 | </div> |
---|
| 98 | <!-- |
---|
| 99 | <button type="submit" class="btn btn-default">Submit</button> |
---|
| 100 | --> |
---|
| 101 | </form> |
---|
| 102 | |
---|
| 103 | </div><!--/.nav-collapse --> |
---|
| 104 | </div> |
---|
| 105 | </nav> |
---|
| 106 | |
---|
| 107 | <div class="container"> |
---|
| 108 | |
---|
| 109 | |
---|
| 110 | <div class="row"> |
---|
| 111 | <h1>preconvert.f90 |
---|
| 112 | <small>Source File</small> |
---|
| 113 | |
---|
| 114 | </h1> |
---|
| 115 | |
---|
| 116 | <div class="row"> |
---|
| 117 | <div class="col-lg-12"> |
---|
| 118 | <div class="well well-sm"> |
---|
| 119 | <ul class="list-inline" style="margin-bottom:0px;display:inline"> |
---|
| 120 | |
---|
| 121 | |
---|
| 122 | |
---|
| 123 | |
---|
| 124 | |
---|
| 125 | |
---|
| 126 | <li><i class="fa fa-list-ol"></i> |
---|
| 127 | <a data-toggle="tooltip" |
---|
| 128 | data-placement="bottom" data-html="true" |
---|
| 129 | title="45.0% of total for source files.">598 statements</a> |
---|
| 130 | </li> |
---|
| 131 | |
---|
| 132 | |
---|
| 133 | <li><i class="fa fa-code"></i><a href="../src/preconvert.f90"> Source File</a></li> |
---|
| 134 | |
---|
| 135 | </ul> |
---|
| 136 | <ol class="breadcrumb in-well text-right"> |
---|
| 137 | |
---|
| 138 | <li class="active">preconvert.f90</li> |
---|
| 139 | </ol> |
---|
| 140 | </div> |
---|
| 141 | </div> |
---|
| 142 | </div> |
---|
| 143 | <script> |
---|
| 144 | $(function () { |
---|
| 145 | $('[data-toggle="tooltip"]').tooltip() |
---|
| 146 | }) |
---|
| 147 | </script> |
---|
| 148 | |
---|
| 149 | </div> |
---|
| 150 | <div class="row"> |
---|
| 151 | <div class="col-md-3 hidden-xs hidden-sm visible-md visible-lg"> |
---|
| 152 | |
---|
| 153 | <div id="sidebar"> |
---|
| 154 | |
---|
| 155 | |
---|
| 156 | |
---|
| 157 | |
---|
| 158 | |
---|
| 159 | |
---|
| 160 | <div class="panel panel-primary"> |
---|
| 161 | <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#progs-0">Programs</a></h3></div> |
---|
| 162 | <div id="progs-0" class="panel-collapse collapse"> |
---|
| 163 | <div class="list-group"> |
---|
| 164 | |
---|
| 165 | <a class="list-group-item" href="../program/preconvert.html">PRECONVERT</a> |
---|
| 166 | |
---|
| 167 | </div> |
---|
| 168 | </div> |
---|
| 169 | </div> |
---|
| 170 | |
---|
| 171 | |
---|
| 172 | |
---|
| 173 | |
---|
| 174 | |
---|
| 175 | |
---|
| 176 | |
---|
| 177 | |
---|
| 178 | <div class="panel panel-primary"> |
---|
| 179 | <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#funcs-0">Functions</a></h3></div> |
---|
| 180 | <div id="funcs-0" class="panel-collapse collapse"> |
---|
| 181 | <div class="list-group"> |
---|
| 182 | |
---|
| 183 | <a class="list-group-item" href="../proc/ia.html">IA</a> |
---|
| 184 | |
---|
| 185 | </div> |
---|
| 186 | </div> |
---|
| 187 | </div> |
---|
| 188 | |
---|
| 189 | |
---|
| 190 | <div class="panel panel-primary"> |
---|
| 191 | <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#subs-0">Subroutines</a></h3></div> |
---|
| 192 | <div class="list-group"> |
---|
| 193 | <div id="subs-0" class="panel-collapse collapse"> |
---|
| 194 | |
---|
| 195 | <a class="list-group-item" href="../proc/statis.html">STATIS</a> |
---|
| 196 | |
---|
| 197 | </div> |
---|
| 198 | </div> |
---|
| 199 | </div> |
---|
| 200 | |
---|
| 201 | |
---|
| 202 | |
---|
| 203 | |
---|
| 204 | |
---|
| 205 | |
---|
| 206 | |
---|
| 207 | |
---|
| 208 | <div class="panel panel-primary"> |
---|
| 209 | <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div> |
---|
| 210 | <div class="list-group"> |
---|
| 211 | <a class="list-group-item" href="../sourcefile/preconvert.f90.html#src">preconvert.f90</a> |
---|
| 212 | </div> |
---|
| 213 | </div> |
---|
| 214 | |
---|
| 215 | |
---|
| 216 | <hr> |
---|
| 217 | |
---|
| 218 | |
---|
| 219 | <div class="panel panel-default"> |
---|
| 220 | <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-0">All Source Files</a></h3></div> |
---|
| 221 | <div id="allfiles-0" class="panel-collapse collapse"> |
---|
| 222 | <div class="list-group"> |
---|
| 223 | |
---|
| 224 | <a class="list-group-item" href="../sourcefile/grphreal.f.html">grphreal.f</a> |
---|
| 225 | |
---|
| 226 | <a class="list-group-item" href="../sourcefile/phgrreal.f.html">phgrreal.f</a> |
---|
| 227 | |
---|
| 228 | <a class="list-group-item" href="../sourcefile/preconvert.f90.html">preconvert.f90</a> |
---|
| 229 | |
---|
| 230 | <a class="list-group-item" href="../sourcefile/rwgrib2.f90.html">rwGRIB2.f90</a> |
---|
| 231 | |
---|
| 232 | </div> |
---|
| 233 | </div> |
---|
| 234 | </div> |
---|
| 235 | |
---|
| 236 | |
---|
| 237 | </div> |
---|
| 238 | |
---|
| 239 | </div> |
---|
| 240 | <div class="col-md-9" id='text'> |
---|
| 241 | |
---|
| 242 | |
---|
| 243 | <h3>This File Depends On</h3> |
---|
| 244 | |
---|
| 245 | <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?> |
---|
| 246 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" |
---|
| 247 | "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
---|
| 248 | <!-- Generated by graphviz version 2.38.0 (20140413.2041) |
---|
| 249 | --> |
---|
| 250 | <!-- Title: sourcefile~~preconvert.f90~~EfferentGraph Pages: 1 --> |
---|
| 251 | <svg id="sourcefilepreconvertf90EfferentGraph" width="293pt" height="94pt" |
---|
| 252 | viewBox="0.00 0.00 293.00 94.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
---|
| 253 | <g id="sourcefile~~preconvert.f90~~EfferentGraph" class="graph" transform="scale(1 1) rotate(0) translate(4 90)"> |
---|
| 254 | <title>sourcefile~~preconvert.f90~~EfferentGraph</title> |
---|
| 255 | <polygon fill="white" stroke="none" points="-4,4 -4,-90 289,-90 289,4 -4,4"/> |
---|
| 256 | <!-- sourcefile~preconvert.f90 --> |
---|
| 257 | <g id="sourcefile~~preconvert.f90~~EfferentGraph_node1" class="node"><title>sourcefile~preconvert.f90</title> |
---|
| 258 | <polygon fill="none" stroke="black" points="285,-66 203,-66 203,-42 285,-42 285,-66"/> |
---|
| 259 | <text text-anchor="middle" x="244" y="-51.6" font-family="Helvetica,sans-Serif" font-size="10.50">preconvert.f90</text> |
---|
| 260 | </g> |
---|
| 261 | <!-- sourcefile~grphreal.f --> |
---|
| 262 | <g id="sourcefile~~preconvert.f90~~EfferentGraph_node2" class="node"><title>sourcefile~grphreal.f</title> |
---|
| 263 | <g id="a_sourcefile~~preconvert.f90~~EfferentGraph_node2"><a xlink:href="../sourcefile/grphreal.f.html" xlink:title="grphreal.f"> |
---|
| 264 | <polygon fill="#f0ad4e" stroke="#f0ad4e" points="159.5,-66 101.5,-66 101.5,-42 159.5,-42 159.5,-66"/> |
---|
| 265 | <text text-anchor="middle" x="130.5" y="-51.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">grphreal.f</text> |
---|
| 266 | </a> |
---|
| 267 | </g> |
---|
| 268 | </g> |
---|
| 269 | <!-- sourcefile~grphreal.f->sourcefile~preconvert.f90 --> |
---|
| 270 | <g id="sourcefile~~preconvert.f90~~EfferentGraph_edge2" class="edge"><title>sourcefile~grphreal.f->sourcefile~preconvert.f90</title> |
---|
| 271 | <path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M159.636,-54C169.614,-54 181.17,-54 192.44,-54"/> |
---|
| 272 | <polygon fill="#000000" stroke="#000000" points="192.657,-57.5001 202.657,-54 192.657,-50.5001 192.657,-57.5001"/> |
---|
| 273 | </g> |
---|
| 274 | <!-- sourcefile~phgrreal.f --> |
---|
| 275 | <g id="sourcefile~~preconvert.f90~~EfferentGraph_node3" class="node"><title>sourcefile~phgrreal.f</title> |
---|
| 276 | <g id="a_sourcefile~~preconvert.f90~~EfferentGraph_node3"><a xlink:href="../sourcefile/phgrreal.f.html" xlink:title="phgrreal.f"> |
---|
| 277 | <polygon fill="#f0ad4e" stroke="#f0ad4e" points="58,-86 3.55271e-15,-86 3.55271e-15,-62 58,-62 58,-86"/> |
---|
| 278 | <text text-anchor="middle" x="29" y="-71.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">phgrreal.f</text> |
---|
| 279 | </a> |
---|
| 280 | </g> |
---|
| 281 | </g> |
---|
| 282 | <!-- sourcefile~phgrreal.f->sourcefile~preconvert.f90 --> |
---|
| 283 | <g id="sourcefile~~preconvert.f90~~EfferentGraph_edge3" class="edge"><title>sourcefile~phgrreal.f->sourcefile~preconvert.f90</title> |
---|
| 284 | <path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M58.0369,-74.5329C69.224,-74.7207 82.2211,-74.908 94,-75 126.443,-75.2534 134.85,-79.3601 167,-75 176.97,-73.6479 187.48,-71.3411 197.398,-68.7393"/> |
---|
| 285 | <polygon fill="#000000" stroke="#000000" points="198.371,-72.1018 207.076,-66.0636 196.505,-65.3548 198.371,-72.1018"/> |
---|
| 286 | </g> |
---|
| 287 | <!-- sourcefile~phgrreal.f->sourcefile~grphreal.f --> |
---|
| 288 | <g id="sourcefile~~preconvert.f90~~EfferentGraph_edge1" class="edge"><title>sourcefile~phgrreal.f->sourcefile~grphreal.f</title> |
---|
| 289 | <path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M58.2466,-68.3223C68.5398,-66.2533 80.3539,-63.8786 91.3641,-61.6655"/> |
---|
| 290 | <polygon fill="#000000" stroke="#000000" points="92.0687,-65.094 101.183,-59.6919 90.6892,-58.2312 92.0687,-65.094"/> |
---|
| 291 | </g> |
---|
| 292 | <!-- sourcefile~rwgrib2.f90 --> |
---|
| 293 | <g id="sourcefile~~preconvert.f90~~EfferentGraph_node4" class="node"><title>sourcefile~rwgrib2.f90</title> |
---|
| 294 | <g id="a_sourcefile~~preconvert.f90~~EfferentGraph_node4"><a xlink:href="../sourcefile/rwgrib2.f90.html" xlink:title="rwGRIB2.f90"> |
---|
| 295 | <polygon fill="#f0ad4e" stroke="#f0ad4e" points="167,-24 94,-24 94,-0 167,-0 167,-24"/> |
---|
| 296 | <text text-anchor="middle" x="130.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">rwGRIB2.f90</text> |
---|
| 297 | </a> |
---|
| 298 | </g> |
---|
| 299 | </g> |
---|
| 300 | <!-- sourcefile~rwgrib2.f90->sourcefile~preconvert.f90 --> |
---|
| 301 | <g id="sourcefile~~preconvert.f90~~EfferentGraph_edge4" class="edge"><title>sourcefile~rwgrib2.f90->sourcefile~preconvert.f90</title> |
---|
| 302 | <path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M163.451,-24.0355C175.348,-28.5169 189.025,-33.6688 201.646,-38.4227"/> |
---|
| 303 | <polygon fill="#000000" stroke="#000000" points="200.452,-41.713 211.044,-41.9627 202.92,-35.1623 200.452,-41.713"/> |
---|
| 304 | </g> |
---|
| 305 | </g> |
---|
| 306 | </svg> |
---|
| 307 | </div> |
---|
| 308 | <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div> |
---|
| 309 | <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog"> |
---|
| 310 | <div class="modal-dialog modal-lg" role="document"> |
---|
| 311 | <div class="modal-content"> |
---|
| 312 | <div class="modal-header"> |
---|
| 313 | <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> |
---|
| 314 | <h4 class="modal-title" id="-graph-help-label">Graph Key</h4> |
---|
| 315 | </div> |
---|
| 316 | <div class="modal-body"> |
---|
| 317 | |
---|
| 318 | <p>Nodes of different colours represent the following: </p> |
---|
| 319 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
---|
| 320 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" |
---|
| 321 | "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
---|
| 322 | <!-- Generated by graphviz version 2.38.0 (20140413.2041) |
---|
| 323 | --> |
---|
| 324 | <!-- Title: Graph Key Pages: 1 --> |
---|
| 325 | <svg width="190pt" height="32pt" |
---|
| 326 | viewBox="0.00 0.00 190.00 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
---|
| 327 | <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)"> |
---|
| 328 | <title>Graph Key</title> |
---|
| 329 | <polygon fill="white" stroke="none" points="-4,4 -4,-28 186,-28 186,4 -4,4"/> |
---|
| 330 | <!-- Source File --> |
---|
| 331 | <g id="node1" class="node"><title>Source File</title> |
---|
| 332 | <polygon fill="#f0ad4e" stroke="#f0ad4e" points="67,-24 0,-24 0,-0 67,-0 67,-24"/> |
---|
| 333 | <text text-anchor="middle" x="33.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Source File</text> |
---|
| 334 | </g> |
---|
| 335 | <!-- This Page's Entity --> |
---|
| 336 | <g id="node2" class="node"><title>This Page's Entity</title> |
---|
| 337 | <polygon fill="none" stroke="black" points="182,-24 85,-24 85,-0 182,-0 182,-24"/> |
---|
| 338 | <text text-anchor="middle" x="133.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page's Entity</text> |
---|
| 339 | </g> |
---|
| 340 | </g> |
---|
| 341 | </svg> |
---|
| 342 | |
---|
| 343 | |
---|
| 344 | <p>Solid arrows point from a file to a file which depends upon it. A file |
---|
| 345 | is dependent upon another if the latter must be compiled before the former |
---|
| 346 | can be. |
---|
| 347 | </p> |
---|
| 348 | |
---|
| 349 | </div> |
---|
| 350 | </div> |
---|
| 351 | </div> |
---|
| 352 | </div> |
---|
| 353 | |
---|
| 354 | |
---|
| 355 | |
---|
| 356 | <br> |
---|
| 357 | |
---|
| 358 | <section class="visible-xs visible-sm hidden-md"> |
---|
| 359 | |
---|
| 360 | |
---|
| 361 | |
---|
| 362 | |
---|
| 363 | |
---|
| 364 | |
---|
| 365 | <div class="panel panel-primary"> |
---|
| 366 | <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#progs-1">Programs</a></h3></div> |
---|
| 367 | <div id="progs-1" class="panel-collapse collapse"> |
---|
| 368 | <div class="list-group"> |
---|
| 369 | |
---|
| 370 | <a class="list-group-item" href="../program/preconvert.html">PRECONVERT</a> |
---|
| 371 | |
---|
| 372 | </div> |
---|
| 373 | </div> |
---|
| 374 | </div> |
---|
| 375 | |
---|
| 376 | |
---|
| 377 | |
---|
| 378 | |
---|
| 379 | |
---|
| 380 | |
---|
| 381 | |
---|
| 382 | |
---|
| 383 | <div class="panel panel-primary"> |
---|
| 384 | <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#funcs-1">Functions</a></h3></div> |
---|
| 385 | <div id="funcs-1" class="panel-collapse collapse"> |
---|
| 386 | <div class="list-group"> |
---|
| 387 | |
---|
| 388 | <a class="list-group-item" href="../proc/ia.html">IA</a> |
---|
| 389 | |
---|
| 390 | </div> |
---|
| 391 | </div> |
---|
| 392 | </div> |
---|
| 393 | |
---|
| 394 | |
---|
| 395 | <div class="panel panel-primary"> |
---|
| 396 | <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#subs-1">Subroutines</a></h3></div> |
---|
| 397 | <div class="list-group"> |
---|
| 398 | <div id="subs-1" class="panel-collapse collapse"> |
---|
| 399 | |
---|
| 400 | <a class="list-group-item" href="../proc/statis.html">STATIS</a> |
---|
| 401 | |
---|
| 402 | </div> |
---|
| 403 | </div> |
---|
| 404 | </div> |
---|
| 405 | |
---|
| 406 | |
---|
| 407 | |
---|
| 408 | |
---|
| 409 | |
---|
| 410 | |
---|
| 411 | |
---|
| 412 | |
---|
| 413 | <div class="panel panel-primary"> |
---|
| 414 | <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div> |
---|
| 415 | <div class="list-group"> |
---|
| 416 | <a class="list-group-item" href="../sourcefile/preconvert.f90.html#src">preconvert.f90</a> |
---|
| 417 | </div> |
---|
| 418 | </div> |
---|
| 419 | |
---|
| 420 | |
---|
| 421 | </section> |
---|
| 422 | <br class="visible-xs visible-sm hidden-md"> |
---|
| 423 | |
---|
| 424 | <section> |
---|
| 425 | <h2><span class="anchor" id="src"></span>Source Code</h2> |
---|
| 426 | <div class="hl"><pre><span></span><a name="ln-1"></a> <span class="k">PROGRAM </span><span class="n">PRECONVERT</span> |
---|
| 427 | <a name="ln-2"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 428 | <a name="ln-3"></a><span class="c">! !</span> |
---|
| 429 | <a name="ln-4"></a><span class="c">! PROGRAM PRECONVERT - PREPARES INPUT DATA FOR POP MODEL METEOR- !</span> |
---|
| 430 | <a name="ln-5"></a><span class="c">! OLOGICAL PREPROCESSOR !</span> |
---|
| 431 | <a name="ln-6"></a><span class="c">! !</span> |
---|
| 432 | <a name="ln-7"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 433 | <a name="ln-8"></a><span class="c">! !</span> |
---|
| 434 | <a name="ln-9"></a><span class="c">! CALCULATION OF ETAPOINT ON A REGULAR LAMDA/PHI GRID AND WRITING !</span> |
---|
| 435 | <a name="ln-10"></a><span class="c">! U,V,ETAPOINT,T,PS,Q,SD,MSL,TCC,10U, 10V, 2T,2D,LSP,CP,SSHF,SSR, !</span> |
---|
| 436 | <a name="ln-11"></a><span class="c">! EWSS,NSSS TO AN OUTPUT FILE (GRIB 1 or 2 FORMAT). ! </span> |
---|
| 437 | <a name="ln-12"></a><span class="c">! !</span> |
---|
| 438 | <a name="ln-13"></a><span class="c">! AUTHORS: L. HAIMBERGER, G. WOTAWA, 1994-04 !</span> |
---|
| 439 | <a name="ln-14"></a><span class="c">! adapted: A. BECK !</span> |
---|
| 440 | <a name="ln-15"></a><span class="c">! 2003-05-11 !</span> |
---|
| 441 | <a name="ln-16"></a><span class="c">! L. Haimberger 2006-12 V2.0 !</span> |
---|
| 442 | <a name="ln-17"></a><span class="c">! modified to handle arbitrary regular grids !</span> |
---|
| 443 | <a name="ln-18"></a><span class="c">! and T799 resolution data !</span> |
---|
| 444 | <a name="ln-19"></a><span class="c">! L. Haimberger 2010-03 V4.0 !</span> |
---|
| 445 | <a name="ln-20"></a><span class="c">! modified to grib edition 2 fields !</span> |
---|
| 446 | <a name="ln-21"></a><span class="c">! and T1279 resolution data !</span> |
---|
| 447 | <a name="ln-22"></a><span class="c">! !</span> |
---|
| 448 | <a name="ln-23"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 449 | <a name="ln-24"></a><span class="c">! !</span> |
---|
| 450 | <a name="ln-25"></a><span class="c">! DESCRIPTION OF NEEDED INPUT: !</span> |
---|
| 451 | <a name="ln-26"></a><span class="c">! !</span> |
---|
| 452 | <a name="ln-27"></a><span class="c">! UNIT FILE PARAMETER(S) DATA REPRESENTATION !</span> |
---|
| 453 | <a name="ln-28"></a><span class="c">! !</span> |
---|
| 454 | <a name="ln-29"></a><span class="c">! 11 fort.11 T,U,V regular lamda phi grid !</span> |
---|
| 455 | <a name="ln-30"></a><span class="c">! 12 fort.12 D regular lamda phi grid !</span> |
---|
| 456 | <a name="ln-31"></a><span class="c">! 13 fort.13 LNSP fort.13 spherical harmonics !</span> |
---|
| 457 | <a name="ln-32"></a><span class="c">! 14 fort.14 SD,MSL,TCC,10U, !</span> |
---|
| 458 | <a name="ln-33"></a><span class="c">! 10V,2T,2D regular lamda phi grid !</span> |
---|
| 459 | <a name="ln-34"></a><span class="c">! 16 fort.16 LSP,CP,SSHF, !</span> |
---|
| 460 | <a name="ln-35"></a><span class="c">! SSR,EWSS,NSSS regular lamda phi grid !</span> |
---|
| 461 | <a name="ln-36"></a><span class="c">! 17 fort.17 Q regular lamda phi grid !</span> |
---|
| 462 | <a name="ln-37"></a><span class="c">! !</span> |
---|
| 463 | <a name="ln-38"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 464 | <a name="ln-39"></a><span class="c">! !</span> |
---|
| 465 | <a name="ln-40"></a><span class="c">! DESCRIPTION OF OUTPUT: !</span> |
---|
| 466 | <a name="ln-41"></a><span class="c">! !</span> |
---|
| 467 | <a name="ln-42"></a><span class="c">! UNIT FILE PARAMETER(S) DATA REPRESENTATION !</span> |
---|
| 468 | <a name="ln-43"></a><span class="c">! !</span> |
---|
| 469 | <a name="ln-44"></a><span class="c">! 15 fort.15 U,V,ETA,T,PS, !</span> |
---|
| 470 | <a name="ln-45"></a><span class="c">! Q,SD,MSL,TCC, !</span> |
---|
| 471 | <a name="ln-46"></a><span class="c">! 10U,10V,2T,2D, regular lamda phi grid !</span> |
---|
| 472 | <a name="ln-47"></a><span class="c">! LSP,CP,SSHF, !</span> |
---|
| 473 | <a name="ln-48"></a><span class="c">! SSR,EWSS,NSSS !</span> |
---|
| 474 | <a name="ln-49"></a><span class="c">! !</span> |
---|
| 475 | <a name="ln-50"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 476 | <a name="ln-51"></a><span class="c">!</span> |
---|
| 477 | <a name="ln-52"></a> |
---|
| 478 | <a name="ln-53"></a> <span class="k">USE </span><span class="n">PHTOGR</span> |
---|
| 479 | <a name="ln-54"></a> <span class="k">USE </span><span class="n">GRTOPH</span> |
---|
| 480 | <a name="ln-55"></a> <span class="k">USE </span><span class="n">FTRAFO</span> |
---|
| 481 | <a name="ln-56"></a> <span class="k">USE </span><span class="n">RWGRIB2</span> |
---|
| 482 | <a name="ln-57"></a> <span class="k">USE </span><span class="n">GRIB_API</span> |
---|
| 483 | <a name="ln-58"></a> |
---|
| 484 | <a name="ln-59"></a> <span class="k">IMPLICIT NONE</span> |
---|
| 485 | <a name="ln-60"></a> |
---|
| 486 | <a name="ln-61"></a><span class="k"> </span><span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:)</span> <span class="kd">::</span> <span class="n">LNPS</span> |
---|
| 487 | <a name="ln-62"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:)</span> <span class="kd">::</span> <span class="n">Z</span> |
---|
| 488 | <a name="ln-63"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:,:)</span> <span class="kd">::</span> <span class="n">T</span><span class="p">,</span> <span class="n">UV</span> <span class="p">,</span> <span class="n">UV2</span> |
---|
| 489 | <a name="ln-64"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:,:)</span> <span class="kd">::</span> <span class="n">QA</span><span class="p">,</span><span class="n">OM</span><span class="p">,</span><span class="n">OMR</span> |
---|
| 490 | <a name="ln-65"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:,:)</span> <span class="kd">::</span> <span class="n">DIV</span><span class="p">,</span> <span class="n">ETA</span><span class="p">,</span><span class="n">ETAR</span> |
---|
| 491 | <a name="ln-66"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:)</span> <span class="kd">::</span> <span class="n">DPSDL</span><span class="p">,</span> <span class="n">DPSDM</span> |
---|
| 492 | <a name="ln-67"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:,:)</span> <span class="kd">::</span> <span class="n">PS</span><span class="p">,</span><span class="n">DPSDT</span> |
---|
| 493 | <a name="ln-68"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:,:)</span> <span class="kd">::</span> <span class="n">SURF</span><span class="p">,</span><span class="n">FLUX</span><span class="p">,</span><span class="n">OROLSM</span> |
---|
| 494 | <a name="ln-69"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:)</span> <span class="kd">::</span> <span class="n">WSAVE</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">SINL</span><span class="p">,</span><span class="n">COSL</span><span class="p">,</span><span class="n">WSAVE2</span> |
---|
| 495 | <a name="ln-70"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:)</span> <span class="kd">::</span> <span class="n">BREITE</span><span class="p">,</span> <span class="n">GBREITE</span><span class="p">,</span><span class="n">AK</span><span class="p">,</span> <span class="n">BK</span><span class="p">,</span><span class="n">pv</span> |
---|
| 496 | <a name="ln-71"></a> |
---|
| 497 | <a name="ln-72"></a><span class="c">! Arrays for Gaussian grid calculations</span> |
---|
| 498 | <a name="ln-73"></a> |
---|
| 499 | <a name="ln-74"></a> <span class="kt">REAL</span> <span class="kd">::</span> <span class="n">X1</span><span class="p">,</span><span class="n">X2</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">,</span><span class="n">LAM</span> |
---|
| 500 | <a name="ln-75"></a> <span class="kt">REAL</span><span class="p">,</span><span class="k">ALLOCATABLE</span> <span class="kd">::</span> <span class="n">CUA</span><span class="p">(:,:,:),</span><span class="n">CVA</span><span class="p">(:,:,:)</span> |
---|
| 501 | <a name="ln-76"></a> |
---|
| 502 | <a name="ln-77"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:)</span> <span class="kd">::</span> <span class="n">P</span><span class="p">,</span><span class="n">PP</span> <span class="c">!,P2</span> |
---|
| 503 | <a name="ln-78"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:)</span> <span class="kd">::</span> <span class="n">XMN</span><span class="p">,</span><span class="n">HILFUV</span> |
---|
| 504 | <a name="ln-79"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:)</span> <span class="kd">::</span> <span class="n">LNPMN</span><span class="p">,</span><span class="n">LNPMN2</span><span class="p">,</span><span class="n">LNPMN3</span> |
---|
| 505 | <a name="ln-80"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:)</span> <span class="kd">::</span> <span class="n">WEIGHT</span> |
---|
| 506 | <a name="ln-81"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:)</span> <span class="kd">::</span> <span class="n">UGVG</span> |
---|
| 507 | <a name="ln-82"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:)</span> <span class="kd">::</span> <span class="n">DG</span><span class="p">,</span> <span class="n">ETAG</span> |
---|
| 508 | <a name="ln-83"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:,:)</span> <span class="kd">::</span> <span class="n">GWSAVE</span> |
---|
| 509 | <a name="ln-84"></a> <span class="kt">REAL</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:)</span> <span class="kd">::</span> <span class="n">PSG</span><span class="p">,</span><span class="n">HILF</span> |
---|
| 510 | <a name="ln-85"></a> |
---|
| 511 | <a name="ln-86"></a><span class="c">! end arrays for Gaussian grid calculations</span> |
---|
| 512 | <a name="ln-87"></a> |
---|
| 513 | <a name="ln-88"></a> <span class="kt">INTEGER</span><span class="p">,</span> <span class="k">ALLOCATABLE</span><span class="p">,</span> <span class="k">DIMENSION</span> <span class="p">(:)</span> <span class="kd">::</span> <span class="n">MLAT</span><span class="p">,</span><span class="n">MPSURF</span><span class="p">,</span><span class="n">MPFLUX</span><span class="p">,</span><span class="n">MPORO</span><span class="p">,</span><span class="n">MPAR</span> |
---|
| 514 | <a name="ln-89"></a> <span class="kt">INTEGER</span><span class="p">,</span> <span class="k">ALLOCATABLE</span> <span class="kd">::</span> <span class="n">GIFAX</span><span class="p">(:,:)</span> |
---|
| 515 | <a name="ln-90"></a> |
---|
| 516 | <a name="ln-91"></a> <span class="kt">REAL </span><span class="n">PI</span><span class="p">,</span><span class="n">COSB</span><span class="p">,</span><span class="n">DAK</span><span class="p">,</span><span class="n">DBK</span><span class="p">,</span><span class="n">P00</span> |
---|
| 517 | <a name="ln-92"></a> <span class="kt">REAL </span><span class="n">URLAR8</span><span class="p">,</span><span class="n">JMIN1</span><span class="p">,</span><span class="n">LLLAR8</span><span class="p">,</span><span class="n">MAXBMIN1</span><span class="p">,</span><span class="n">PIR8</span><span class="p">,</span><span class="n">DCOSB</span> |
---|
| 518 | <a name="ln-93"></a> |
---|
| 519 | <a name="ln-94"></a> <span class="kt">INTEGER </span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">,</span><span class="n">L</span><span class="p">,</span><span class="n">IERR</span><span class="p">,</span><span class="n">M</span><span class="p">,</span><span class="n">LTEST</span><span class="p">,</span><span class="n">MK</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span> |
---|
| 520 | <a name="ln-95"></a> <span class="kt">INTEGER </span><span class="n">MFLUX</span><span class="p">,</span><span class="n">MSURF</span><span class="p">,</span><span class="n">MORO</span> |
---|
| 521 | <a name="ln-96"></a> <span class="kt">INTEGER </span><span class="n">LUNIT</span><span class="p">,</span><span class="n">LUNIT2</span> |
---|
| 522 | <a name="ln-97"></a> |
---|
| 523 | <a name="ln-98"></a> <span class="kt">INTEGER </span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span> <span class="n">MLEVEL</span><span class="p">,</span> <span class="n">LEVOUT</span><span class="p">,</span><span class="n">LEVMIN</span><span class="p">,</span><span class="n">LEVMAX</span> |
---|
| 524 | <a name="ln-99"></a> <span class="kt">INTEGER </span><span class="n">MOMEGA</span><span class="p">,</span><span class="n">MOMEGADIFF</span><span class="p">,</span><span class="n">MGAUSS</span><span class="p">,</span><span class="n">MSMOOTH</span><span class="p">,</span> <span class="n">MNAUF</span><span class="p">,</span><span class="n">META</span><span class="p">,</span><span class="n">METADIFF</span> |
---|
| 525 | <a name="ln-100"></a> <span class="kt">INTEGER </span><span class="n">MDPDETA</span><span class="p">,</span><span class="n">METAPAR</span> |
---|
| 526 | <a name="ln-101"></a> <span class="kt">REAL </span><span class="n">RLO0</span><span class="p">,</span> <span class="n">RLO1</span><span class="p">,</span> <span class="n">RLA0</span><span class="p">,</span> <span class="n">RLA1</span> |
---|
| 527 | <a name="ln-102"></a> <span class="kt">CHARACTER</span><span class="o">*</span><span class="mi">300</span> <span class="n">MLEVELIST</span> |
---|
| 528 | <a name="ln-103"></a> |
---|
| 529 | <a name="ln-104"></a> <span class="kt">INTEGER </span><span class="n">MAUF</span><span class="p">,</span> <span class="n">MANF</span><span class="p">,</span><span class="n">IFAX</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span> |
---|
| 530 | <a name="ln-105"></a> |
---|
| 531 | <a name="ln-106"></a> <span class="kt">INTEGER </span><span class="n">IGRIB</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">iret</span><span class="p">,</span><span class="n">ogrib</span> |
---|
| 532 | <a name="ln-107"></a> |
---|
| 533 | <a name="ln-108"></a> <span class="kt">CHARACTER</span><span class="o">*</span><span class="mi">80</span> <span class="n">FILENAME</span> |
---|
| 534 | <a name="ln-109"></a> |
---|
| 535 | <a name="ln-110"></a> <span class="k">NAMELIST</span> <span class="o">/</span><span class="n">NAMGEN</span><span class="o">/</span> <span class="p">&</span> |
---|
| 536 | <a name="ln-111"></a> <span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span> <span class="p">&</span> |
---|
| 537 | <a name="ln-112"></a> <span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">METAPAR</span><span class="p">,</span> <span class="p">&</span> |
---|
| 538 | <a name="ln-113"></a> <span class="n">RLO0</span><span class="p">,</span> <span class="n">RLO1</span><span class="p">,</span> <span class="n">RLA0</span><span class="p">,</span> <span class="n">RLA1</span><span class="p">,</span> <span class="p">&</span> |
---|
| 539 | <a name="ln-114"></a> <span class="n">MOMEGA</span><span class="p">,</span><span class="n">MOMEGADIFF</span><span class="p">,</span><span class="n">MGAUSS</span><span class="p">,</span><span class="n">MSMOOTH</span><span class="p">,</span><span class="n">META</span><span class="p">,</span><span class="n">METADIFF</span><span class="p">,&</span> |
---|
| 540 | <a name="ln-115"></a> <span class="n">MDPDETA</span> |
---|
| 541 | <a name="ln-116"></a> |
---|
| 542 | <a name="ln-117"></a> <span class="n">LTEST</span><span class="o">=</span><span class="mi">1</span> |
---|
| 543 | <a name="ln-118"></a> |
---|
| 544 | <a name="ln-119"></a> <span class="k">call </span><span class="n">posnam</span> <span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="s1">'NAMGEN'</span><span class="p">)</span> |
---|
| 545 | <a name="ln-120"></a> <span class="k">read</span> <span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="n">NAMGEN</span><span class="p">)</span> |
---|
| 546 | <a name="ln-121"></a> |
---|
| 547 | <a name="ln-122"></a> <span class="n">MAUF</span><span class="o">=</span><span class="nb">INT</span><span class="p">(</span><span class="mi">36</span><span class="mf">0.</span><span class="o">*</span><span class="p">(</span><span class="kt">REAL</span><span class="p">(</span><span class="n">MAXL</span><span class="p">)</span><span class="o">-</span><span class="mf">1.</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">RLO1</span><span class="o">-</span><span class="n">RLO0</span><span class="p">)</span><span class="o">+</span><span class="mf">0.0001</span><span class="p">)</span> |
---|
| 548 | <a name="ln-123"></a><span class="c">! PRINT*, MAUF</span> |
---|
| 549 | <a name="ln-124"></a> |
---|
| 550 | <a name="ln-125"></a> <span class="n">MANF</span><span class="o">=</span><span class="nb">INT</span><span class="p">(</span><span class="kt">REAL</span><span class="p">(</span><span class="n">MAUF</span><span class="p">)</span><span class="o">/</span><span class="mi">36</span><span class="mf">0.</span><span class="o">*</span><span class="p">(</span><span class="mi">36</span><span class="mf">0.</span><span class="o">+</span><span class="n">RLO0</span><span class="p">)</span><span class="o">+</span><span class="mf">1.0001</span><span class="p">)</span> |
---|
| 551 | <a name="ln-126"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MANF</span> <span class="p">.</span><span class="n">gt</span><span class="p">.</span> <span class="n">MAUF</span><span class="p">)</span> <span class="n">MANF</span><span class="o">=</span><span class="n">MANF</span><span class="o">-</span><span class="n">MAUF</span> |
---|
| 552 | <a name="ln-127"></a> |
---|
| 553 | <a name="ln-128"></a> |
---|
| 554 | <a name="ln-129"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 555 | <a name="ln-130"></a><span class="c">! ALLOCATE VARIABLES !</span> |
---|
| 556 | <a name="ln-131"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 557 | <a name="ln-132"></a> |
---|
| 558 | <a name="ln-133"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">LNPS</span><span class="p">(</span><span class="mi">0</span><span class="p">:(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span> |
---|
| 559 | <a name="ln-134"></a> |
---|
| 560 | <a name="ln-135"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">H</span><span class="p">(</span><span class="mi">0</span><span class="p">:(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">3</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">))</span> |
---|
| 561 | <a name="ln-136"></a> |
---|
| 562 | <a name="ln-137"></a> |
---|
| 563 | <a name="ln-138"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">OM</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span> <span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 564 | <a name="ln-139"></a> |
---|
| 565 | <a name="ln-140"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">ETA</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 566 | <a name="ln-141"></a> |
---|
| 567 | <a name="ln-142"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">PS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="n">DPSDT</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span> |
---|
| 568 | <a name="ln-143"></a> |
---|
| 569 | <a name="ln-144"></a> |
---|
| 570 | <a name="ln-145"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">WSAVE</span><span class="p">(</span><span class="mi">4</span><span class="o">*</span><span class="n">MAUF</span><span class="o">+</span><span class="mi">15</span><span class="p">),</span><span class="n">WSAVE2</span><span class="p">(</span><span class="mi">4</span><span class="o">*</span><span class="n">MAUF</span><span class="o">+</span><span class="mi">15</span><span class="p">))</span> |
---|
| 571 | <a name="ln-146"></a> |
---|
| 572 | <a name="ln-147"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">BREITE</span><span class="p">(</span><span class="n">MAXB</span><span class="p">),</span><span class="n">AK</span><span class="p">(</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span><span class="n">BK</span><span class="p">(</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span><span class="n">pv</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">mlevel</span><span class="o">+</span><span class="mi">2</span><span class="p">))</span> |
---|
| 573 | <a name="ln-148"></a> |
---|
| 574 | <a name="ln-149"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">MPAR</span><span class="p">(</span><span class="mi">2</span><span class="p">))</span> |
---|
| 575 | <a name="ln-150"></a> |
---|
| 576 | <a name="ln-151"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">COSL</span><span class="p">(</span><span class="n">MAXL</span><span class="p">),</span><span class="n">SINL</span><span class="p">(</span><span class="n">MAXL</span><span class="p">))</span> |
---|
| 577 | <a name="ln-152"></a> |
---|
| 578 | <a name="ln-153"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">CUA</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">),</span><span class="n">CVA</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 579 | <a name="ln-154"></a> |
---|
| 580 | <a name="ln-155"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 581 | <a name="ln-156"></a><span class="c">! GAUSS STUFF !</span> |
---|
| 582 | <a name="ln-157"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 583 | <a name="ln-158"></a> |
---|
| 584 | <a name="ln-159"></a> |
---|
| 585 | <a name="ln-160"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MGAUSS</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 586 | <a name="ln-161"></a><span class="k"> </span><span class="n">LUNIT</span><span class="o">=</span><span class="mi">0</span> |
---|
| 587 | <a name="ln-162"></a> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.18'</span> |
---|
| 588 | <a name="ln-163"></a> |
---|
| 589 | <a name="ln-164"></a> <span class="k">call </span><span class="n">grib_open_file</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span> <span class="nb">TRIM</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">),</span><span class="s1">'r'</span><span class="p">)</span> |
---|
| 590 | <a name="ln-165"></a> |
---|
| 591 | <a name="ln-166"></a> <span class="k">call </span><span class="n">grib_new_from_file</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span> <span class="n">iret</span><span class="p">)</span> |
---|
| 592 | <a name="ln-167"></a> |
---|
| 593 | <a name="ln-168"></a><span class="c">! we can close the file</span> |
---|
| 594 | <a name="ln-169"></a> <span class="k">call </span><span class="n">grib_close_file</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">)</span> |
---|
| 595 | <a name="ln-170"></a> |
---|
| 596 | <a name="ln-171"></a><span class="c">! call grib_get(igrib(1),'gridType', j)</span> |
---|
| 597 | <a name="ln-172"></a> |
---|
| 598 | <a name="ln-173"></a> <span class="n">NGJ</span><span class="o">=</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">1</span> |
---|
| 599 | <a name="ln-174"></a> |
---|
| 600 | <a name="ln-175"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">GWSAVE</span><span class="p">(</span><span class="mi">8</span><span class="o">*</span><span class="n">NGJ</span><span class="o">+</span><span class="mi">15</span><span class="p">,</span><span class="n">NGJ</span><span class="o">/</span><span class="mi">2</span><span class="p">))</span> |
---|
| 601 | <a name="ln-176"></a> <span class="k">ALLOCATE</span><span class="p">(</span><span class="n">GIFAX</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="n">NGJ</span><span class="p">))</span> |
---|
| 602 | <a name="ln-177"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">GBREITE</span><span class="p">(</span><span class="n">NGJ</span><span class="p">),</span><span class="n">WEIGHT</span><span class="p">(</span><span class="n">NGJ</span><span class="p">))</span> |
---|
| 603 | <a name="ln-178"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">MLAT</span><span class="p">(</span><span class="n">NGJ</span><span class="p">))</span> |
---|
| 604 | <a name="ln-179"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">P</span><span class="p">(</span><span class="mi">0</span><span class="p">:((</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">3</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">4</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span><span class="n">NGJ</span><span class="o">/</span><span class="mi">2</span><span class="p">))</span> |
---|
| 605 | <a name="ln-180"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">PP</span><span class="p">(</span><span class="n">NGJ</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span><span class="mi">0</span><span class="p">:((</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">3</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">4</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span><span class="p">))</span> |
---|
| 606 | <a name="ln-181"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">Z</span><span class="p">(</span><span class="mi">0</span><span class="p">:((</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">3</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">4</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span><span class="n">MAXB</span><span class="p">))</span> |
---|
| 607 | <a name="ln-182"></a> |
---|
| 608 | <a name="ln-183"></a> <span class="k">call </span><span class="n">grib_get</span><span class="p">(</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="s1">'numberOfPointsAlongAMeridian'</span><span class="p">,</span> <span class="n">NGJ</span><span class="p">)</span> |
---|
| 609 | <a name="ln-184"></a> |
---|
| 610 | <a name="ln-185"></a> <span class="c">! get as a integer</span> |
---|
| 611 | <a name="ln-186"></a> <span class="k">call </span><span class="n">grib_get</span><span class="p">(</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="s1">'pl'</span><span class="p">,</span> <span class="n">MLAT</span><span class="p">)</span> |
---|
| 612 | <a name="ln-187"></a> |
---|
| 613 | <a name="ln-188"></a> <span class="n">NGI</span><span class="o">=</span><span class="nb">SUM</span><span class="p">(</span><span class="n">MLAT</span><span class="p">)</span> |
---|
| 614 | <a name="ln-189"></a> |
---|
| 615 | <a name="ln-190"></a> <span class="k">call </span><span class="n">grib_get</span><span class="p">(</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="s1">'numberOfVerticalCoordinateValues'</span><span class="p">,</span><span class="n">mk</span><span class="p">)</span> |
---|
| 616 | <a name="ln-191"></a> |
---|
| 617 | <a name="ln-192"></a> <span class="k">IF</span><span class="p">(</span><span class="n">mk</span><span class="o">/</span><span class="mi">2</span><span class="o">-</span><span class="mi">1</span> <span class="p">.</span><span class="n">ne</span><span class="p">.</span> <span class="n">MLEVEL</span><span class="p">)</span> <span class="k">THEN </span> |
---|
| 618 | <a name="ln-193"></a><span class="k"> WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">'FATAL: Number of model levels'</span><span class="p">,</span><span class="n">mk</span><span class="p">,</span> <span class="p">&</span> |
---|
| 619 | <a name="ln-194"></a> <span class="s1">' does not agree with'</span><span class="p">,</span> <span class="n">MLEVEL</span><span class="p">,</span><span class="s1">' in namelist'</span> |
---|
| 620 | <a name="ln-195"></a> <span class="k">STOP</span> |
---|
| 621 | <a name="ln-196"></a><span class="k"> </span><span class="n">ENDIF</span> |
---|
| 622 | <a name="ln-197"></a> <span class="k">call </span><span class="n">grib_get</span><span class="p">(</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="s1">'pv'</span><span class="p">,</span><span class="n">pv</span><span class="p">)</span> |
---|
| 623 | <a name="ln-198"></a> <span class="n">AK</span><span class="o">=</span><span class="n">pv</span><span class="p">(</span><span class="mi">1</span><span class="p">:</span><span class="mi">1</span><span class="o">+</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 624 | <a name="ln-199"></a> <span class="n">BK</span><span class="o">=</span><span class="n">pv</span><span class="p">(</span><span class="mi">2</span><span class="o">+</span><span class="n">MLEVEL</span><span class="p">:</span><span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span> |
---|
| 625 | <a name="ln-200"></a> |
---|
| 626 | <a name="ln-201"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">LNPMN</span><span class="p">(</span><span class="mi">0</span><span class="p">:(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span> |
---|
| 627 | <a name="ln-202"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">LNPMN2</span><span class="p">(</span><span class="mi">0</span><span class="p">:(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span> |
---|
| 628 | <a name="ln-203"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">UGVG</span><span class="p">(</span><span class="n">NGI</span><span class="p">,</span> <span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span><span class="p">),</span><span class="n">HILFUV</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">MAXL</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span> |
---|
| 629 | <a name="ln-204"></a> |
---|
| 630 | <a name="ln-205"></a> |
---|
| 631 | <a name="ln-206"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">DPSDL</span><span class="p">(</span><span class="n">NGI</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="n">DPSDM</span><span class="p">(</span><span class="n">NGI</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span> |
---|
| 632 | <a name="ln-207"></a> |
---|
| 633 | <a name="ln-208"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">PSG</span><span class="p">(</span><span class="n">NGI</span><span class="p">),</span><span class="n">HILF</span><span class="p">(</span><span class="n">NGI</span><span class="p">))</span> |
---|
| 634 | <a name="ln-209"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">UV</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span> <span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 635 | <a name="ln-210"></a><span class="c">! ALLOCATE (UV2(MAXL, MAXB, 2*MLEVEL))</span> |
---|
| 636 | <a name="ln-211"></a> |
---|
| 637 | <a name="ln-212"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">XMN</span><span class="p">(</span><span class="mi">0</span><span class="p">:(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 638 | <a name="ln-213"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">DG</span><span class="p">(</span><span class="n">NGI</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">),</span><span class="n">ETAG</span><span class="p">(</span><span class="n">NGI</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 639 | <a name="ln-214"></a> |
---|
| 640 | <a name="ln-215"></a><span class="c">! Initialisieren Legendretransformation</span> |
---|
| 641 | <a name="ln-216"></a><span class="c">! auf das LaT/LON Gitter</span> |
---|
| 642 | <a name="ln-217"></a> |
---|
| 643 | <a name="ln-218"></a> <span class="n">PI</span><span class="o">=</span><span class="nb">ACOS</span><span class="p">(</span><span class="o">-</span><span class="mf">1.D0</span><span class="p">)</span> |
---|
| 644 | <a name="ln-219"></a><span class="c">!$OMP PARALLEL DO</span> |
---|
| 645 | <a name="ln-220"></a> <span class="k">DO </span><span class="mi">20</span> <span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXB</span> |
---|
| 646 | <a name="ln-221"></a> |
---|
| 647 | <a name="ln-222"></a> <span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">)</span><span class="o">=</span><span class="nb">SIN</span><span class="p">((</span><span class="n">RLA1</span><span class="o">-</span><span class="p">(</span><span class="n">J</span><span class="o">-</span><span class="mf">1.D0</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">RLA1</span><span class="o">-</span><span class="n">RLA0</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">MAXB</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span><span class="o">*</span> <span class="n">PI</span><span class="o">/</span><span class="mi">18</span><span class="mf">0.D0</span><span class="p">)</span> |
---|
| 648 | <a name="ln-223"></a> |
---|
| 649 | <a name="ln-224"></a> <span class="k">CALL </span><span class="n">PLGNFA</span><span class="p">(</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">),</span><span class="n">Z</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="n">J</span><span class="p">))</span> |
---|
| 650 | <a name="ln-225"></a> |
---|
| 651 | <a name="ln-226"></a><span class="mi">20</span> <span class="k">CONTINUE</span> |
---|
| 652 | <a name="ln-227"></a><span class="c">!$OMP END PARALLEL DO</span> |
---|
| 653 | <a name="ln-228"></a> |
---|
| 654 | <a name="ln-229"></a><span class="c">! Avoid possible Pole problem</span> |
---|
| 655 | <a name="ln-230"></a><span class="c">! IF(RLA0 .EQ. -90.0) BREITE(MAXB)=sin(-89.99*PI/180.d0)</span> |
---|
| 656 | <a name="ln-231"></a><span class="c">! IF(RLA1 .EQ. 90.0) BREITE(1)=sin(89.99*PI/180.d0)</span> |
---|
| 657 | <a name="ln-232"></a> |
---|
| 658 | <a name="ln-233"></a><span class="c">! Initialisation of fields for FFT and Legendre transformation</span> |
---|
| 659 | <a name="ln-234"></a><span class="c">! to Gaussian grid and back to phase space</span> |
---|
| 660 | <a name="ln-235"></a> <span class="n">X1</span><span class="o">=-</span><span class="mf">1.D0</span> |
---|
| 661 | <a name="ln-236"></a> <span class="n">X2</span><span class="o">=</span><span class="mf">1.D0</span> |
---|
| 662 | <a name="ln-237"></a> <span class="k">CALL </span><span class="n">GAULEG</span><span class="p">(</span><span class="n">X1</span><span class="p">,</span><span class="n">X2</span><span class="p">,</span><span class="n">GBREITE</span><span class="p">,</span><span class="n">WEIGHT</span><span class="p">,</span><span class="n">NGJ</span><span class="p">)</span> |
---|
| 663 | <a name="ln-238"></a> |
---|
| 664 | <a name="ln-239"></a><span class="c">!$OMP PARALLEL DO PRIVATE(M)</span> |
---|
| 665 | <a name="ln-240"></a> <span class="k">DO </span><span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">NGJ</span><span class="o">/</span><span class="mi">2</span> |
---|
| 666 | <a name="ln-241"></a> <span class="k">CALL </span><span class="n">PLGNFA</span><span class="p">(</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">GBREITE</span><span class="p">(</span><span class="n">J</span><span class="p">),</span><span class="n">P</span><span class="p">(:,</span><span class="n">J</span><span class="p">))</span> |
---|
| 667 | <a name="ln-242"></a> <span class="k">DO </span><span class="n">M</span><span class="o">=</span><span class="mi">0</span><span class="p">,(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">3</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">4</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span> |
---|
| 668 | <a name="ln-243"></a> <span class="n">PP</span><span class="p">(</span><span class="n">J</span><span class="p">,</span><span class="n">M</span><span class="p">)</span><span class="o">=</span><span class="n">P</span><span class="p">(</span><span class="n">M</span><span class="p">,</span><span class="n">J</span><span class="p">)</span> |
---|
| 669 | <a name="ln-244"></a> <span class="n">ENDDO</span> |
---|
| 670 | <a name="ln-245"></a> <span class="n">ENDDO</span> |
---|
| 671 | <a name="ln-246"></a><span class="c">!$OMP END PARALLEL DO</span> |
---|
| 672 | <a name="ln-247"></a> |
---|
| 673 | <a name="ln-248"></a> |
---|
| 674 | <a name="ln-249"></a><span class="c">! MPAR(1)=152</span> |
---|
| 675 | <a name="ln-250"></a> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.12'</span> |
---|
| 676 | <a name="ln-251"></a> <span class="k">CALL </span><span class="n">READSPECTRAL</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span><span class="n">LNPMN</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">152</span><span class="o">/</span><span class="p">),</span><span class="n">AK</span><span class="p">,</span><span class="n">BK</span><span class="p">)</span> |
---|
| 677 | <a name="ln-252"></a><span class="c">! goto 111</span> |
---|
| 678 | <a name="ln-253"></a> <span class="k">CALL </span><span class="n">SET99</span><span class="p">(</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">mauf</span><span class="p">)</span> |
---|
| 679 | <a name="ln-254"></a> <span class="k">CALL </span><span class="n">PHGCUT</span><span class="p">(</span><span class="n">LNPMN</span><span class="p">,</span><span class="n">PS</span><span class="p">,</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span> <span class="p">&</span> |
---|
| 680 | <a name="ln-255"></a> <span class="n">MNAUF</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MAUF</span><span class="p">,</span><span class="n">MANF</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 681 | <a name="ln-256"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="nb">EXP</span><span class="p">(</span><span class="n">PS</span><span class="p">),</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 682 | <a name="ln-257"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,3F12.4)'</span><span class="p">)</span> <span class="s1">'STATISTICS: '</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 683 | <a name="ln-258"></a> |
---|
| 684 | <a name="ln-259"></a> <span class="k">DO </span><span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">NGJ</span><span class="o">/</span><span class="mi">2</span> |
---|
| 685 | <a name="ln-260"></a> <span class="k">CALL </span><span class="n">SET99</span><span class="p">(</span><span class="n">GWSAVE</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">J</span><span class="p">),</span><span class="n">GIFAX</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">J</span><span class="p">),</span><span class="n">MLAT</span><span class="p">(</span><span class="n">J</span><span class="p">))</span> |
---|
| 686 | <a name="ln-261"></a> <span class="n">ENDDO</span> |
---|
| 687 | <a name="ln-262"></a> <span class="k">CALL </span><span class="n">PHGR213</span><span class="p">(</span><span class="n">LNPMN</span><span class="p">,</span><span class="n">HILF</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">P</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 688 | <a name="ln-263"></a> <span class="n">PSG</span><span class="o">=</span><span class="n">HILF</span> |
---|
| 689 | <a name="ln-264"></a> <span class="k">CALL </span><span class="n">GRPH213</span><span class="p">(</span><span class="n">LNPMN2</span><span class="p">,</span><span class="n">PSG</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">PP</span><span class="p">,</span><span class="n">WEIGHT</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span> <span class="p">&</span> |
---|
| 690 | <a name="ln-265"></a> <span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 691 | <a name="ln-266"></a> <span class="k">CALL </span><span class="n">PHGR213</span><span class="p">(</span><span class="n">LNPMN2</span><span class="p">,</span><span class="n">HILF</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">P</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 692 | <a name="ln-267"></a> |
---|
| 693 | <a name="ln-268"></a> |
---|
| 694 | <a name="ln-269"></a> <span class="n">HILF</span><span class="o">=</span><span class="nb">exp</span><span class="p">(</span><span class="n">PSG</span><span class="p">)</span><span class="o">-</span><span class="nb">exp</span><span class="p">(</span><span class="n">HILF</span><span class="p">)</span> |
---|
| 695 | <a name="ln-270"></a> |
---|
| 696 | <a name="ln-271"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">NGI</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">HILF</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 697 | <a name="ln-272"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,3F11.4)'</span><span class="p">)</span> <span class="s1">'STATISTICS: '</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 698 | <a name="ln-273"></a> |
---|
| 699 | <a name="ln-274"></a> <span class="n">PSG</span><span class="o">=</span><span class="nb">EXP</span><span class="p">(</span><span class="n">PSG</span><span class="p">)</span> |
---|
| 700 | <a name="ln-275"></a> <span class="n">HILF</span><span class="o">=</span><span class="n">PSG</span> |
---|
| 701 | <a name="ln-276"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">NGI</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">HILF</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 702 | <a name="ln-277"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,3F11.4)'</span><span class="p">)</span> <span class="s1">'STATISTICS: '</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 703 | <a name="ln-278"></a> |
---|
| 704 | <a name="ln-279"></a> <span class="mi">111</span> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.10'</span> |
---|
| 705 | <a name="ln-280"></a> <span class="k">CALL </span><span class="n">READSPECTRAL</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span> <span class="p">&</span> |
---|
| 706 | <a name="ln-281"></a> <span class="n">XMN</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">131</span><span class="p">,</span><span class="mi">132</span><span class="o">/</span><span class="p">),</span><span class="n">AK</span><span class="p">,</span><span class="n">BK</span><span class="p">)</span> |
---|
| 707 | <a name="ln-282"></a><span class="c">! Transformieren des Windes auf das Gaussgitter </span> |
---|
| 708 | <a name="ln-283"></a> <span class="k">CALL </span><span class="n">PHGR213</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">UGVG</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">P</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 709 | <a name="ln-284"></a> <span class="k">DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span> |
---|
| 710 | <a name="ln-285"></a><span class="c">! North Pole</span> |
---|
| 711 | <a name="ln-286"></a> <span class="k">CALL </span><span class="n">JSPPOLE</span><span class="p">(</span><span class="n">XMN</span><span class="p">(:,</span><span class="n">K</span><span class="p">),</span><span class="mi">1</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,.</span><span class="n">TRUE</span><span class="p">.,</span><span class="n">CUA</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">))</span> |
---|
| 712 | <a name="ln-287"></a> <span class="k">CALL </span><span class="n">JSPPOLE</span><span class="p">(</span><span class="n">XMN</span><span class="p">(:,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">),</span><span class="mi">1</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,.</span><span class="n">TRUE</span><span class="p">.,</span><span class="n">CVA</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">))</span> |
---|
| 713 | <a name="ln-288"></a><span class="c">! South Pole</span> |
---|
| 714 | <a name="ln-289"></a> <span class="k">CALL </span><span class="n">JSPPOLE</span><span class="p">(</span><span class="n">XMN</span><span class="p">(:,</span><span class="n">K</span><span class="p">),</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,.</span><span class="n">TRUE</span><span class="p">.,</span><span class="n">CUA</span><span class="p">(:,</span><span class="mi">3</span><span class="p">:</span><span class="mi">4</span><span class="p">,</span><span class="n">K</span><span class="p">))</span> |
---|
| 715 | <a name="ln-290"></a> <span class="k">CALL </span><span class="n">JSPPOLE</span><span class="p">(</span><span class="n">XMN</span><span class="p">(:,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">),</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,.</span><span class="n">TRUE</span><span class="p">.,</span><span class="n">CVA</span><span class="p">(:,</span><span class="mi">3</span><span class="p">:</span><span class="mi">4</span><span class="p">,</span><span class="n">K</span><span class="p">))</span> |
---|
| 716 | <a name="ln-291"></a> <span class="n">ENDDO</span> |
---|
| 717 | <a name="ln-292"></a> |
---|
| 718 | <a name="ln-293"></a> <span class="k">DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span> |
---|
| 719 | <a name="ln-294"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MSMOOTH</span> <span class="p">.</span><span class="n">ne</span><span class="p">.</span> <span class="mi">0</span><span class="p">)</span> <span class="k">CALL </span><span class="n">SPFILTER</span><span class="p">(</span><span class="n">XMN</span><span class="p">(:,</span><span class="n">K</span><span class="p">),</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MSMOOTH</span><span class="p">)</span> |
---|
| 720 | <a name="ln-295"></a> <span class="n">ENDDO</span> |
---|
| 721 | <a name="ln-296"></a> <span class="k">CALL </span><span class="n">PHGCUT</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">UV</span><span class="p">,</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span> <span class="p">&</span> |
---|
| 722 | <a name="ln-297"></a> <span class="n">MNAUF</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MAUF</span><span class="p">,</span><span class="n">MANF</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 723 | <a name="ln-298"></a> |
---|
| 724 | <a name="ln-299"></a> |
---|
| 725 | <a name="ln-300"></a> <span class="mi">112</span> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.13'</span> |
---|
| 726 | <a name="ln-301"></a> <span class="k">CALL </span><span class="n">READSPECTRAL</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span><span class="n">XMN</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">155</span><span class="o">/</span><span class="p">),</span><span class="n">AK</span><span class="p">,</span><span class="n">BK</span><span class="p">)</span> |
---|
| 727 | <a name="ln-302"></a><span class="c">! Transformieren der horizontalen Divergenz auf das Gaussgitter </span> |
---|
| 728 | <a name="ln-303"></a> <span class="k">CALL </span><span class="n">PHGR213</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">DG</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">P</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 729 | <a name="ln-304"></a> |
---|
| 730 | <a name="ln-305"></a> |
---|
| 731 | <a name="ln-306"></a><span class="c">! Berechnung des Gradienten des Logarithmus des Bodendrucks </span> |
---|
| 732 | <a name="ln-307"></a><span class="c">! auf dem Gaussgitter </span> |
---|
| 733 | <a name="ln-308"></a> <span class="k">CALL </span><span class="n">PHGRAD</span><span class="p">(</span><span class="n">LNPMN</span><span class="p">,</span><span class="n">DPSDL</span><span class="p">,</span><span class="n">DPSDM</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">P</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 734 | <a name="ln-309"></a> |
---|
| 735 | <a name="ln-310"></a><span class="c">! Berechnung der Vertikalgeschwindigkeit auf dem Gaussgitter</span> |
---|
| 736 | <a name="ln-311"></a> <span class="k">CALL </span><span class="n">CONTGL</span><span class="p">(</span><span class="n">HILF</span><span class="p">,</span><span class="n">DPSDL</span><span class="p">,</span><span class="n">DPSDM</span><span class="p">,</span><span class="n">DG</span><span class="p">,</span><span class="n">UGVG</span><span class="p">(:,</span><span class="mi">1</span><span class="p">),</span><span class="n">UGVG</span><span class="p">(:,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="p">&</span> |
---|
| 737 | <a name="ln-312"></a> <span class="n">GBREITE</span><span class="p">,</span><span class="n">ETAG</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">AK</span><span class="p">,</span><span class="n">BK</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 738 | <a name="ln-313"></a> |
---|
| 739 | <a name="ln-314"></a> |
---|
| 740 | <a name="ln-315"></a> <span class="k">CALL </span><span class="n">GRPH213</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">ETAG</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">PP</span><span class="p">,</span><span class="n">WEIGHT</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span> <span class="p">&</span> |
---|
| 741 | <a name="ln-316"></a> <span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 742 | <a name="ln-317"></a> <span class="k">DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span> |
---|
| 743 | <a name="ln-318"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MSMOOTH</span> <span class="p">.</span><span class="n">ne</span><span class="p">.</span> <span class="mi">0</span><span class="p">)</span> <span class="k">CALL </span><span class="n">SPFILTER</span><span class="p">(</span><span class="n">XMN</span><span class="p">(:,</span><span class="n">K</span><span class="p">),</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MSMOOTH</span><span class="p">)</span> |
---|
| 744 | <a name="ln-319"></a> <span class="n">ENDDO</span> |
---|
| 745 | <a name="ln-320"></a> <span class="k">CALL </span><span class="n">PHGCUT</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">ETA</span><span class="p">,</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MAUF</span><span class="p">,</span><span class="n">MANF</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 746 | <a name="ln-321"></a> |
---|
| 747 | <a name="ln-322"></a> <span class="k">CALL </span><span class="n">GRPH213</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">HILF</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">PP</span><span class="p">,</span><span class="n">WEIGHT</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span> <span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 748 | <a name="ln-323"></a> |
---|
| 749 | <a name="ln-324"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MSMOOTH</span> <span class="p">.</span><span class="n">ne</span><span class="p">.</span> <span class="mi">0</span><span class="p">)</span> <span class="k">CALL </span><span class="n">SPFILTER</span><span class="p">(</span><span class="n">XMN</span><span class="p">(:,</span><span class="mi">1</span><span class="p">),</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MSMOOTH</span><span class="p">)</span> |
---|
| 750 | <a name="ln-325"></a> <span class="k">CALL </span><span class="n">PHGCUT</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">DPSDT</span><span class="p">,</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MAUF</span><span class="p">,</span><span class="n">MANF</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 751 | <a name="ln-326"></a><span class="c">! GOTO 114</span> |
---|
| 752 | <a name="ln-327"></a> |
---|
| 753 | <a name="ln-328"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">DPSDT</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 754 | <a name="ln-329"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,3F11.4)'</span><span class="p">)</span> <span class="s1">'STATISTICS DPSDT: '</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 755 | <a name="ln-330"></a> |
---|
| 756 | <a name="ln-331"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MOMEGADIFF</span> <span class="p">.</span><span class="n">ne</span><span class="p">.</span> <span class="mi">0</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 757 | <a name="ln-332"></a><span class="c">! Berechnung von Omega auf dem Gaussgitter</span> |
---|
| 758 | <a name="ln-333"></a> <span class="k">CALL </span><span class="n">OMEGA</span><span class="p">(</span><span class="n">PSG</span><span class="p">,</span><span class="n">DPSDL</span><span class="p">,</span><span class="n">DPSDM</span><span class="p">,</span><span class="n">DG</span><span class="p">,</span><span class="n">UGVG</span><span class="p">(:,</span><span class="mi">1</span><span class="p">),</span><span class="n">UGVG</span><span class="p">(:,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="p">&</span> |
---|
| 759 | <a name="ln-334"></a> <span class="n">GBREITE</span><span class="p">,</span><span class="n">ETAG</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">AK</span><span class="p">,</span><span class="n">BK</span><span class="p">,</span><span class="n">NGI</span> <span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 760 | <a name="ln-335"></a> |
---|
| 761 | <a name="ln-336"></a> <span class="k">CALL </span><span class="n">GRPH213</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">ETAG</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">PP</span><span class="p">,</span><span class="n">WEIGHT</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,&</span> |
---|
| 762 | <a name="ln-337"></a> <span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 763 | <a name="ln-338"></a> <span class="k">DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span> |
---|
| 764 | <a name="ln-339"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MSMOOTH</span> <span class="p">.</span><span class="n">ne</span><span class="p">.</span> <span class="mi">0</span><span class="p">)</span> <span class="k">CALL </span><span class="n">SPFILTER</span><span class="p">(</span><span class="n">XMN</span><span class="p">(:,</span><span class="n">K</span><span class="p">),</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MSMOOTH</span><span class="p">)</span> |
---|
| 765 | <a name="ln-340"></a> <span class="n">ENDDO</span> |
---|
| 766 | <a name="ln-341"></a> <span class="k">CALL </span><span class="n">PHGCUT</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">OM</span><span class="p">,</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MAUF</span><span class="p">,</span><span class="n">MANF</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 767 | <a name="ln-342"></a> |
---|
| 768 | <a name="ln-343"></a> <span class="n">ENDIF</span> <span class="c">!MOMEGA</span> |
---|
| 769 | <a name="ln-344"></a> |
---|
| 770 | <a name="ln-345"></a> <span class="k">CALL </span><span class="n">GRPH213</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">PSG</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">GIFAX</span><span class="p">,</span><span class="n">PP</span><span class="p">,</span><span class="n">WEIGHT</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">NGI</span><span class="p">,</span><span class="n">NGJ</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 771 | <a name="ln-346"></a> <span class="k">CALL </span><span class="n">PHGCUT</span><span class="p">(</span><span class="n">XMN</span><span class="p">,</span><span class="n">PS</span><span class="p">,</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MAUF</span><span class="p">,</span><span class="n">MANF</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 772 | <a name="ln-347"></a> |
---|
| 773 | <a name="ln-348"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">PS</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 774 | <a name="ln-349"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,3F11.4)'</span><span class="p">)</span> <span class="s1">'STATISTICS: '</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 775 | <a name="ln-350"></a> |
---|
| 776 | <a name="ln-351"></a> <span class="mi">114</span> <span class="k">DEALLOCATE</span><span class="p">(</span><span class="n">HILF</span><span class="p">,</span><span class="n">PSG</span><span class="p">,</span><span class="n">DPSDL</span><span class="p">,</span><span class="n">DPSDM</span><span class="p">,</span><span class="n">ETAG</span><span class="p">,</span><span class="n">DG</span><span class="p">,</span><span class="n">LNPMN</span><span class="p">)</span> |
---|
| 777 | <a name="ln-352"></a> |
---|
| 778 | <a name="ln-353"></a><span class="c">! ALLOCATE (UV(MAXL, MAXB, 2*MLEVEL))</span> |
---|
| 779 | <a name="ln-354"></a><span class="c">! CALL GRPH213(XMN,UGVG,GWSAVE,GIFAX,PP,WEIGHT,MLAT,</span> |
---|
| 780 | <a name="ln-355"></a><span class="c">! *MNAUF,NGI,NGJ,2*MLEVEL)</span> |
---|
| 781 | <a name="ln-356"></a><span class="c">! DO K=1,2*MLEVEL</span> |
---|
| 782 | <a name="ln-357"></a><span class="c">! IF(MSMOOTH .ne. 0) CALL SPFILTER(XMN(:,K),MNAUF,MSMOOTH)</span> |
---|
| 783 | <a name="ln-358"></a><span class="c">! ENDDO</span> |
---|
| 784 | <a name="ln-359"></a><span class="c">! CALL PHGCUT(XMN,UV,WSAVE,IFAX,Z,</span> |
---|
| 785 | <a name="ln-360"></a><span class="c">! *MNAUF,MNAUF,MAUF,MANF,MAXL,MAXB,2*MLEVEL)</span> |
---|
| 786 | <a name="ln-361"></a> <span class="k">DEALLOCATE</span><span class="p">(</span><span class="n">PP</span><span class="p">,</span><span class="n">P</span><span class="p">,</span><span class="n">UGVG</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">GBREITE</span><span class="p">,</span><span class="n">WEIGHT</span><span class="p">,</span><span class="n">GWSAVE</span><span class="p">,</span><span class="n">XMN</span><span class="p">)</span> |
---|
| 787 | <a name="ln-362"></a> |
---|
| 788 | <a name="ln-363"></a><span class="c">! CALL ETAGAUSS(Z,WSAVE</span> |
---|
| 789 | <a name="ln-364"></a><span class="c">! *,BREITE,UV,ETA,OM,PS,</span> |
---|
| 790 | <a name="ln-365"></a><span class="c">! *MAUF,MAXB,MAXL,MANF,MNAUF,MLEVEL,MSMOOTH)</span> |
---|
| 791 | <a name="ln-366"></a> |
---|
| 792 | <a name="ln-367"></a> <span class="k">ELSE</span> |
---|
| 793 | <a name="ln-368"></a> |
---|
| 794 | <a name="ln-369"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 795 | <a name="ln-370"></a><span class="c">! READING OF PREPARED METEOROLOGICAL FIELDS !</span> |
---|
| 796 | <a name="ln-371"></a><span class="c">! !</span> |
---|
| 797 | <a name="ln-372"></a><span class="c">! THE FOLLOWING FIELDS ARE EXPECTED: !</span> |
---|
| 798 | <a name="ln-373"></a><span class="c">! !</span> |
---|
| 799 | <a name="ln-374"></a><span class="c">! UNIT 11: T,U,V (REGULAR GRID) !</span> |
---|
| 800 | <a name="ln-375"></a><span class="c">! UNIT 17: Q (REGULAR GRID) !</span> |
---|
| 801 | <a name="ln-376"></a><span class="c">! UNIT 13: D (REGULAR GRID) !</span> |
---|
| 802 | <a name="ln-377"></a><span class="c">! UNIT 12: LNSP (SPHERICAL HARMONICS) !</span> |
---|
| 803 | <a name="ln-378"></a><span class="c">! UNIT 14: SURFACE DATA (REGULAR GRID) !</span> |
---|
| 804 | <a name="ln-379"></a><span class="c">! UNIT 16: FLUX DATA (REGULAR GRID) !</span> |
---|
| 805 | <a name="ln-380"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 806 | <a name="ln-381"></a><span class="c">!</span> |
---|
| 807 | <a name="ln-382"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">MLAT</span><span class="p">(</span><span class="n">MAXB</span><span class="p">))</span> |
---|
| 808 | <a name="ln-383"></a> <span class="n">MLAT</span><span class="o">=</span><span class="n">MAXL</span> |
---|
| 809 | <a name="ln-384"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">Z</span><span class="p">(</span><span class="mi">0</span><span class="p">:((</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">3</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">MNAUF</span><span class="o">+</span><span class="mi">4</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span> |
---|
| 810 | <a name="ln-385"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">DPSDL</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">),</span><span class="n">DPSDM</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">))</span> |
---|
| 811 | <a name="ln-386"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">UV</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span> <span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span><span class="p">),</span><span class="n">DIV</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 812 | <a name="ln-387"></a> |
---|
| 813 | <a name="ln-388"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 814 | <a name="ln-389"></a><span class="c">! READING OF SURFACE PRESSURE !</span> |
---|
| 815 | <a name="ln-390"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 816 | <a name="ln-391"></a> |
---|
| 817 | <a name="ln-392"></a> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.12'</span> |
---|
| 818 | <a name="ln-393"></a> <span class="k">CALL </span><span class="n">READSPECTRAL</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span><span class="n">LNPS</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">152</span><span class="o">/</span><span class="p">),</span><span class="n">AK</span><span class="p">,</span><span class="n">BK</span><span class="p">)</span> |
---|
| 819 | <a name="ln-394"></a> |
---|
| 820 | <a name="ln-395"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 821 | <a name="ln-396"></a><span class="c">! READING OF U,V !</span> |
---|
| 822 | <a name="ln-397"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 823 | <a name="ln-398"></a><span class="c">!</span> |
---|
| 824 | <a name="ln-399"></a><span class="c">! OPENING OF UNBLOCKED GRIB FILE</span> |
---|
| 825 | <a name="ln-400"></a><span class="c">!</span> |
---|
| 826 | <a name="ln-401"></a> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.10'</span> |
---|
| 827 | <a name="ln-402"></a> <span class="k">CALL </span><span class="n">READLATLON</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span><span class="n">UV</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">131</span><span class="p">,</span><span class="mi">132</span><span class="o">/</span><span class="p">))</span> |
---|
| 828 | <a name="ln-403"></a> |
---|
| 829 | <a name="ln-404"></a> |
---|
| 830 | <a name="ln-405"></a> <span class="n">PI</span><span class="o">=</span><span class="nb">ACOS</span><span class="p">(</span><span class="o">-</span><span class="mf">1.D0</span><span class="p">)</span> |
---|
| 831 | <a name="ln-406"></a> <span class="k">DO </span><span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXB</span> |
---|
| 832 | <a name="ln-407"></a> |
---|
| 833 | <a name="ln-408"></a> <span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">)</span><span class="o">=</span><span class="nb">SIN</span><span class="p">((</span><span class="n">RLA1</span><span class="o">-</span><span class="p">(</span><span class="n">J</span><span class="o">-</span><span class="mf">1.D0</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">RLA1</span><span class="o">-</span><span class="n">RLA0</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">MAXB</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span><span class="o">*</span><span class="n">PI</span><span class="o">/</span><span class="mi">18</span><span class="mf">0.D0</span><span class="p">)</span> |
---|
| 834 | <a name="ln-409"></a> |
---|
| 835 | <a name="ln-410"></a> <span class="n">ENDDO</span> |
---|
| 836 | <a name="ln-411"></a><span class="c">! Avoid possible Pole problem</span> |
---|
| 837 | <a name="ln-412"></a><span class="c">! IF(RLA0 .EQ. -90.0) BREITE(MAXB)=sin(-89.99*PI/180.d0)</span> |
---|
| 838 | <a name="ln-413"></a><span class="c">! IF(RLA1 .EQ. 90.0) BREITE(1)=sin(89.99*PI/180.d0)</span> |
---|
| 839 | <a name="ln-414"></a> |
---|
| 840 | <a name="ln-415"></a> <span class="k">DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">MLEVEL</span> |
---|
| 841 | <a name="ln-416"></a> <span class="k">DO </span><span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXB</span> |
---|
| 842 | <a name="ln-417"></a> <span class="n">COSB</span><span class="o">=</span><span class="nb">SQRT</span><span class="p">(</span><span class="mf">1.0</span><span class="o">-</span><span class="p">(</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">))</span><span class="o">*</span><span class="p">(</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">)))</span> |
---|
| 843 | <a name="ln-418"></a> <span class="k">IF</span><span class="p">(</span><span class="n">RLA0</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="o">-</span><span class="mi">9</span><span class="mf">0.0</span> <span class="p">.</span><span class="nb">AND</span><span class="p">.</span> <span class="n">J</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="n">MAXB</span> <span class="p">.</span><span class="nb">OR</span><span class="p">.</span> <span class="p">&</span> |
---|
| 844 | <a name="ln-419"></a> <span class="n">RLA1</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">9</span><span class="mf">0.0</span> <span class="p">.</span><span class="nb">AND</span><span class="p">.</span> <span class="n">J</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">then</span> |
---|
| 845 | <a name="ln-420"></a><span class="k"> </span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">/</span><span class="mf">1.D6</span> |
---|
| 846 | <a name="ln-421"></a> <span class="k">else</span> |
---|
| 847 | <a name="ln-422"></a><span class="k"> </span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">*</span><span class="n">COSB</span> |
---|
| 848 | <a name="ln-423"></a> <span class="n">endif</span> |
---|
| 849 | <a name="ln-424"></a> <span class="n">ENDDO</span> |
---|
| 850 | <a name="ln-425"></a> <span class="n">ENDDO</span> |
---|
| 851 | <a name="ln-426"></a> |
---|
| 852 | <a name="ln-427"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 853 | <a name="ln-428"></a><span class="c">! READING OF LNSP on grid !</span> |
---|
| 854 | <a name="ln-429"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 855 | <a name="ln-430"></a> |
---|
| 856 | <a name="ln-431"></a><span class="c">! For debugging only</span> |
---|
| 857 | <a name="ln-432"></a><span class="c">! FILENAME='LNSPG_G.20060330.600'</span> |
---|
| 858 | <a name="ln-433"></a><span class="c">! INQUIRE(FILE=FILENAME,EXIST=EX)</span> |
---|
| 859 | <a name="ln-434"></a><span class="c">! CALL READLATLON(FILENAME,QA,</span> |
---|
| 860 | <a name="ln-435"></a><span class="c">! *MAXL,MAXB,1,1,(/152/))</span> |
---|
| 861 | <a name="ln-436"></a> |
---|
| 862 | <a name="ln-437"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 863 | <a name="ln-438"></a><span class="c">! READING OF DIVERGENCE !</span> |
---|
| 864 | <a name="ln-439"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 865 | <a name="ln-440"></a> |
---|
| 866 | <a name="ln-441"></a> <span class="k">IF</span><span class="p">(</span><span class="n">META</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">0</span> <span class="p">.</span><span class="nb">OR</span><span class="p">.</span> <span class="n">METADIFF</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 867 | <a name="ln-442"></a><span class="k"> </span><span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.13'</span> |
---|
| 868 | <a name="ln-443"></a> <span class="k">CALL </span><span class="n">READLATLON</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span><span class="n">DIV</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">155</span><span class="o">/</span><span class="p">))</span> |
---|
| 869 | <a name="ln-444"></a> <span class="n">ENDIF</span> |
---|
| 870 | <a name="ln-445"></a> |
---|
| 871 | <a name="ln-446"></a> |
---|
| 872 | <a name="ln-447"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 873 | <a name="ln-448"></a><span class="c">! CALCULATION OF ETAPOINT --> TOTAL TIME DERIVATIVE OF !</span> |
---|
| 874 | <a name="ln-449"></a><span class="c">! ECMWF VERTICAL COORDINATE ETA MULTIPLIED BY DERIVATIVE !</span> |
---|
| 875 | <a name="ln-450"></a><span class="c">! OF PRESSURE IN ETA DIRECTION !</span> |
---|
| 876 | <a name="ln-451"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 877 | <a name="ln-452"></a> |
---|
| 878 | <a name="ln-453"></a><span class="c">! Initialisieren Legendretransformation</span> |
---|
| 879 | <a name="ln-454"></a><span class="c">! auf das LaT/LON Gitter</span> |
---|
| 880 | <a name="ln-455"></a><span class="c">! Without Gaussian grid calculation Legendre Polynomials are calculated</span> |
---|
| 881 | <a name="ln-456"></a><span class="c">! only for one latitude to save space</span> |
---|
| 882 | <a name="ln-457"></a> |
---|
| 883 | <a name="ln-458"></a> <span class="k">DO </span><span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXB</span> |
---|
| 884 | <a name="ln-459"></a> |
---|
| 885 | <a name="ln-460"></a> <span class="k">CALL </span><span class="n">PLGNFA</span><span class="p">(</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">),</span><span class="n">Z</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span> |
---|
| 886 | <a name="ln-461"></a> |
---|
| 887 | <a name="ln-462"></a> <span class="k">CALL </span><span class="n">PHGCUT</span><span class="p">(</span><span class="n">LNPS</span><span class="p">,</span><span class="n">PS</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MNAUF</span><span class="p">,</span><span class="n">MAUF</span><span class="p">,</span><span class="n">MANF</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 888 | <a name="ln-463"></a> |
---|
| 889 | <a name="ln-464"></a> |
---|
| 890 | <a name="ln-465"></a> <span class="k">IF</span><span class="p">(</span><span class="n">META</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">0</span> <span class="p">.</span><span class="nb">or</span><span class="p">.</span> <span class="n">METADIFF</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span> <span class="p">)</span> <span class="k">THEN</span> |
---|
| 891 | <a name="ln-466"></a><span class="k"> CALL </span><span class="n">PHGRACUT</span><span class="p">(</span><span class="n">LNPS</span><span class="p">,</span><span class="n">DPSDL</span><span class="p">(:,</span><span class="n">J</span><span class="p">),</span><span class="n">DPSDM</span><span class="p">(:,</span><span class="n">J</span><span class="p">),</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">Z</span><span class="p">,</span><span class="n">H</span><span class="p">,</span><span class="n">MAUF</span><span class="p">,</span> <span class="p">&</span> |
---|
| 892 | <a name="ln-467"></a> <span class="n">MNAUF</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">MANF</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 893 | <a name="ln-468"></a> <span class="n">ENDIF</span> |
---|
| 894 | <a name="ln-469"></a> <span class="n">ENDDO</span> |
---|
| 895 | <a name="ln-470"></a> |
---|
| 896 | <a name="ln-471"></a> <span class="n">PS</span><span class="o">=</span><span class="nb">EXP</span><span class="p">(</span><span class="n">PS</span><span class="p">)</span> |
---|
| 897 | <a name="ln-472"></a> |
---|
| 898 | <a name="ln-473"></a><span class="c">! For debugging only</span> |
---|
| 899 | <a name="ln-474"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">PS</span><span class="p">(:,:,</span><span class="mi">1</span><span class="p">),</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 900 | <a name="ln-475"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,3F11.4)'</span><span class="p">)</span> <span class="s1">'STATISTICS: '</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 901 | <a name="ln-476"></a> |
---|
| 902 | <a name="ln-477"></a> |
---|
| 903 | <a name="ln-478"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MOMEGADIFF</span> <span class="p">.</span><span class="n">ne</span><span class="p">.</span> <span class="mi">0</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 904 | <a name="ln-479"></a> |
---|
| 905 | <a name="ln-480"></a><span class="k"> CALL </span><span class="n">OMEGA</span><span class="p">(</span><span class="n">PS</span><span class="p">,</span><span class="n">DPSDL</span><span class="p">,</span><span class="n">DPSDM</span><span class="p">,</span><span class="n">DIV</span><span class="p">,</span><span class="n">UV</span><span class="p">(:,:,</span><span class="mi">1</span><span class="p">),</span><span class="n">UV</span><span class="p">(:,:,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="p">&</span> |
---|
| 906 | <a name="ln-481"></a> <span class="n">BREITE</span><span class="p">,</span><span class="n">OM</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">AK</span><span class="p">,</span><span class="n">BK</span><span class="p">,</span><span class="n">MAXL</span><span class="o">*</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 907 | <a name="ln-482"></a> <span class="n">ENDIF</span> |
---|
| 908 | <a name="ln-483"></a> |
---|
| 909 | <a name="ln-484"></a> <span class="k">IF</span><span class="p">(</span><span class="n">META</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">0</span> <span class="p">.</span><span class="nb">OR</span><span class="p">.</span> <span class="n">METADIFF</span> <span class="p">.</span><span class="n">ne</span><span class="p">.</span> <span class="mi">0</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 910 | <a name="ln-485"></a><span class="k"> </span><span class="n">DPSDT</span><span class="o">=</span><span class="n">PS</span> |
---|
| 911 | <a name="ln-486"></a> <span class="k">CALL </span><span class="n">CONTGL</span><span class="p">(</span><span class="n">DPSDT</span><span class="p">,</span><span class="n">DPSDL</span><span class="p">,</span><span class="n">DPSDM</span><span class="p">,</span><span class="n">DIV</span><span class="p">,</span><span class="n">UV</span><span class="p">(:,:,</span><span class="mi">1</span><span class="p">),</span><span class="n">UV</span><span class="p">(:,:,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span> <span class="p">&</span> |
---|
| 912 | <a name="ln-487"></a> <span class="n">BREITE</span><span class="p">,</span><span class="n">ETA</span><span class="p">,</span><span class="n">MLAT</span><span class="p">,</span><span class="n">AK</span><span class="p">,</span><span class="n">BK</span><span class="p">,</span><span class="n">MAXL</span><span class="o">*</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">)</span> |
---|
| 913 | <a name="ln-488"></a> <span class="n">ENDIF</span> |
---|
| 914 | <a name="ln-489"></a> |
---|
| 915 | <a name="ln-490"></a> <span class="n">ENDIF</span> <span class="c">! MGAUSS</span> |
---|
| 916 | <a name="ln-491"></a> |
---|
| 917 | <a name="ln-492"></a><span class="c">! CREATE FILE VERTICAL.EC NEEDED BY POP MODEL</span> |
---|
| 918 | <a name="ln-493"></a> |
---|
| 919 | <a name="ln-494"></a> <span class="k">open</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="k">file</span><span class="o">=</span><span class="s1">'VERTICAL.EC'</span><span class="p">)</span> |
---|
| 920 | <a name="ln-495"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(a)'</span><span class="p">)</span> |
---|
| 921 | <a name="ln-496"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(a)'</span><span class="p">)</span> <span class="s1">'VERTICAL DISCRETIZATION OF POP MODEL'</span> |
---|
| 922 | <a name="ln-497"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(a)'</span><span class="p">)</span> |
---|
| 923 | <a name="ln-498"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(i3,a)'</span><span class="p">)</span> <span class="n">MLEVEL</span><span class="p">,</span><span class="s1">' number of layers'</span> |
---|
| 924 | <a name="ln-499"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(a)'</span><span class="p">)</span> |
---|
| 925 | <a name="ln-500"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(a)'</span><span class="p">)</span> <span class="s1">'* A(NLEV+1)'</span> |
---|
| 926 | <a name="ln-501"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(a)'</span><span class="p">)</span> |
---|
| 927 | <a name="ln-502"></a> <span class="k">do </span><span class="mi">205</span> <span class="n">i</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">1</span> |
---|
| 928 | <a name="ln-503"></a><span class="mi">205</span> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(f18.12)'</span><span class="p">)</span> <span class="n">AK</span><span class="p">(</span><span class="n">I</span><span class="p">)</span> |
---|
| 929 | <a name="ln-504"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(a)'</span><span class="p">)</span> |
---|
| 930 | <a name="ln-505"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(a)'</span><span class="p">)</span> <span class="s1">'* B(NLEV+1)'</span> |
---|
| 931 | <a name="ln-506"></a> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(a)'</span><span class="p">)</span> |
---|
| 932 | <a name="ln-507"></a> <span class="k">do </span><span class="mi">210</span> <span class="n">i</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">1</span> |
---|
| 933 | <a name="ln-508"></a><span class="mi">210</span> <span class="k">write</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span><span class="s1">'(f18.12)'</span><span class="p">)</span> <span class="n">BK</span><span class="p">(</span><span class="n">I</span><span class="p">)</span> |
---|
| 934 | <a name="ln-509"></a> <span class="k">close</span><span class="p">(</span><span class="mi">21</span><span class="p">)</span> |
---|
| 935 | <a name="ln-510"></a> |
---|
| 936 | <a name="ln-511"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 937 | <a name="ln-512"></a><span class="c">! READING OF OMEGA !</span> |
---|
| 938 | <a name="ln-513"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 939 | <a name="ln-514"></a> |
---|
| 940 | <a name="ln-515"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MOMEGA</span> <span class="p">.</span><span class="n">NE</span><span class="p">.</span> <span class="mi">0</span> <span class="p">)</span> <span class="k">THEN</span> |
---|
| 941 | <a name="ln-516"></a> |
---|
| 942 | <a name="ln-517"></a> |
---|
| 943 | <a name="ln-518"></a> |
---|
| 944 | <a name="ln-519"></a><span class="k"> ALLOCATE</span> <span class="p">(</span><span class="n">OMR</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span> <span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 945 | <a name="ln-520"></a> |
---|
| 946 | <a name="ln-521"></a> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.19'</span> |
---|
| 947 | <a name="ln-522"></a> <span class="k">CALL </span><span class="n">READLATLON</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span><span class="n">OMR</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">135</span><span class="o">/</span><span class="p">))</span> |
---|
| 948 | <a name="ln-523"></a> |
---|
| 949 | <a name="ln-524"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MOMEGADIFF</span> <span class="p">.</span><span class="n">NE</span><span class="p">.</span> <span class="mi">0</span> <span class="p">)</span> <span class="k">THEN</span> |
---|
| 950 | <a name="ln-525"></a> |
---|
| 951 | <a name="ln-526"></a><span class="k"> DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span> |
---|
| 952 | <a name="ln-527"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">ETA</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">),</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 953 | <a name="ln-528"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,I3,3F11.4)'</span><span class="p">)</span> <span class="s1">' ETA: '</span><span class="p">,</span><span class="n">K</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 954 | <a name="ln-529"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">OMR</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">),</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 955 | <a name="ln-530"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,I3,3F11.4)'</span><span class="p">)</span> <span class="s1">' OMEGA: '</span><span class="p">,</span><span class="n">K</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 956 | <a name="ln-531"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">OM</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">)</span><span class="o">-</span><span class="n">OMR</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">),</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 957 | <a name="ln-532"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,I3,3F11.4)'</span><span class="p">)</span> <span class="s1">'OMEGA DIFF: '</span><span class="p">,</span><span class="n">K</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 958 | <a name="ln-533"></a> <span class="n">ENDDO</span> |
---|
| 959 | <a name="ln-534"></a> |
---|
| 960 | <a name="ln-535"></a> <span class="n">ENDIF</span> |
---|
| 961 | <a name="ln-536"></a> <span class="n">ENDIF</span> |
---|
| 962 | <a name="ln-537"></a> |
---|
| 963 | <a name="ln-538"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 964 | <a name="ln-539"></a><span class="c">! READING OF ETA !</span> |
---|
| 965 | <a name="ln-540"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 966 | <a name="ln-541"></a> |
---|
| 967 | <a name="ln-542"></a> <span class="k">IF</span><span class="p">(</span><span class="n">META</span> <span class="p">.</span><span class="n">NE</span><span class="p">.</span> <span class="mi">0</span> <span class="p">)</span> <span class="k">THEN</span> |
---|
| 968 | <a name="ln-543"></a> |
---|
| 969 | <a name="ln-544"></a><span class="k"> ALLOCATE</span> <span class="p">(</span><span class="n">ETAR</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span> <span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 970 | <a name="ln-545"></a> |
---|
| 971 | <a name="ln-546"></a> <span class="n">P00</span><span class="o">=</span><span class="mi">10132</span><span class="mf">5.</span> |
---|
| 972 | <a name="ln-547"></a> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.21'</span> |
---|
| 973 | <a name="ln-548"></a> <span class="k">CALL </span><span class="n">READLATLON</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span><span class="n">ETAR</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">77</span><span class="o">/</span><span class="p">))</span> |
---|
| 974 | <a name="ln-549"></a> |
---|
| 975 | <a name="ln-550"></a> <span class="k">if</span><span class="p">(</span><span class="n">MDPDETA</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 976 | <a name="ln-551"></a><span class="k"> DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span> |
---|
| 977 | <a name="ln-552"></a> <span class="n">DAK</span><span class="o">=</span><span class="n">AK</span><span class="p">(</span><span class="n">K</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">-</span><span class="n">AK</span><span class="p">(</span><span class="n">K</span><span class="p">)</span> |
---|
| 978 | <a name="ln-553"></a> <span class="n">DBK</span><span class="o">=</span><span class="n">BK</span><span class="p">(</span><span class="n">K</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">-</span><span class="n">BK</span><span class="p">(</span><span class="n">K</span><span class="p">)</span> |
---|
| 979 | <a name="ln-554"></a> <span class="k">DO </span><span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXB</span> |
---|
| 980 | <a name="ln-555"></a> <span class="k">DO </span><span class="n">I</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXL</span> |
---|
| 981 | <a name="ln-556"></a> <span class="n">ETAR</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="mi">2</span><span class="o">*</span><span class="n">ETAR</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">*</span><span class="n">PS</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">DAK</span><span class="o">/</span><span class="n">PS</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span><span class="o">+</span><span class="n">DBK</span><span class="p">)</span><span class="o">/</span> <span class="p">&</span> |
---|
| 982 | <a name="ln-557"></a> <span class="p">(</span><span class="n">DAK</span><span class="o">/</span><span class="n">P00</span><span class="o">+</span><span class="n">DBK</span><span class="p">)</span> |
---|
| 983 | <a name="ln-558"></a> <span class="k">IF</span><span class="p">(</span><span class="n">K</span> <span class="p">.</span><span class="n">GT</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="n">ETAR</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">ETAR</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">-</span><span class="n">ETAR</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> |
---|
| 984 | <a name="ln-559"></a> <span class="n">ENDDO</span> |
---|
| 985 | <a name="ln-560"></a> <span class="n">ENDDO</span> |
---|
| 986 | <a name="ln-561"></a> <span class="n">ENDDO</span> |
---|
| 987 | <a name="ln-562"></a> <span class="n">ENDIF</span> |
---|
| 988 | <a name="ln-563"></a> |
---|
| 989 | <a name="ln-564"></a> <span class="k">IF</span><span class="p">(</span><span class="n">METADIFF</span> <span class="p">.</span><span class="n">NE</span><span class="p">.</span> <span class="mi">0</span> <span class="p">)</span> <span class="k">THEN</span> |
---|
| 990 | <a name="ln-565"></a> |
---|
| 991 | <a name="ln-566"></a><span class="k"> DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span> |
---|
| 992 | <a name="ln-567"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">ETA</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">),</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 993 | <a name="ln-568"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,I3,3F11.4)'</span><span class="p">)</span> <span class="s1">' ETA: '</span><span class="p">,</span><span class="n">K</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 994 | <a name="ln-569"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">ETAR</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">),</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 995 | <a name="ln-570"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,I3,3F11.4)'</span><span class="p">)</span> <span class="s1">' ETAR: '</span><span class="p">,</span><span class="n">K</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 996 | <a name="ln-571"></a> <span class="k">CALL </span><span class="n">STATIS</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">ETA</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">)</span><span class="o">-</span><span class="n">ETAR</span><span class="p">(:,:,</span><span class="n">K</span><span class="p">),</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 997 | <a name="ln-572"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(A12,I3,3F11.4)'</span><span class="p">)</span> <span class="s1">'ETA DIFF: '</span><span class="p">,</span><span class="n">K</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span> |
---|
| 998 | <a name="ln-573"></a> <span class="n">ENDDO</span> |
---|
| 999 | <a name="ln-574"></a> <span class="k">DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span> |
---|
| 1000 | <a name="ln-575"></a> <span class="k">WRITE</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="s1">'(I3,2F11.4)'</span><span class="p">)</span> <span class="n">K</span><span class="p">,</span><span class="n">ETA</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXB</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span><span class="n">K</span><span class="p">),</span><span class="n">ETAR</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXB</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span><span class="n">K</span><span class="p">)</span> |
---|
| 1001 | <a name="ln-576"></a> <span class="n">ENDDO</span> |
---|
| 1002 | <a name="ln-577"></a> <span class="k">ELSE</span> |
---|
| 1003 | <a name="ln-578"></a><span class="k"> </span><span class="n">ETA</span><span class="o">=</span><span class="n">ETAR</span> |
---|
| 1004 | <a name="ln-579"></a> <span class="n">ENDIF</span> |
---|
| 1005 | <a name="ln-580"></a> <span class="n">ENDIF</span> |
---|
| 1006 | <a name="ln-581"></a> |
---|
| 1007 | <a name="ln-582"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">T</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span> <span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 1008 | <a name="ln-583"></a> <span class="k">ALLOCATE</span> <span class="p">(</span><span class="n">QA</span><span class="p">(</span><span class="n">MAXL</span><span class="p">,</span> <span class="n">MAXB</span><span class="p">,</span> <span class="n">MLEVEL</span><span class="p">))</span> |
---|
| 1009 | <a name="ln-584"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 1010 | <a name="ln-585"></a><span class="c">! READING OF T !</span> |
---|
| 1011 | <a name="ln-586"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 1012 | <a name="ln-587"></a><span class="c">!</span> |
---|
| 1013 | <a name="ln-588"></a><span class="c">! OPENING OF UNBLOCKED GRIB FILE</span> |
---|
| 1014 | <a name="ln-589"></a><span class="c">!</span> |
---|
| 1015 | <a name="ln-590"></a> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.11'</span> |
---|
| 1016 | <a name="ln-591"></a> <span class="k">CALL </span><span class="n">READLATLON</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span><span class="n">T</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">130</span><span class="o">/</span><span class="p">))</span> |
---|
| 1017 | <a name="ln-592"></a> |
---|
| 1018 | <a name="ln-593"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 1019 | <a name="ln-594"></a><span class="c">! READING OF SPECIFIC HUMIDITY !</span> |
---|
| 1020 | <a name="ln-595"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 1021 | <a name="ln-596"></a> |
---|
| 1022 | <a name="ln-597"></a> <span class="n">FILENAME</span><span class="o">=</span><span class="s1">'fort.17'</span> |
---|
| 1023 | <a name="ln-598"></a> <span class="k">CALL </span><span class="n">READLATLON</span><span class="p">(</span><span class="n">FILENAME</span><span class="p">,</span><span class="n">QA</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,(</span><span class="o">/</span><span class="mi">133</span><span class="o">/</span><span class="p">))</span> |
---|
| 1024 | <a name="ln-599"></a> |
---|
| 1025 | <a name="ln-600"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 1026 | <a name="ln-601"></a><span class="c">! TEST READING OF UV from MARS (debug only) !</span> |
---|
| 1027 | <a name="ln-602"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 1028 | <a name="ln-603"></a> |
---|
| 1029 | <a name="ln-604"></a><span class="c">! FILENAME='fort.22'</span> |
---|
| 1030 | <a name="ln-605"></a><span class="c">! CALL READLATLON(FILENAME,UV2,MAXL,MAXB,2*MLEVEL,2,(/131,132/))</span> |
---|
| 1031 | <a name="ln-606"></a> |
---|
| 1032 | <a name="ln-607"></a> |
---|
| 1033 | <a name="ln-608"></a> |
---|
| 1034 | <a name="ln-609"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 1035 | <a name="ln-610"></a><span class="c">! WRITE MODEL LEVEL DATA TO fort.15 !</span> |
---|
| 1036 | <a name="ln-611"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 1037 | <a name="ln-612"></a> |
---|
| 1038 | <a name="ln-613"></a><span class="c">! Calculation of etadot in CONTGL needed scaled winds (ucosphi,vcosphi)</span> |
---|
| 1039 | <a name="ln-614"></a><span class="c">! Now we are transforming back to the usual winds. </span> |
---|
| 1040 | <a name="ln-615"></a> <span class="k">DO </span><span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MLEVEL</span> |
---|
| 1041 | <a name="ln-616"></a> <span class="k">DO </span><span class="n">J</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="n">MAXB</span><span class="o">-</span><span class="mi">1</span> |
---|
| 1042 | <a name="ln-617"></a> <span class="n">COSB</span><span class="o">=</span><span class="nb">SQRT</span><span class="p">(</span><span class="mf">1.0</span><span class="o">-</span><span class="p">(</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">))</span><span class="o">*</span><span class="p">(</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">)))</span> |
---|
| 1043 | <a name="ln-618"></a> <span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">/</span><span class="n">COSB</span> |
---|
| 1044 | <a name="ln-619"></a> <span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">)</span><span class="o">/</span><span class="n">COSB</span> |
---|
| 1045 | <a name="ln-620"></a> <span class="n">ENDDO</span> |
---|
| 1046 | <a name="ln-621"></a><span class="c">! special treatment for poles, if necessary. </span> |
---|
| 1047 | <a name="ln-622"></a> <span class="k">DO </span><span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MAXB</span><span class="o">-</span><span class="mi">1</span> |
---|
| 1048 | <a name="ln-623"></a> <span class="n">COSB</span><span class="o">=</span><span class="nb">SQRT</span><span class="p">(</span><span class="mf">1.0</span><span class="o">-</span><span class="p">(</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">))</span><span class="o">*</span><span class="p">(</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">)))</span> |
---|
| 1049 | <a name="ln-624"></a> <span class="k">if</span><span class="p">(</span><span class="mf">1.0</span><span class="o">-</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">)</span><span class="o">*</span><span class="n">BREITE</span><span class="p">(</span><span class="n">J</span><span class="p">)</span> <span class="p">.</span><span class="n">gt</span><span class="p">.</span> <span class="mi">0</span> <span class="p">.</span><span class="nb">OR</span><span class="p">.</span> <span class="n">MGAUSS</span> <span class="p">.</span><span class="n">NE</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">then</span> |
---|
| 1050 | <a name="ln-625"></a><span class="k"> IF</span><span class="p">(</span><span class="n">RLA0</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="o">-</span><span class="mi">9</span><span class="mf">0.0</span> <span class="p">.</span><span class="nb">AND</span><span class="p">.</span> <span class="n">J</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="n">MAXB</span> <span class="p">.</span><span class="nb">OR</span><span class="p">.</span> <span class="p">&</span> |
---|
| 1051 | <a name="ln-626"></a> <span class="n">RLA1</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">9</span><span class="mf">0.0</span> <span class="p">.</span><span class="nb">AND</span><span class="p">.</span> <span class="n">J</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">then</span> |
---|
| 1052 | <a name="ln-627"></a><span class="k"> </span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">*</span><span class="mf">1.D6</span> |
---|
| 1053 | <a name="ln-628"></a> <span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">)</span><span class="o">*</span><span class="mf">1.D6</span> |
---|
| 1054 | <a name="ln-629"></a> <span class="k">else</span> |
---|
| 1055 | <a name="ln-630"></a><span class="k"> </span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">/</span><span class="n">COSB</span> |
---|
| 1056 | <a name="ln-631"></a> <span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">UV</span><span class="p">(:,</span><span class="n">J</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">)</span><span class="o">/</span><span class="n">COSB</span> |
---|
| 1057 | <a name="ln-632"></a> <span class="n">endif</span> |
---|
| 1058 | <a name="ln-633"></a> <span class="k">else</span> |
---|
| 1059 | <a name="ln-634"></a><span class="k"> </span><span class="n">HILFUV</span><span class="p">(</span><span class="mi">5</span><span class="p">:</span><span class="n">MAXL</span><span class="p">,:)</span><span class="o">=</span><span class="mf">0.</span> |
---|
| 1060 | <a name="ln-635"></a> <span class="n">HILFUV</span><span class="p">(</span><span class="mi">1</span><span class="p">:</span><span class="mi">2</span><span class="p">,:)</span><span class="o">=</span><span class="mf">0.</span> |
---|
| 1061 | <a name="ln-636"></a> <span class="k">IF</span><span class="p">(</span><span class="n">J</span><span class="p">.</span><span class="n">EQ</span><span class="p">.</span><span class="n">MAXB</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1062 | <a name="ln-637"></a><span class="c">! Suedpol</span> |
---|
| 1063 | <a name="ln-638"></a> <span class="n">HILFUV</span><span class="p">(</span><span class="mi">3</span><span class="p">:</span><span class="mi">4</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span><span class="o">=</span><span class="n">CUA</span><span class="p">(:,</span><span class="mi">4</span><span class="p">,</span><span class="n">K</span><span class="p">)</span> |
---|
| 1064 | <a name="ln-639"></a> <span class="n">HILFUV</span><span class="p">(</span><span class="mi">3</span><span class="p">:</span><span class="mi">4</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span><span class="o">=</span><span class="n">CVA</span><span class="p">(:,</span><span class="mi">4</span><span class="p">,</span><span class="n">K</span><span class="p">)</span> |
---|
| 1065 | <a name="ln-640"></a> <span class="k">ELSE</span> |
---|
| 1066 | <a name="ln-641"></a><span class="c">! Nordpol</span> |
---|
| 1067 | <a name="ln-642"></a> <span class="n">HILFUV</span><span class="p">(</span><span class="mi">3</span><span class="p">:</span><span class="mi">4</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span><span class="o">=</span><span class="n">CUA</span><span class="p">(:,</span><span class="mi">2</span><span class="p">,</span><span class="n">K</span><span class="p">)</span> |
---|
| 1068 | <a name="ln-643"></a> <span class="n">HILFUV</span><span class="p">(</span><span class="mi">3</span><span class="p">:</span><span class="mi">4</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span><span class="o">=</span><span class="n">CVA</span><span class="p">(:,</span><span class="mi">2</span><span class="p">,</span><span class="n">K</span><span class="p">)</span> |
---|
| 1069 | <a name="ln-644"></a> <span class="n">ENDIF</span> |
---|
| 1070 | <a name="ln-645"></a> <span class="k">CALL </span><span class="n">RFOURTR</span><span class="p">(</span><span class="n">HILFUV</span><span class="p">(:,</span><span class="mi">1</span><span class="p">),</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">MAXL</span><span class="o">/</span><span class="mi">2</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> |
---|
| 1071 | <a name="ln-646"></a> <span class="k">DO </span><span class="n">I</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="n">MAXL</span><span class="o">-</span><span class="mi">1</span> |
---|
| 1072 | <a name="ln-647"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MANF</span><span class="o">+</span><span class="n">I</span><span class="p">.</span><span class="n">LE</span><span class="p">.</span><span class="n">MAXL</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1073 | <a name="ln-648"></a><span class="k"> </span><span class="n">UV</span><span class="p">(</span><span class="n">I</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">HILFUV</span><span class="p">(</span><span class="n">MANF</span><span class="o">+</span><span class="n">I</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 1074 | <a name="ln-649"></a> <span class="k">ELSE</span> |
---|
| 1075 | <a name="ln-650"></a><span class="k"> </span><span class="n">UV</span><span class="p">(</span><span class="n">I</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">HILFUV</span><span class="p">(</span><span class="n">MANF</span><span class="o">-</span><span class="n">MAXL</span><span class="o">+</span><span class="n">I</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 1076 | <a name="ln-651"></a> <span class="n">ENDIF</span> |
---|
| 1077 | <a name="ln-652"></a> <span class="n">ENDDO</span> |
---|
| 1078 | <a name="ln-653"></a> <span class="k">CALL </span><span class="n">RFOURTR</span><span class="p">(</span><span class="n">HILFUV</span><span class="p">(:,</span><span class="mi">2</span><span class="p">),</span><span class="n">WSAVE</span><span class="p">,</span><span class="n">IFAX</span><span class="p">,</span><span class="n">MAXL</span><span class="o">/</span><span class="mi">2</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> |
---|
| 1079 | <a name="ln-654"></a> <span class="k">DO </span><span class="n">I</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="n">MAXL</span><span class="o">-</span><span class="mi">1</span> |
---|
| 1080 | <a name="ln-655"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MANF</span><span class="o">+</span><span class="n">I</span><span class="p">.</span><span class="n">LE</span><span class="p">.</span><span class="n">MAXL</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1081 | <a name="ln-656"></a><span class="k"> </span><span class="n">UV</span><span class="p">(</span><span class="n">I</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">HILFUV</span><span class="p">(</span><span class="n">MANF</span><span class="o">+</span><span class="n">I</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> |
---|
| 1082 | <a name="ln-657"></a> <span class="k">ELSE</span> |
---|
| 1083 | <a name="ln-658"></a><span class="k"> </span><span class="n">UV</span><span class="p">(</span><span class="n">I</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="n">K</span><span class="p">)</span><span class="o">=</span><span class="n">HILFUV</span><span class="p">(</span><span class="n">MANF</span><span class="o">-</span><span class="n">MAXL</span><span class="o">+</span><span class="n">I</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span> |
---|
| 1084 | <a name="ln-659"></a> <span class="n">ENDIF</span> |
---|
| 1085 | <a name="ln-660"></a> <span class="n">ENDDO</span> |
---|
| 1086 | <a name="ln-661"></a> <span class="n">endif</span> |
---|
| 1087 | <a name="ln-662"></a> <span class="n">ENDDO</span> |
---|
| 1088 | <a name="ln-663"></a> <span class="n">ENDDO</span> |
---|
| 1089 | <a name="ln-664"></a> |
---|
| 1090 | <a name="ln-665"></a><span class="c">! open output file</span> |
---|
| 1091 | <a name="ln-666"></a> <span class="k">call </span><span class="n">grib_open_file</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span><span class="s1">'fort.15'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">)</span> |
---|
| 1092 | <a name="ln-667"></a> |
---|
| 1093 | <a name="ln-668"></a><span class="c">! we use temperature on lat/lon on model levels as template for model level data</span> |
---|
| 1094 | <a name="ln-669"></a> <span class="n">LUNIT2</span><span class="o">=</span><span class="mi">0</span> |
---|
| 1095 | <a name="ln-670"></a> <span class="k">call </span><span class="n">grib_open_file</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="s1">'fort.11'</span><span class="p">,</span><span class="s1">'r'</span><span class="p">)</span> |
---|
| 1096 | <a name="ln-671"></a> <span class="k">call </span><span class="n">grib_new_from_file</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span> <span class="n">iret</span><span class="p">)</span> |
---|
| 1097 | <a name="ln-672"></a> <span class="k">call </span><span class="n">grib_close_file</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">)</span> |
---|
| 1098 | <a name="ln-673"></a> |
---|
| 1099 | <a name="ln-674"></a> |
---|
| 1100 | <a name="ln-675"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">UV</span><span class="p">(:,:,</span><span class="mi">1</span><span class="p">),</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">131</span><span class="o">/</span><span class="p">))</span> |
---|
| 1101 | <a name="ln-676"></a> |
---|
| 1102 | <a name="ln-677"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">UV</span><span class="p">(:,:,</span><span class="n">MLEVEL</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">132</span><span class="o">/</span><span class="p">))</span> |
---|
| 1103 | <a name="ln-678"></a> |
---|
| 1104 | <a name="ln-679"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MDPDETA</span> <span class="p">.</span><span class="n">ne</span><span class="p">.</span> <span class="mi">1</span> <span class="p">.</span><span class="nb">AND</span><span class="p">.</span> <span class="n">MGAUSS</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">0</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">META</span> <span class="p">.</span><span class="n">eq</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1105 | <a name="ln-680"></a><span class="k"> CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">ETA</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">77</span><span class="o">/</span><span class="p">))</span> |
---|
| 1106 | <a name="ln-681"></a> <span class="k">ELSE</span> |
---|
| 1107 | <a name="ln-682"></a><span class="k"> CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">ETA</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="n">METAPAR</span><span class="o">/</span><span class="p">))</span> |
---|
| 1108 | <a name="ln-683"></a> <span class="n">ENDIF</span> |
---|
| 1109 | <a name="ln-684"></a> |
---|
| 1110 | <a name="ln-685"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">T</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">130</span><span class="o">/</span><span class="p">))</span> |
---|
| 1111 | <a name="ln-686"></a> |
---|
| 1112 | <a name="ln-687"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">PS</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="s1">'1'</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">134</span><span class="o">/</span><span class="p">))</span> |
---|
| 1113 | <a name="ln-688"></a> |
---|
| 1114 | <a name="ln-689"></a> <span class="k">call </span><span class="n">grib_set</span><span class="p">(</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="s2">"levelType"</span><span class="p">,</span><span class="s2">"ml"</span><span class="p">)</span> |
---|
| 1115 | <a name="ln-690"></a> <span class="k">call </span><span class="n">grib_set</span><span class="p">(</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="s2">"typeOfLevel"</span><span class="p">,</span><span class="s2">"hybrid"</span><span class="p">)</span> |
---|
| 1116 | <a name="ln-691"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">QA</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">133</span><span class="o">/</span><span class="p">))</span> |
---|
| 1117 | <a name="ln-692"></a> |
---|
| 1118 | <a name="ln-693"></a> |
---|
| 1119 | <a name="ln-694"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MOMEGA</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1120 | <a name="ln-695"></a><span class="k"> call </span><span class="n">grib_open_file</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="s1">'fort.25'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">)</span> |
---|
| 1121 | <a name="ln-696"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">OMR</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">135</span><span class="o">/</span><span class="p">))</span> |
---|
| 1122 | <a name="ln-697"></a> |
---|
| 1123 | <a name="ln-698"></a> <span class="k">IF</span><span class="p">(</span><span class="n">MOMEGADIFF</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1124 | <a name="ln-699"></a> |
---|
| 1125 | <a name="ln-700"></a><span class="k"> CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">DPSDT</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="s1">'1'</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">158</span><span class="o">/</span><span class="p">))</span> |
---|
| 1126 | <a name="ln-701"></a> |
---|
| 1127 | <a name="ln-702"></a> <span class="n">OM</span><span class="o">=</span><span class="n">OM</span><span class="o">-</span><span class="n">OMR</span> |
---|
| 1128 | <a name="ln-703"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">OM</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">001</span><span class="o">/</span><span class="p">))</span> |
---|
| 1129 | <a name="ln-704"></a> <span class="k">call </span><span class="n">grib_close_file</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">)</span> |
---|
| 1130 | <a name="ln-705"></a> <span class="n">ENDIF</span> |
---|
| 1131 | <a name="ln-706"></a> <span class="n">ENDIF</span> |
---|
| 1132 | <a name="ln-707"></a> |
---|
| 1133 | <a name="ln-708"></a> <span class="k">IF</span><span class="p">(</span><span class="n">META</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span> <span class="p">.</span><span class="nb">and</span><span class="p">.</span> <span class="n">METADIFF</span> <span class="p">.</span><span class="n">EQ</span><span class="p">.</span> <span class="mi">1</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1134 | <a name="ln-709"></a><span class="k"> call </span><span class="n">grib_open_file</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="s1">'fort.26'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">)</span> |
---|
| 1135 | <a name="ln-710"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">ETAR</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">135</span><span class="o">/</span><span class="p">))</span> |
---|
| 1136 | <a name="ln-711"></a> |
---|
| 1137 | <a name="ln-712"></a><span class="c">! IF(MOMEGADIFF .EQ. 1) THEN</span> |
---|
| 1138 | <a name="ln-713"></a> |
---|
| 1139 | <a name="ln-714"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">DPSDT</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="s1">'1'</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">158</span><span class="o">/</span><span class="p">))</span> |
---|
| 1140 | <a name="ln-715"></a> |
---|
| 1141 | <a name="ln-716"></a> <span class="n">OM</span><span class="o">=</span><span class="n">ETA</span><span class="o">-</span><span class="n">ETAR</span> |
---|
| 1142 | <a name="ln-717"></a> <span class="k">CALL </span><span class="n">WRITELATLON</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">,</span><span class="n">igrib</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="n">ogrib</span><span class="p">,</span><span class="n">OM</span><span class="p">,</span><span class="n">MAXL</span><span class="p">,</span><span class="n">MAXB</span><span class="p">,</span><span class="n">MLEVEL</span><span class="p">,</span><span class="n">MLEVELIST</span><span class="p">,</span><span class="mi">1</span><span class="p">,(</span><span class="o">/</span><span class="mi">001</span><span class="o">/</span><span class="p">))</span> |
---|
| 1143 | <a name="ln-718"></a> <span class="k">call </span><span class="n">grib_close_file</span><span class="p">(</span><span class="n">LUNIT2</span><span class="p">)</span> |
---|
| 1144 | <a name="ln-719"></a><span class="c">! ENDIF</span> |
---|
| 1145 | <a name="ln-720"></a> <span class="n">ENDIF</span> |
---|
| 1146 | <a name="ln-721"></a> |
---|
| 1147 | <a name="ln-722"></a> |
---|
| 1148 | <a name="ln-723"></a> <span class="k">call </span><span class="n">grib_close_file</span><span class="p">(</span><span class="n">LUNIT</span><span class="p">)</span> |
---|
| 1149 | <a name="ln-724"></a> |
---|
| 1150 | <a name="ln-725"></a> |
---|
| 1151 | <a name="ln-726"></a> |
---|
| 1152 | <a name="ln-727"></a> <span class="mi">2000</span> <span class="k">STOP</span> <span class="s1">'SUCCESSFULLY FINISHED CONVERT_PRE: CONGRATULATIONS'</span> |
---|
| 1153 | <a name="ln-728"></a> <span class="mi">3000</span> <span class="k">STOP</span> <span class="s1">'ROUTINE CONVERT_PRE: ERROR'</span> |
---|
| 1154 | <a name="ln-729"></a> <span class="mi">9999</span> <span class="k">stop</span> <span class="s1">'ROUTINE CONVERT_PRE: ERROR'</span> |
---|
| 1155 | <a name="ln-730"></a> <span class="k">END</span> |
---|
| 1156 | <a name="ln-731"></a> |
---|
| 1157 | <a name="ln-732"></a> |
---|
| 1158 | <a name="ln-733"></a> |
---|
| 1159 | <a name="ln-734"></a><span class="c">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</span> |
---|
| 1160 | <a name="ln-735"></a> <span class="kt">INTEGER </span><span class="k">FUNCTION </span><span class="n">IA</span> <span class="p">(</span><span class="n">FIELD1</span><span class="p">,</span><span class="n">NI</span><span class="p">,</span><span class="n">NJ</span><span class="p">,</span><span class="n">NK</span><span class="p">,</span><span class="n">G</span><span class="p">)</span> |
---|
| 1161 | <a name="ln-736"></a> |
---|
| 1162 | <a name="ln-737"></a> <span class="k">IMPLICIT NONE</span> |
---|
| 1163 | <a name="ln-738"></a><span class="k"> </span><span class="kt">INTEGER </span><span class="n">NI</span><span class="p">,</span><span class="n">NJ</span><span class="p">,</span><span class="n">NK</span><span class="p">,</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span> |
---|
| 1164 | <a name="ln-739"></a> <span class="kt">REAL </span><span class="n">FIELD1</span><span class="p">(</span><span class="n">NI</span><span class="p">,</span><span class="n">NJ</span><span class="p">,</span><span class="n">NK</span><span class="p">)</span> |
---|
| 1165 | <a name="ln-740"></a> <span class="kt">REAL </span><span class="n">G</span> |
---|
| 1166 | <a name="ln-741"></a> <span class="kt">REAL </span><span class="n">RMIN</span><span class="p">,</span><span class="n">RMAX</span><span class="p">,</span><span class="n">XMAX</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">A1</span><span class="p">,</span><span class="n">A2</span> |
---|
| 1167 | <a name="ln-742"></a> |
---|
| 1168 | <a name="ln-743"></a> <span class="n">RMAX</span><span class="o">=</span><span class="n">FIELD1</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 1169 | <a name="ln-744"></a> <span class="n">RMIN</span><span class="o">=</span><span class="n">FIELD1</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> |
---|
| 1170 | <a name="ln-745"></a> |
---|
| 1171 | <a name="ln-746"></a> <span class="k">DO </span><span class="mi">100</span> <span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">NK</span> |
---|
| 1172 | <a name="ln-747"></a> <span class="k">DO </span><span class="mi">100</span> <span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">NJ</span> |
---|
| 1173 | <a name="ln-748"></a> <span class="k">DO </span><span class="mi">100</span> <span class="n">I</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">NI</span> |
---|
| 1174 | <a name="ln-749"></a> <span class="k">IF</span> <span class="p">(</span><span class="n">FIELD1</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">).</span><span class="n">GT</span><span class="p">.</span><span class="n">RMAX</span><span class="p">)</span><span class="n">RMAX</span><span class="o">=</span><span class="n">FIELD1</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span> |
---|
| 1175 | <a name="ln-750"></a> <span class="k">IF</span> <span class="p">(</span><span class="n">FIELD1</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">).</span><span class="n">LT</span><span class="p">.</span><span class="n">RMIN</span><span class="p">)</span><span class="n">RMIN</span><span class="o">=</span><span class="n">FIELD1</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span> |
---|
| 1176 | <a name="ln-751"></a><span class="mi">100</span> <span class="k">CONTINUE</span> |
---|
| 1177 | <a name="ln-752"></a> |
---|
| 1178 | <a name="ln-753"></a><span class="k"> IF</span> <span class="p">(</span><span class="nb">ABS</span><span class="p">(</span><span class="n">RMIN</span><span class="p">).</span><span class="n">GT</span><span class="p">.</span><span class="n">RMAX</span><span class="p">.</span><span class="nb">OR</span><span class="p">.</span><span class="nb">ABS</span><span class="p">(</span><span class="n">RMIN</span><span class="p">).</span><span class="n">EQ</span><span class="p">.</span><span class="n">RMAX</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1179 | <a name="ln-754"></a><span class="k"> </span><span class="n">XMAX</span><span class="o">=</span><span class="nb">ABS</span><span class="p">(</span><span class="n">RMIN</span><span class="p">)</span> |
---|
| 1180 | <a name="ln-755"></a> <span class="k">ELSE</span> |
---|
| 1181 | <a name="ln-756"></a><span class="k"> </span><span class="n">XMAX</span><span class="o">=</span><span class="n">RMAX</span> |
---|
| 1182 | <a name="ln-757"></a> <span class="n">ENDIF</span> |
---|
| 1183 | <a name="ln-758"></a> |
---|
| 1184 | <a name="ln-759"></a> <span class="k">IF</span> <span class="p">(</span><span class="n">XMAX</span><span class="p">.</span><span class="n">EQ</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1185 | <a name="ln-760"></a><span class="k"> </span><span class="n">IA</span> <span class="o">=</span> <span class="mi">0</span> |
---|
| 1186 | <a name="ln-761"></a> <span class="k">RETURN</span> |
---|
| 1187 | <a name="ln-762"></a><span class="k"> </span><span class="n">ENDIF</span> |
---|
| 1188 | <a name="ln-763"></a> |
---|
| 1189 | <a name="ln-764"></a> <span class="n">A1</span><span class="o">=</span><span class="n">LOG10</span> <span class="p">((</span><span class="n">G</span><span class="o">/</span><span class="mi">1</span><span class="mf">0.d0</span><span class="p">)</span><span class="o">/</span><span class="n">XMAX</span><span class="p">)</span> |
---|
| 1190 | <a name="ln-765"></a> <span class="n">A2</span><span class="o">=</span><span class="n">LOG10</span> <span class="p">(</span> <span class="n">G</span><span class="o">/</span><span class="n">XMAX</span> <span class="p">)</span> |
---|
| 1191 | <a name="ln-766"></a> <span class="k">IF</span><span class="p">(</span><span class="n">A1</span> <span class="p">.</span><span class="n">gt</span><span class="p">.</span> <span class="n">A2</span><span class="p">)</span> <span class="k">THEN</span> |
---|
| 1192 | <a name="ln-767"></a><span class="k"> </span><span class="n">A</span><span class="o">=</span><span class="n">A2</span> |
---|
| 1193 | <a name="ln-768"></a> <span class="k">ELSE </span> |
---|
| 1194 | <a name="ln-769"></a><span class="k"> </span><span class="n">A</span><span class="o">=</span><span class="n">A1</span> |
---|
| 1195 | <a name="ln-770"></a> <span class="n">ENDIF</span> |
---|
| 1196 | <a name="ln-771"></a> |
---|
| 1197 | <a name="ln-772"></a> <span class="k">IF</span> <span class="p">(</span><span class="n">A</span><span class="p">.</span><span class="n">GT</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span> <span class="n">IA</span><span class="o">=</span><span class="nb">INT</span><span class="p">(</span><span class="n">A</span><span class="p">)</span> |
---|
| 1198 | <a name="ln-773"></a> <span class="k">IF</span> <span class="p">(</span><span class="n">A</span><span class="p">.</span><span class="n">LT</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span> <span class="n">IA</span><span class="o">=</span><span class="nb">INT</span><span class="p">(</span><span class="n">A</span><span class="o">-</span><span class="mf">1.0</span><span class="p">)</span> |
---|
| 1199 | <a name="ln-774"></a> |
---|
| 1200 | <a name="ln-775"></a> <span class="k">RETURN</span> |
---|
| 1201 | <a name="ln-776"></a><span class="k"> END</span> |
---|
| 1202 | <a name="ln-777"></a><span class="k"> </span> |
---|
| 1203 | <a name="ln-778"></a><span class="k"> SUBROUTINE </span><span class="n">STATIS</span> <span class="p">(</span><span class="n">NI</span><span class="p">,</span><span class="n">NJ</span><span class="p">,</span><span class="n">NK</span><span class="p">,</span><span class="n">PHI</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">SIG</span><span class="p">)</span> |
---|
| 1204 | <a name="ln-779"></a> <span class="k">IMPLICIT </span><span class="kt">REAL</span> <span class="p">(</span><span class="n">A</span><span class="o">-</span><span class="n">H</span><span class="p">,</span><span class="n">O</span><span class="o">-</span><span class="n">Z</span><span class="p">)</span> |
---|
| 1205 | <a name="ln-780"></a> |
---|
| 1206 | <a name="ln-781"></a> <span class="kt">REAL </span><span class="n">PHI</span><span class="p">(</span><span class="n">NI</span><span class="p">,</span><span class="n">NJ</span><span class="p">,</span><span class="n">NK</span><span class="p">),</span><span class="n">SIG</span><span class="p">,</span><span class="n">MW</span><span class="p">,</span><span class="n">RMS</span><span class="p">,</span><span class="n">P</span> |
---|
| 1207 | <a name="ln-782"></a> |
---|
| 1208 | <a name="ln-783"></a> <span class="n">N</span><span class="o">=</span><span class="n">NI</span><span class="o">*</span><span class="n">NJ</span><span class="o">*</span><span class="n">NK</span> |
---|
| 1209 | <a name="ln-784"></a> |
---|
| 1210 | <a name="ln-785"></a> <span class="n">RMS</span><span class="o">=</span><span class="mf">0.</span> |
---|
| 1211 | <a name="ln-786"></a> <span class="n">MW</span><span class="o">=</span><span class="mf">0.</span> |
---|
| 1212 | <a name="ln-787"></a> |
---|
| 1213 | <a name="ln-788"></a> <span class="k">DO </span><span class="mi">10</span> <span class="n">I</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">NI</span> |
---|
| 1214 | <a name="ln-789"></a> <span class="k">DO </span><span class="mi">10</span> <span class="n">J</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">NJ</span> |
---|
| 1215 | <a name="ln-790"></a> <span class="k">DO </span><span class="mi">10</span> <span class="n">K</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">NK</span> |
---|
| 1216 | <a name="ln-791"></a> <span class="n">P</span><span class="o">=</span><span class="n">PHI</span><span class="p">(</span><span class="n">I</span><span class="p">,</span><span class="n">J</span><span class="p">,</span><span class="n">K</span><span class="p">)</span> |
---|
| 1217 | <a name="ln-792"></a> <span class="n">RMS</span><span class="o">=</span><span class="n">RMS</span><span class="o">+</span><span class="n">P</span><span class="o">*</span><span class="n">P</span> |
---|
| 1218 | <a name="ln-793"></a> <span class="n">MW</span><span class="o">=</span><span class="n">MW</span><span class="o">+</span><span class="n">P</span> |
---|
| 1219 | <a name="ln-794"></a><span class="mi">10</span> <span class="k">CONTINUE</span> |
---|
| 1220 | <a name="ln-795"></a> |
---|
| 1221 | <a name="ln-796"></a><span class="k"> </span><span class="n">RMS</span><span class="o">=</span><span class="nb">SQRT</span><span class="p">(</span><span class="n">RMS</span><span class="o">/</span><span class="n">N</span><span class="p">)</span> |
---|
| 1222 | <a name="ln-797"></a> <span class="n">MW</span><span class="o">=</span><span class="n">MW</span><span class="o">/</span><span class="n">N</span> |
---|
| 1223 | <a name="ln-798"></a> |
---|
| 1224 | <a name="ln-799"></a> <span class="k">IF</span><span class="p">(</span><span class="n">RMS</span><span class="o">*</span><span class="n">RMS</span><span class="o">-</span><span class="n">MW</span><span class="o">*</span><span class="n">MW</span><span class="p">.</span><span class="n">LT</span><span class="p">.</span><span class="mf">0.</span><span class="p">)</span> <span class="k">THEN </span> |
---|
| 1225 | <a name="ln-800"></a><span class="k"> </span><span class="n">SIG</span><span class="o">=</span><span class="mf">0.0</span> |
---|
| 1226 | <a name="ln-801"></a> <span class="k">ELSE</span> |
---|
| 1227 | <a name="ln-802"></a><span class="k"> </span><span class="n">SIG</span><span class="o">=</span><span class="nb">SQRT</span><span class="p">(</span><span class="n">RMS</span><span class="o">*</span><span class="n">RMS</span><span class="o">-</span><span class="n">MW</span><span class="o">*</span><span class="n">MW</span><span class="p">)</span> |
---|
| 1228 | <a name="ln-803"></a> <span class="n">ENDIF</span> |
---|
| 1229 | <a name="ln-804"></a> |
---|
| 1230 | <a name="ln-805"></a> <span class="k">RETURN</span> |
---|
| 1231 | <a name="ln-806"></a><span class="k"> END</span> |
---|
| 1232 | <a name="ln-807"></a> |
---|
| 1233 | </pre></div> |
---|
| 1234 | |
---|
| 1235 | </section> |
---|
| 1236 | </div> |
---|
| 1237 | </div> |
---|
| 1238 | |
---|
| 1239 | <section class="visible-xs visible-sm hidden-md"> |
---|
| 1240 | <hr> |
---|
| 1241 | |
---|
| 1242 | |
---|
| 1243 | <div class="panel panel-default"> |
---|
| 1244 | <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-1">All Source Files</a></h3></div> |
---|
| 1245 | <div id="allfiles-1" class="panel-collapse collapse"> |
---|
| 1246 | <div class="list-group"> |
---|
| 1247 | |
---|
| 1248 | <a class="list-group-item" href="../sourcefile/grphreal.f.html">grphreal.f</a> |
---|
| 1249 | |
---|
| 1250 | <a class="list-group-item" href="../sourcefile/phgrreal.f.html">phgrreal.f</a> |
---|
| 1251 | |
---|
| 1252 | <a class="list-group-item" href="../sourcefile/preconvert.f90.html">preconvert.f90</a> |
---|
| 1253 | |
---|
| 1254 | <a class="list-group-item" href="../sourcefile/rwgrib2.f90.html">rwGRIB2.f90</a> |
---|
| 1255 | |
---|
| 1256 | </div> |
---|
| 1257 | </div> |
---|
| 1258 | </div> |
---|
| 1259 | |
---|
| 1260 | |
---|
| 1261 | </section> |
---|
| 1262 | |
---|
| 1263 | <hr> |
---|
| 1264 | </div> <!-- /container --> |
---|
| 1265 | <footer> |
---|
| 1266 | <div class="container"> |
---|
| 1267 | <div class="row"> |
---|
| 1268 | <div class="col-xs-6 col-md-4"><p>© 2019 <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="../80x15.png" /></a></p></div> |
---|
| 1269 | <div class="col-xs-6 col-md-4 col-md-push-4"> |
---|
| 1270 | <p class="text-right"> |
---|
| 1271 | Documentation generated by |
---|
| 1272 | <a href="https://github.com/cmacmackin/ford">FORD</a> |
---|
| 1273 | |
---|
| 1274 | </p> |
---|
| 1275 | </div> |
---|
| 1276 | <div class="col-xs-12 col-md-4 col-md-pull-4"><p class="text-center"> Flex_extract: Calculation of etadot was developed by Leopold Haimberger</p></div> |
---|
| 1277 | </div> |
---|
| 1278 | <br> |
---|
| 1279 | </div> <!-- /container --> |
---|
| 1280 | </footer> |
---|
| 1281 | |
---|
| 1282 | <!-- Bootstrap core JavaScript |
---|
| 1283 | ================================================== --> |
---|
| 1284 | <!-- Placed at the end of the document so the pages load faster --> |
---|
| 1285 | <!-- |
---|
| 1286 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> |
---|
| 1287 | --> |
---|
| 1288 | <script src="../js/bootstrap.min.js"></script> |
---|
| 1289 | <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> |
---|
| 1290 | <script src="../js/ie10-viewport-bug-workaround.js"></script> |
---|
| 1291 | |
---|
| 1292 | <!-- MathJax JavaScript |
---|
| 1293 | ================================================== --> |
---|
| 1294 | <!-- Placed at the end of the document so the pages load faster --> |
---|
| 1295 | <script type="text/x-mathjax-config"> |
---|
| 1296 | MathJax.Hub.Config({ |
---|
| 1297 | TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } }, |
---|
| 1298 | jax: ['input/TeX','input/MathML','output/HTML-CSS'], |
---|
| 1299 | extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js'], |
---|
| 1300 | 'HTML-CSS': { |
---|
| 1301 | styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: '#000000 ! important'} } |
---|
| 1302 | } |
---|
| 1303 | }); |
---|
| 1304 | </script> |
---|
| 1305 | <!-- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> --> |
---|
| 1306 | </body> |
---|
| 1307 | </html> |
---|