libsim Versione 7.1.11
|
◆ arrayof_gridinfo_delete()
Destructor for finalizing an array object. If defined, calls the destructor for every element of the array object; finally it deallocates all the space occupied.
Definizione alla linea 580 del file gridinfo_class.F90. 585! grib_api driver
586SUBROUTINE gridinfo_export_gribapi(this, gaid)
587TYPE(gridinfo_def),INTENT(inout) :: this ! gridinfo object
588INTEGER, INTENT(in) :: gaid ! grib_api id of the grib loaded in memory to export
589
590TYPE(conv_func) :: c_func
591REAL,ALLOCATABLE :: tmparr(:,:)
592
593! convert variable and values to the correct edition if required
594CALL volgrid6d_var_normalize(this%var, c_func, grid_id_new(grib_api_id=gaid))
595IF (this%var == volgrid6d_var_miss) THEN
596 CALL l4f_log(l4f_error, &
597 'A suitable variable has not been found in table when converting template')
598 CALL raise_error()
599ENDIF
600IF (c_func /= conv_func_miss) THEN ! convert values as well
601 tmparr = decode_gridinfo(this) ! f2003 implicit allocation
602 CALL compute(c_func, tmparr)
603 CALL encode_gridinfo(this, tmparr)
604ENDIF
605
606CALL unnormalize_gridinfo(this)
607
608CALL time_export_gribapi(this%time, gaid, this%timerange)
609CALL timerange_export_gribapi(this%timerange, gaid, this%time)
610CALL level_export_gribapi(this%level, gaid)
611CALL var_export_gribapi(this%var, gaid)
612
613END SUBROUTINE gridinfo_export_gribapi
614
615
616SUBROUTINE time_import_gribapi(this,gaid)
617TYPE(datetime),INTENT(out) :: this ! datetime object
618INTEGER,INTENT(in) :: gaid ! grib_api id of the grib loaded in memory to import
619
620INTEGER :: EditionNumber, ttimeincr, tprocdata, centre, p2g, p2, unit, status
621CHARACTER(len=9) :: date
622CHARACTER(len=10) :: time
623
624CALL grib_get(gaid,'GRIBEditionNumber',editionnumber)
625
626IF (editionnumber == 1 .OR. editionnumber == 2) THEN
627
628 CALL grib_get(gaid,'dataDate',date )
629 CALL grib_get(gaid,'dataTime',time(:5) )
630
631 CALL init(this,simpledate=date(:8)//time(:4))
632
633 IF (editionnumber == 2) THEN
634
635 CALL grib_get(gaid,'typeOfProcessedData',tprocdata,status)
636 CALL grib_get(gaid,'typeOfTimeIncrement',ttimeincr,status)
|