|
◆ gridinfo_import_from_file()
subroutine gridinfo_import_from_file |
( |
type(arrayof_gridinfo) |
this, |
|
|
character(len=*), intent(in) |
filename, |
|
|
character(len=*), intent(in), optional |
categoryappend |
|
) |
| |
Import an array of gridinfo from a file.
It receives a (possibly unallocated) array of gridinfo objects which will be extended by a number of elements equal to the number of gridded messages/bands found in the file provided and it will be filled with all the data found. In case of error, the gridinfo object will not be allocated, so the success can be tested by checking thisarraysize.
- Parametri
-
| this | array of gridinfo objects which will be allocated/extended and into which data will be imported |
[in] | filename | name of file to open and import, in the form [driver:]pathname |
[in] | categoryappend | append this suffix to log4fortran namespace category |
Definizione alla linea 905 del file gridinfo_class.F90.
908 END SUBROUTINE timerange_import_gribapi 911 SUBROUTINE timerange_export_gribapi(this, gaid, reftime) 912 TYPE(vol7d_timerange), INTENT(in) :: this 913 INTEGER, INTENT(in) :: gaid 914 TYPE(datetime) :: reftime 916 INTEGER :: EditionNumber, centre, tri, currentunit, unit, p1_g1, p2_g1, p1 918 LOGICAL :: g2cosmo_behavior 922 IF (editionnumber == 1 ) THEN 924 CALL grib_get(gaid, 'indicatorOfUnitOfTimeRange',currentunit) 925 CALL timerange_v7d_to_g1(this%timerange, this%p1, this%p2, & 926 tri, p1_g1, p2_g1, unit) 928 CALL grib_set(gaid, 'timeRangeIndicator',tri) 929 CALL grib_set(gaid, 'P1',p1_g1) 930 CALL grib_set(gaid, 'P2',p2_g1) 931 CALL grib_set(gaid, 'indicatorOfUnitOfTimeRange',unit) 933 ELSE IF (editionnumber == 2) THEN 934 CALL grib_get(gaid, 'productDefinitionTemplateNumber', pdtn) 936 IF (this%timerange == 254) THEN 937 IF (pdtn < 0 .OR. pdtn > 7) & 938 CALL grib_set(gaid, 'productDefinitionTemplateNumber', 0) 940 CALL timerange_v7d_to_g2(this%p1,p1,unit) 942 CALL grib_set(gaid, 'indicatorOfUnitOfTimeRange',unit) 943 CALL grib_set(gaid, 'forecastTime',p1) 945 ELSE IF (this%timerange >= 0 .AND. this%timerange < 254) THEN 947 IF (pdtn < 8 .OR. pdtn > 14) & 948 CALL grib_set(gaid, 'productDefinitionTemplateNumber', 8) 950 IF (this%p1 >= this%p2) THEN 952 CALL timerange_v7d_to_g2(this%p1-this%p2,p1,unit) 953 CALL grib_set(gaid, 'indicatorOfUnitOfTimeRange',unit) 954 CALL grib_set(gaid, 'forecastTime',p1) 955 CALL code_endoftimeinterval(reftime+timedelta_new(sec=this%p1)) 958 CALL grib_set(gaid, 'typeOfStatisticalProcessing',this%timerange) 960 CALL grib_set(gaid, 'typeOfTimeIncrement',2) 961 CALL timerange_v7d_to_g2(this%p2,p2,unit) 962 CALL grib_set(gaid, 'indicatorOfUnitForTimeRange',unit) 963 CALL grib_set(gaid, 'lengthOfTimeRange',p2) 965 ELSE IF (this%p1 == 0) THEN
|