Changeset 1084 for XIOS/trunk/doc/inputs/user/Domain.lyx
- Timestamp:
- 04/10/17 18:46:02 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/doc/inputs/user/Domain.lyx
r821 r1084 1 #LyX 2. 1created this file. For more info see http://www.lyx.org/2 \lyxformat 4741 #LyX 2.2 created this file. For more info see http://www.lyx.org/ 2 \lyxformat 508 3 3 \begin_document 4 4 \begin_header 5 \save_transient_properties true 6 \origin unavailable 5 7 \textclass book 6 8 \use_default_options true … … 11 13 \inputencoding auto 12 14 \fontencoding global 13 \font_roman default14 \font_sans default15 \font_typewriter default16 \font_math auto15 \font_roman "default" "default" 16 \font_sans "default" "default" 17 \font_typewriter "default" "default" 18 \font_math "auto" "auto" 17 19 \font_default_family default 18 20 \use_non_tex_fonts false 19 21 \font_sc false 20 22 \font_osf false 21 \font_sf_scale 100 22 \font_tt_scale 100 23 \font_sf_scale 100 100 24 \font_tt_scale 100 100 23 25 \graphics default 24 26 \default_output_format default … … 143 145 \color inherit 144 146 among this kind of components. 145 It is not allowed to have two domains with a same id, but it is permitted 146 a domain and a grid, for example, to share a same one. 147 Domains defined by a same Id always represent only one domain. 147 148 \end_layout 148 149 … … 181 182 \begin_layout Standard 182 183 Very often, after a domain is defined, it may be referenced many times. 183 To make a reference to a domain, we use domain_ref 184 To make a reference to a domain, we use 185 \shape italic 186 domain_ref 184 187 \end_layout 185 188 … … 216 219 The domain with implicit id can only be used inside the scope where it 217 220 is defined, it can not be referenced, nor be processed. 218 It is rareto define a domain without id inside domain_definition.219 However, the domain_ref is utilized widely outside the scope of domain_definiti220 on.221 It is useless to define a domain without id inside domain_definition. 222 Meanwhile, the domain_ref is utilized widely outside the scope of domain_defini 223 tion. 221 224 \end_layout 222 225 … … 230 233 \series default 231 234 \color inherit 232 Moreoverit is the only region where we can define a new domain outside235 However, it is the only region where we can define a new domain outside 233 236 domain_definition. 234 237 \end_layout … … 286 289 287 290 \begin_layout Standard 288 One of a new concept which differenciates XIOS 2.0 from its precedent is 289 transformation. 290 In a simple case, zoom feature is now considered to be a transformation. 291 It can be more complicated for other geometric transformation such as inversion 292 or interpolation. 293 All transformation are taken place on grid level. 294 It means that it is neccessary to define a grid source and a grid destination 295 as well as a transformation or list of transformation which we'd like to 296 have. 297 In order to transform a grid to one another, we need to specify a transformatio 298 n on its sub-component: domain or axis. 299 \end_layout 300 301 \begin_layout Standard 302 Because transformation on a domain is different from one on an axis, we 303 differenciate two categories of transformation: transformation_domain and 304 transformation_axis. 305 \end_layout 306 307 \begin_layout Standard 308 Till now, XIOS supports the following transformation on domain: 309 \end_layout 310 311 \begin_layout Itemize 312 zoom_domain: Like zoom functionality in XIOS 1.0, the destination grid is 313 the zoomed region of the source grid. 314 \end_layout 315 316 \begin_layout Itemize 317 interpolation_domain: Implement interpolation from a domain to one another, 318 for now XIOS can only do interpolation by reading calculated weight values 319 from a file or calculate the weights on the fly. 320 \end_layout 321 322 \begin_layout Itemize 323 generate_rectilinear_domain: auto generating, distributing a rectilinear 324 domain then filling all mandatory attributes. 325 \end_layout 326 327 \begin_layout Standard 328 It is not difficult to define a transformation: Include type of transformation 329 inside domain definition, as the following 330 \end_layout 331 332 \begin_layout Standard 333 \begin_inset listings 334 lstparams "language=XML,breaklines=true,tabsize=2,frame=tb,postbreak={\raisebox{0ex}[0ex][0ex]{\ensuremath{\rcurvearrowse\space}}}" 335 inline false 336 status open 337 338 \begin_layout Plain Layout 339 340 <domain_definition> 341 \end_layout 342 343 \begin_layout Plain Layout 344 345 <domain id="domain_A" /> 346 \end_layout 347 348 \begin_layout Plain Layout 349 350 <domain id="domain_A_zoom" domain_ref="domain_A"> 351 \end_layout 352 353 \begin_layout Plain Layout 354 355 <zoom_domain zoom_ibegin="1" zoom_ni="3" zoom_jbegin="0" zoom_nj="2"/> 356 \end_layout 357 358 \begin_layout Plain Layout 359 360 </domain> 361 \end_layout 362 363 \begin_layout Plain Layout 364 365 </domain_definition> 366 \end_layout 367 368 \end_inset 369 370 371 \end_layout 372 373 \begin_layout Standard 374 The concrete example above tells many things: a domain named domain_A_zoom 375 is transformed from domain name domain_A with a zoom activity. 376 The domain_A_zoom is the zoomed region of domain_A. 377 The detailed attributes of zoom_domain can be found in reference document, 378 but simply it contains the begining and size of zoomed region. 379 \end_layout 380 381 \begin_layout Standard 382 One remark is the transformed domain SHOULD have an id, in this case, it's 383 domain_A_zoom. 384 As mentioned before, a no-id domain or any no-id component of XIOS can 385 only be used inside its definition scope. 386 It exists but is useless. 387 So care about that. 388 \end_layout 389 390 \begin_layout Standard 391 To make use of transformation, the grid must contain domains which reference 392 to transformed ones. 393 394 \end_layout 395 396 \begin_layout Standard 397 \begin_inset listings 398 lstparams "language=XML,breaklines=true,tabsize=2,frame=tb,postbreak={\raisebox{0ex}[0ex][0ex]{\ensuremath{\rcurvearrowse\space}}}" 399 inline false 400 status open 401 402 \begin_layout Plain Layout 403 404 <grid id="grid_A"> 405 \end_layout 406 407 \begin_layout Plain Layout 408 409 <domain domain_ref="domain_A" /> 410 \end_layout 411 412 \begin_layout Plain Layout 413 414 </grid> 415 \end_layout 416 417 \begin_layout Plain Layout 418 419 <grid id="grid_A_zoom"> 420 \end_layout 421 422 \begin_layout Plain Layout 423 424 <domain domain_ref="domain_A_zoom" /> 425 \end_layout 426 427 \begin_layout Plain Layout 428 429 </grid> 430 \end_layout 431 432 \end_inset 433 434 435 \end_layout 436 437 \begin_layout Standard 438 On defining this way, we tell XIOS to establish a connection between two 439 grids by a transformation (zoom) with: grid source - grid_A, grid destination 440 - grid_A_zoom. 441 \end_layout 442 443 \begin_layout Standard 444 As mentioned in Grid Chapter, in order to use transformed grid, just reference 445 to it in field_definition 446 \end_layout 447 448 \begin_layout Standard 449 \begin_inset listings 450 lstparams "language=XML,breaklines=true,tabsize=2,frame=tb,postbreak={\raisebox{0ex}[0ex][0ex]{\ensuremath{\rcurvearrowse\space}}}" 451 inline false 452 status open 453 454 \begin_layout Plain Layout 455 456 <field_definition level="1" enabled=".TRUE." default_value="9.96921e+36"> 457 \end_layout 458 459 \begin_layout Plain Layout 460 461 <field id="field_A" operation="average" freq_op="3600s" grid_ref="grid_A" 462 /> 463 \end_layout 464 465 \begin_layout Plain Layout 466 467 <field id="field_A_zoom" operation="average" freq_op="3600s" grid_ref="grid_A 468 _zoom" /> 469 \end_layout 470 471 \begin_layout Plain Layout 472 473 </field_definition> 474 \end_layout 475 476 \end_inset 477 478 479 \end_layout 480 481 \begin_layout Standard 482 Although xml is helpful to define several configurations, it is not convenient 483 to customize attributes of domain. 484 So it's the turn of Fortran interface. 291 One of a new concept which differentiates XIOS 2.0 from its precedent is 292 (spatial) transformation, which can be defined inside a domain. 293 All transformations on a domain have form *_domain. 294 See Chapter 295 \begin_inset CommandInset ref 296 LatexCommand ref 297 reference "chap:Transformation" 298 299 \end_inset 300 301 for more details. 485 302 \end_layout 486 303 … … 526 343 rectilinear: a simple 2-dimensional Cartesian coordinates with two perpendicular 527 344 axes. 528 Latitude represents the y-ax ewhile longitude represents the x-axe.345 Latitude represents the y-axis while longitude represents the x-axe. 529 346 \end_layout 530 347 … … 537 354 538 355 \begin_layout Itemize 539 unstructured: not any of two above, the latitu tude and longitude, as curvilinear540 , are reprensented with the help of boundaries.356 unstructured: not any of two above, the latitude and longitude, as curvilinear, 357 are represented with the help of boundaries. 541 358 542 359 \end_layout … … 564 381 565 382 \begin_layout Standard 566 Althoug there are different domain types, they share the similar patterns383 Although there are different domain types, they share the similar patterns 567 384 to settle local data on a client process: There are some essential attributes 568 385 to define. … … 578 395 It is not uncommon that a global domain is broken into several pieces, each 579 396 of which is distributed to one process. 580 Following we consider a simple case: a domain of rectilinear type with397 Following, we consider a simple case: a domain of rectilinear type with 581 398 global size 9 x 9 and its data is distributed evenly among 9 client processes, 582 399 each of which has 3x3. … … 634 451 635 452 \begin_layout Itemize 453 ibegin, jbegin: global position on x-axis and y-axis where a local domain 454 begin 455 \end_layout 456 457 \begin_layout Itemize 458 ni, nj: local size of domain of each process on x-axis and y-axis 459 \end_layout 460 461 \begin_layout Itemize 636 462 ni_glo, nj_glo: global size of x-axis and y-axis correspondingly. 637 463 638 464 \end_layout 639 465 640 \begin_layout Itemize641 ibegin, jbegin: global position on x-axis and y-axis where a local domain642 begin643 \end_layout644 645 \begin_layout Itemize646 ni, nj: local size of domain of each process on x-axis and y-axis647 \end_layout648 649 466 \begin_layout Standard 650 467 Or tell XIOS exactly the global position of each point in the local domain, … … 717 534 718 535 \begin_layout Standard 719 Specify the begin ing and size of data on the local domain:536 Specify the beginning and size of data on the local domain: 720 537 \end_layout 721 538 722 539 \begin_layout Itemize 723 540 data_ibegin, data_jbegin: the local position of data on x-axis and y-axis 724 where data begins 541 where data begins inside the local domain 725 542 \end_layout 726 543 … … 772 589 773 590 \begin_layout Standard 774 In order to be processed correctly, data must be specified with the begin ing591 In order to be processed correctly, data must be specified with the beginning 775 592 and size of its block . 776 593 For two-dimensional data, it can be done with data_ibegin, data_ni for … … 778 595 In case of one-dimensional data, it is only necessary to determine data_ibegin 779 596 and data_ni. 780 Although the valid data must be inside a local domain, it is not nec cessary597 Although the valid data must be inside a local domain, it is not necessary 781 598 for data to have same size as local domain. 782 599 In fact, data can have larger size than domain on each dimension, this … … 857 674 858 675 \begin_layout Standard 859 With the secon way, data can be represented with:676 With the second way, data can be represented with: 860 677 \end_layout 861 678 … … 891 708 \begin_layout Standard 892 709 As mentioned, data on a domain are two-dimensional but in some cases, there 893 is a need to write data contin ously, there comes one-dimensional data.710 is a need to write data continuously, there comes one-dimensional data. 894 711 With the precedent example, we can define one dimensional data with: 895 712 \end_layout … … 921 738 \begin_layout Standard 922 739 Above are the mandatory attributes to define local domain. 923 There are some auxil liary attributes which make data meaningful, especially740 There are some auxiliary attributes which make data meaningful, especially 924 741 for meteorological one. 925 The next section dis scuses these attributes.742 The next section discuses these attributes. 926 743 \end_layout 927 744 … … 931 748 932 749 \begin_layout Standard 933 Different from the previous version, in XIOS 2.0, lon ngitude and latitude750 Different from the previous version, in XIOS 2.0, longitude and latitude 934 751 are optional. 935 752 Moreover, to be coherent to the data_dim concept, there are more ways to … … 1025 842 \begin_layout Standard 1026 843 For unstructured mesh, a cell can have different number of vertices than 1027 recti nlinear, in this case, longitude and latitude value of the vertex1028 ofcell are specified with bounds_lon_1d and bounds_lat_1d.844 rectilinear, in this case, longitude and latitude value of the vertex of 845 cell are specified with bounds_lon_1d and bounds_lat_1d. 1029 846 \end_layout 1030 847 … … 1038 855 \begin_layout Standard 1039 856 One thing to remind, only *_1d or *_2d attributes are used, if *_1d and 1040 *_2d of a same attribute are provides, there will be run time error.857 *_2d of a same attribute are provides, there will be run-time error. 1041 858 \end_layout 1042 859
Note: See TracChangeset
for help on using the changeset viewer.