libsim  Versione6.3.0

◆ export_to_gridinfov()

subroutine export_to_gridinfov ( type(volgrid6d), intent(inout)  this,
type(arrayof_gridinfo), intent(inout)  gridinfov,
type(grid_id), intent(in), optional  gaid_template,
logical, intent(in), optional  clone 
)

Export a volgrid6d object to an arrayof_gridinfo object.

The multidimensional volgrid6d structure is serialized into a one-dimensional array of gridinfo_def objects, which is allocated to the proper size if not already allocated, or it is extended keeping the old data if any.

Parametri
[in,out]thisvolume to be exported
[in,out]gridinfovoutput array of gridinfo_def objects
[in]gaid_templategrid_id template to be used for output data replacing the one contained in this
[in]cloneif provided and .TRUE., clone the grid_id included in this rather than making a shallow copy

Definizione alla linea 1437 del file volgrid6d_class.F90.

1437 
1438 ntime=0
1439 ntimerange=0
1440 inlevel=0
1441 onlevel=0
1442 nvar=0
1443 lvar_coord_vol = optio_i(var_coord_vol)
1444 
1445 if (associated(volgrid6d_in%time))then
1446  ntime=size(volgrid6d_in%time)
1447  volgrid6d_out%time=volgrid6d_in%time
1448 end if
1449 
1450 if (associated(volgrid6d_in%timerange))then
1451  ntimerange=size(volgrid6d_in%timerange)
1452  volgrid6d_out%timerange=volgrid6d_in%timerange
1453 end if
1454 
1455 IF (ASSOCIATED(volgrid6d_in%level))THEN
1456  inlevel=SIZE(volgrid6d_in%level)
1457 ENDIF
1458 IF (PRESENT(lev_out)) THEN
1459  onlevel=SIZE(lev_out)
1460  volgrid6d_out%level=lev_out
1461 ELSE IF (ASSOCIATED(volgrid6d_in%level))THEN
1462  onlevel=SIZE(volgrid6d_in%level)
1463  volgrid6d_out%level=volgrid6d_in%level
1464 ENDIF
1465 
1466 if (associated(volgrid6d_in%var))then
1467  nvar=size(volgrid6d_in%var)
1468  volgrid6d_out%var=volgrid6d_in%var
1469 end if
1470 ! allocate once for speed
1471 IF (.NOT.ASSOCIATED(volgrid6d_in%voldati)) THEN
1472  ALLOCATE(voldatiin(volgrid6d_in%griddim%dim%nx, volgrid6d_in%griddim%dim%ny, &
1473  inlevel))
1474 ENDIF
1475 IF (.NOT.ASSOCIATED(volgrid6d_out%voldati)) THEN
1476  ALLOCATE(voldatiout(volgrid6d_out%griddim%dim%nx, volgrid6d_out%griddim%dim%ny, &
1477  onlevel))
1478 ENDIF
1479 

Generated with Doxygen.