|
◆ 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 1548 del file volgrid6d_class.F90.
1550 IF (c_e(levshift) .AND. c_e(levused)) THEN
1552 volgrid6d_in%gaid(levshift+1:levshift+levused,itime,itimerange,ivar
1555 DO ilevel = 1, min(inlevel,onlevel)
1557 IF (c_e(volgrid6d_in%gaid(ilevel,itime,itimerange,ivar)) .AND. .NOT.
1558 c_e(volgrid6d_out%gaid(ilevel,itime,itimerange,ivar))) THEN
1560 IF (optio_log(clone)) THEN
1561 CALL copy(volgrid6d_in%gaid(ilevel,itime,itimerange,ivar),&
1562 volgrid6d_out%gaid(ilevel,itime,itimerange,ivar))
1564 CALL l4f_category_log(volgrid6d_in%category,l4f_debug, &
1565 "cloning gaid, level "//t2c(ilevel))
1568 volgrid6d_out%gaid(ilevel,itime,itimerange,ivar) = &
1569 volgrid6d_in%gaid(ilevel,itime,itimerange,ivar)
1574 DO ilevel = min(inlevel,onlevel) + 1, onlevel
1575 IF (c_e(volgrid6d_in%gaid(inlevel,itime,itimerange,ivar)) .AND. .NOT.
1576 c_e(volgrid6d_out%gaid(ilevel,itime,itimerange,ivar))) then
1578 CALL copy(volgrid6d_in%gaid(inlevel,itime,itimerange,ivar),&
1579 volgrid6d_out%gaid(ilevel,itime,itimerange,ivar))
1581 CALL l4f_category_log(volgrid6d_in%category,l4f_debug, &
1582 "forced cloning gaid, level "//t2c(inlevel)// "->"//t2c(ilevel
1587 IF (c_e(lvar_coord_vol)) THEN
1588 NULLIFY(coord_3d_in)
1589 CALL volgrid_get_vol_3d(volgrid6d_in, itime, itimerange, lvar_coord_vol
|