FORTRAN integer ezqkdef, gdid gdid = ezqkdef(ni, nj, grtyp, ig1, ig2, ig3, ig4, iunit) integer ni, nj, ig1, ig2, ig3, ig4, iunit character*1 grtyp |
C gdid = c_ezqkdef(int ni, int nj, char *grtyp, int ig1, int ig2, int ig3, int ig4, int iunit) |
Routine description
This function is the easiest entry point of the ezscint package to define a grid in conformance with the RPN standard file grid descriptors. It is applicable to both regular and irregular (‘Y’, ‘Z’) grids. This function is in fact a front end to the more versatile function ezgdef. |
Description of parameters
ni, nj |
horizontal dimensions of the grid |
grtyp |
type of grid ('A', 'B', 'E', 'G', 'L', 'N', 'S','Y', 'Z') |
ig1, ig2, ig3, ig4 |
RPN standard file grid parameters |
iunit |
FORTRAN logical unit of the file containing the navigational records, if grtyp = 'Y' or 'Z'. This parameters is not considered for the other grid types. Use 0 if you don't what to enter. |
?
ezqkdef insert a grid entry into the list of grids managed by the ezscint package. On completion, it returns "gdid", a token that can be used in later calls as a key to identify the grid, like the keys used in the RPN standard files. If the grid type is 'Y' or 'Z', the routine automatically loads the associated positional records ('^^') and (`>>`). If the positional records are defined from memory rather than in a file, you will need to call ezgdef instead.
The following functions can be invoked to get supplemental information about the grid.
value of the positional records |
|
lat-lon coordinates of the grid points |
|
standard file attributes of the positional records |
Sample FORTRAN code :
We want to interpolate data from any grid to a 400x200 Gaussian grid. Assume necessary memory space has been allocated.
datev = -1 etiket = ' ' typvar = ' ' nomvar = 'GZ' ip1 = 500 ip2 = 0 ip3 = -1 iun = 13 *** read fld info and data key = FSTINF(iun, NI, NJ, NK, datev, etiket, ip1, ip2, ip3, typvar, $ nomvar) ier = FSTPRM(key, DATEO, DEET, NPAS, NI, NJ, NK, NBITS, DATYP, IP1, $ IP2, IP3, TYPVAR, NOMVAR, ETIKET, GRTYP, IG1, IG2, IG3, $ IG4, SWA, LNG, DLTF, UBC, EX1, EX2, EX3) ier = FSTLUK(zgem, key, NI, NJ, NK) *** Define input grid gdgem = ezqkdef(nigem,njgem ,'Z',ig1, ig2, ig3, ig4, iun) *** Define output grid and define grid set gdgauss = ezqkdef(nigauss, njgauss, 'G', 0,0,0,0,0) ier = ezdefset(gdgauss, gdgem) *** Now call ezsint ier = ezsint(zgauss, zgem)
Go to the list of functions, or the general index