libsim  Versione6.3.0
Tipi di dato | Membri pubblici | Attributi pubblici | Membri privati | Elenco di tutti i membri
Riferimenti per il modulogrid_id_class

This module defines an abstract interface to different drivers for access to files containing gridded information. Continua...

Tipi di dato

interface  c_e
 Check whether the corresponding object has been correctly associated. Continua...
 
interface  copy
 Make a deep copy, if possible, of the grid identifier. Continua...
 
interface  delete
 Destructors for the corresponding classes. Continua...
 
interface  display
 Display on standard output a description of the grid_id object provided. Continua...
 
interface  export
 Export a grid to a file. Continua...
 
type  gdal_file_id_options
 Derived type containing driver-specific options for gdal. Continua...
 
type  grid_file_id
 Derived type associated to a file-like object containing many blocks/messages/records/bands of gridded data. Continua...
 
type  grid_id
 Derived type associated to a block/message/record/band of gridded data coming from a file-like object. Continua...
 
interface  init
 Constructors for the corresponding classes in SUBROUTINE form. Continua...
 

Membri pubblici

type(grid_file_id) function grid_file_id_new (filename, mode, driver, from_grid_id)
 Constructor for the grid_file_id class. Continua...
 
integer function grid_file_id_count (this)
 Count the number of block/message/record/band of gridded data in the file-like object provided. Continua...
 
type(grid_id) function grid_id_new (from_grid_file_id, grib_api_template, grib_api_id, no_driver_id)
 Constructor for the grid_id class. Continua...
 
logical function grid_id_readonly (this)
 Check whether the grid_id object is readonly (.TRUE.) or allows writing bands (.FALSE.) Continua...
 
subroutine grid_id_export (this, file_id)
 Export a grid_id object this to the file indicated by a grid_file_id object. Continua...
 
character(len=len(driverlist))
function 
grid_file_id_get_driver (this)
 Return a character representation of the driver associated with the object this. Continua...
 
character(len=len(driverlist))
function 
grid_id_get_driver (this)
 Return a character representation of the driver associated with the object this. Continua...
 
integer function grid_file_id_get_gaid (this)
 Returns the original grib_api id associated with the object provided, i.e. Continua...
 
integer function grid_id_get_gaid (this)
 Returns the original grib_api id associated with the object provided, i.e. Continua...
 
type(gdaldataseth) function grid_file_id_get_gdalid (this)
 Returns the original gdal Fortran object associated with the object provided, i.e. Continua...
 
type(gdalrasterbandh) function grid_id_get_gdalid (this)
 Returns the original gdal Fortran object associated with the object provided, i.e. Continua...
 
type(gdal_file_id_options) function grid_id_get_gdal_options (this)
 Returns an object with driver-specific options associated to the grid_id provided, available only for gdal. Continua...
 
subroutine grid_id_decode_data (this, field)
 Decode and return the data array from a grid_id object. Continua...
 
subroutine grid_id_encode_data (this, field)
 Encode a data array into a grid_id object. Continua...
 

Attributi pubblici

integer, parameter grid_id_no_driver = 0
 constants to be used for associating an object to a driver: no type specified Continua...
 
integer, parameter grid_id_grib_api = 1
 type grib_api specified Continua...
 
integer, parameter grid_id_gdal = 2
 type gdal specified Continua...
 
integer, parameter grid_id_default = grid_id_grib_api
 default driver if none specified in constructor Continua...
 

Membri privati

subroutine, private grid_file_id_delete (this)
 Destructor for the grid_file_id class. Continua...
 
subroutine, private grid_id_delete (this)
 Destructor for the grid_id class. Continua...
 
subroutine, private grid_id_copy (this, that)
 Performs a "deep" copy of the grid_id object when possible. Continua...
 
subroutine, private grid_id_display (this, namespace)
 Display on standard output a description of the grid_id object provided. Continua...
 

Descrizione dettagliata

This module defines an abstract interface to different drivers for access to files containing gridded information.

It defines a class associated to a file-like object grid_file_id, and a class associated to a grid-like object grid_id, extracted from a grid_file_id object. At the moment it has support for grib_api and gdal.

Example of use (driver independent):

...
TYPE(grid_file_id) :: ifile, ofile
TYPE(grid_id) :: gaid
CHARACTER(len=512) :: ifilename, ofilename
! open files
ifile = grid_file_id_new(trim(ifilename),'r')
ofile = grid_file_id_new(trim(ofilename),'w')
IF (.NOT.c_e(ifile) .OR. .NOT.c_e(ofile)) stop
! loop on all the messages in a file
DO WHILE (.true.)
! import from input file
gaid = grid_id_new(ifile)
IF (.NOT.c_e(gaid)) EXIT
! work on gaid here
...
! export to output file
CALL export(gaid, ofile)
CALL delete(gaid)
ENDDO
! close the files
CALL delete(ifile)
CALL delete(ofile)
...

Definizione alla linea 255 del file grid_id_class.F90.


Generated with Doxygen.