ezqkdef

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.

gdgaxes

value of the positional records

gdll

lat-lon coordinates of the grid points

ezgfstp or ezgxfstp.

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