libsim Versione 8.0.0

◆ volgrid6d_export_to_file()

subroutine volgrid6d_export_to_file ( type(volgrid6d), dimension(:) this,
character(len=*), intent(in) filename,
type(grid_id), intent(in), optional gaid_template,
character(len=*), intent(in), optional categoryappend )
private

High level method for exporting a volume array to file.

All the information contained into an array of volgrid6d objects, i.e. dimension descriptors and data, is exported to a file using the proper output driver (typically grib_api for grib format). If a template is provided, it will determine the characteristic of the output file, otherwise the grid_id descriptors contained in the volgrid6d object will be used

Parametri
thisvolume(s) to be exported
[in]filenameoutput file name
[in]gaid_templatetemplate for the output file, if provided the grid_id information stored in the volgrid6d objects will be ignored
[in]categoryappendappend this suffix to log4fortran namespace category

Definizione alla linea 1595 del file volgrid6d_class.F90.

1596 NULLIFY(coord_3d_in)
1597 CALL volgrid_get_vol_3d(volgrid6d_in, itime, itimerange, lvar_coord_vol, &
1598 coord_3d_in)
1599 IF (c_e(spos)) THEN ! compute difference wrt surface coordinate
1600 IF (spos == 0) THEN ! error condition, set all to missing and goodnight
1601 coord_3d_in(:,:,levshift+1:levshift+levused) = rmiss
1602 ELSE
1603 DO ilevel = levshift+1, levshift+levused
1604 WHERE(c_e(coord_3d_in(:,:,ilevel)) .AND. c_e(coord_3d_in(:,:,spos)))
1605 coord_3d_in(:,:,ilevel) = coord_3d_in(:,:,ilevel) - &
1606 coord_3d_in(:,:,spos)
1607 ELSEWHERE
1608 coord_3d_in(:,:,ilevel) = rmiss
1609 END WHERE
1610 ENDDO
1611 ENDIF
1612 ENDIF
1613 ENDIF
1614 CALL volgrid_get_vol_3d(volgrid6d_in, itime, itimerange, ivar, &
1615 voldatiin, zlist)
1616 IF (ASSOCIATED(volgrid6d_out%voldati)) & ! improve!!!!
1617 CALL volgrid_get_vol_3d(volgrid6d_out, itime, itimerange, ivar, &
1618 voldatiout)
1619 IF (c_e(lvar_coord_vol)) THEN ! this is a vertint case, zlist is useless
1620 CALL compute(this, voldatiin, voldatiout, var=convert(volgrid6d_in%var(ivar)), &
1621 coord_3d_in=coord_3d_in(:,:,levshift+1:levshift+levused)) ! subset coord_3d_in
1622 ELSE
1623 CALL compute(this, voldatiin, voldatiout, var=convert(volgrid6d_in%var(ivar)), zlist=zlist)
1624 ENDIF
1625 CALL volgrid_set_vol_3d(volgrid6d_out, itime, itimerange, ivar, &
1626 voldatiout)
1627 ENDDO
1628 ENDDO
1629ENDDO
1630

Generated with Doxygen.