|
|
◆ volgrid6d_import_from_file()
| subroutine volgrid6d_import_from_file |
( |
type(volgrid6d), dimension(:), pointer |
this, |
|
|
character(len=*), intent(in) |
filename, |
|
|
integer, intent(in), optional |
dup_mode, |
|
|
logical, intent(in), optional |
decode, |
|
|
integer, intent(in), optional |
time_definition, |
|
|
character(len=*), dimension(:), intent(in), optional |
anavar, |
|
|
character(len=*), intent(in), optional |
categoryappend |
|
) |
| |
Import the content of a supported file (like grib or gdal-supported format) into an array of volgrid6d objects.
This method imports a set of gridded fields from a file object into a suitable number of volgrid6d objects. The data are imported by creating a temporary gridinfo object, importing it into the volgrid6d object cloning the gaid's and then destroying the gridinfo, so it works similarly to volgrid6d_class::import_from_gridinfovv() method. For a detailed explanation of the anavar argument, see the documentation of volgrid6d_class::import_from_gridinfovv() method.
- Parametri
-
| this | object in which to import |
| [in] | filename | name of file from which to import |
| [in] | dup_mode | determines the behavior in case of duplicate metadata: if dup_mode is not provided or 0, a duplicate field overwrites, if dup_mode is 1, duplicate fields are merged with priority to the last |
| [in] | decode | if provided and .FALSE. the data volume in the elements of this is not allocated and successive work will be performed on grid_id's |
| [in] | time_definition | 0=time is reference time; 1=time is validity time |
| [in] | anavar | list of variables (B-table code equivalent) to be treated as time-independent data |
| [in] | categoryappend | append this suffix to log4fortran namespace category |
Definizione alla linea 1555 del file volgrid6d_class.F90.
1555 DO itimerange=1,ntimerange 1558 IF (c_e(levshift) .AND. c_e(levused)) THEN 1560 volgrid6d_in%gaid(levshift+1:levshift+levused,itime,itimerange,ivar) & 1563 DO ilevel = 1, min(inlevel,onlevel) 1565 IF (c_e(volgrid6d_in%gaid(ilevel,itime,itimerange,ivar)) .AND. .NOT. & 1566 c_e(volgrid6d_out%gaid(ilevel,itime,itimerange,ivar))) THEN 1568 IF (optio_log(clone)) THEN 1569 CALL copy(volgrid6d_in%gaid(ilevel,itime,itimerange,ivar),& 1570 volgrid6d_out%gaid(ilevel,itime,itimerange,ivar)) 1572 CALL l4f_category_log(volgrid6d_in%category,l4f_debug, & 1573 "cloning gaid, level "//t2c(ilevel)) 1576 volgrid6d_out%gaid(ilevel,itime,itimerange,ivar) = & 1577 volgrid6d_in%gaid(ilevel,itime,itimerange,ivar) 1582 DO ilevel = min(inlevel,onlevel) + 1, onlevel 1583 IF (c_e(volgrid6d_in%gaid(inlevel,itime,itimerange,ivar)) .AND. .NOT. & 1584 c_e(volgrid6d_out%gaid(ilevel,itime,itimerange,ivar))) then 1586 CALL copy(volgrid6d_in%gaid(inlevel,itime,itimerange,ivar),& 1587 volgrid6d_out%gaid(ilevel,itime,itimerange,ivar)) 1589 CALL l4f_category_log(volgrid6d_in%category,l4f_debug, & 1590 "forced cloning gaid, level "//t2c(inlevel)// "->"//t2c(ilevel))
|