- Timestamp:
- 2010-11-09T12:24:40+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/nemo_v3_3_beta/DOC/TexFiles/Chapters/Chap_SBC.tex
r2351 r2366 638 638 \label{SBC_iof_imp} 639 639 640 To activate this option, a non-empty string should be supplied in the weights filename column of the relevant namelist; 641 if this is left as an empty string no action is taken. 642 In the model, weights files are read in and stored in a structured type (WGT) in the fldread module, as and when they are first required. 643 This initialisation procedure determines whether the input data grid should be treated as cyclical or not by inspecting a global attribute stored in the weights input file. 644 This attribute must be called "ew_wrap" and be of integer type. 640 To activate this option, a non-empty string should be supplied in the weights filename column 641 of the relevant namelist; if this is left as an empty string no action is taken. 642 In the model, weights files are read in and stored in a structured type (WGT) in the fldread 643 module, as and when they are first required. 644 This initialisation procedure determines whether the input data grid should be treated 645 as cyclical or not by inspecting a global attribute stored in the weights input file. 646 This attribute must be called "ew\_wrap" and be of integer type. 645 647 If it is negative, the input non-model grid is assumed not to be cyclic. 646 648 If zero or greater, then the value represents the number of columns that overlap. 647 E.g. if the input grid has columns at longitudes 0, 1, 2, .... , 359, then ew_wrap should be set to 0;648 if longitudes are 0.5, 2.5, .... , 358.5, 360.5, 362.5, ew _wrap should be 2.649 If the model does not find attribute ew _wrap, then a value of -999 is assumed.650 In this case the fld_read routine defaults ew_wrap to value 0 and therefore the grid is assumed to be cyclic651 with no overlapping columns.649 $E.g.$ if the input grid has columns at longitudes 0, 1, 2, .... , 359, then ew\_wrap should be set to 0; 650 if longitudes are 0.5, 2.5, .... , 358.5, 360.5, 362.5, ew\_wrap should be 2. 651 If the model does not find attribute ew\_wrap, then a value of -999 is assumed. 652 In this case the \rou{fld\_read} routine defaults ew\_wrap to value 0 and therefore the grid 653 is assumed to be cyclic with no overlapping columns. 652 654 (In fact this only matters when bicubic interpolation is required.) 653 Note that no testing is done to check the validity in the model, since there is no way of knowing the name used for the longitude variable, 655 Note that no testing is done to check the validity in the model, since there is no way 656 of knowing the name used for the longitude variable, 654 657 so it is up to the user to make sure his or her data is correctly represented. 655 658 656 659 Next the routine reads in the weights. 657 Bicubic interpolation is assumed if it finds a variable with name "src05", otherwise bilinear interpolation is used. 658 The WGT structure includes dynamic arrays both for the storage of the weights (on the model grid), and when required, for reading in the variable to be interpolated (on the input data grid). 659 The size of the input data array is determined by examining the values in the "src" arrays to find the minimum and maximum i and j values required. 660 Since bicubic interpolation requires the calculation of gradients at each point on the grid, the corresponding arrays are dimensioned with a halo of width one grid point all the way around. 661 When the array of points from the data file is adjacent to an edge of the data grid, the halo is either a copy of the row/column next to it (non-cyclical case), or is a copy of one from the first few columns on the opposite side of the grid (cyclical case). 660 Bicubic interpolation is assumed if it finds a variable with name "src05", otherwise 661 bilinear interpolation is used. The WGT structure includes dynamic arrays both for 662 the storage of the weights (on the model grid), and when required, for reading in 663 the variable to be interpolated (on the input data grid). 664 The size of the input data array is determined by examining the values in the "src" 665 arrays to find the minimum and maximum i and j values required. 666 Since bicubic interpolation requires the calculation of gradients at each point on the grid, 667 the corresponding arrays are dimensioned with a halo of width one grid point all the way around. 668 When the array of points from the data file is adjacent to an edge of the data grid, 669 the halo is either a copy of the row/column next to it (non-cyclical case), or is a copy 670 of one from the first few columns on the opposite side of the grid (cyclical case). 662 671 663 672 \subsection{Limitations}
Note: See TracChangeset
for help on using the changeset viewer.