|
◆ gridinfo_import_from_file()
subroutine gridinfo_class::gridinfo_import_from_file |
( |
type(arrayof_gridinfo) |
this, |
|
|
character(len=*), intent(in) |
filename, |
|
|
character(len=*), intent(in), optional |
categoryappend |
|
) |
| |
|
private |
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.
906 IF (editionnumber == 1 ) THEN 908 CALL grib_get(gaid, 'indicatorOfUnitOfTimeRange',currentunit) 909 CALL timerange_v7d_to_g1(this%timerange, this%p1, this%p2, & 910 tri, p1_g1, p2_g1, unit) 912 CALL grib_set(gaid, 'timeRangeIndicator',tri) 913 CALL grib_set(gaid, 'P1',p1_g1) 914 CALL grib_set(gaid, 'P2',p2_g1) 915 CALL grib_set(gaid, 'indicatorOfUnitOfTimeRange',unit) 917 ELSE IF (editionnumber == 2) THEN 918 CALL grib_get(gaid, 'productDefinitionTemplateNumber', pdtn) 920 IF (this%timerange == 254) THEN 921 IF (pdtn < 0 .OR. pdtn > 7) & 922 CALL grib_set(gaid, 'productDefinitionTemplateNumber', 0) 924 CALL timerange_v7d_to_g2(this%p1,p1,unit) 926 CALL grib_set(gaid, 'indicatorOfUnitOfTimeRange',unit) 927 CALL grib_set(gaid, 'forecastTime',p1) 929 ELSE IF (this%timerange >= 0 .AND. this%timerange < 254) THEN 931 IF (pdtn < 8 .OR. pdtn > 14) & 932 CALL grib_set(gaid, 'productDefinitionTemplateNumber', 8) 934 IF (this%p1 >= this%p2) THEN 936 CALL timerange_v7d_to_g2(this%p1-this%p2,p1,unit) 937 CALL grib_set(gaid, 'indicatorOfUnitOfTimeRange',unit) 938 CALL grib_set(gaid, 'forecastTime',p1) 939 CALL code_endoftimeinterval(reftime+timedelta_new(sec=this%p1)) 942 CALL grib_set(gaid, 'typeOfStatisticalProcessing',this%timerange) 944 CALL grib_set(gaid, 'typeOfTimeIncrement',2) 945 CALL timerange_v7d_to_g2(this%p2,p2,unit) 946 CALL grib_set(gaid, 'indicatorOfUnitForTimeRange',unit) 947 CALL grib_set(gaid, 'lengthOfTimeRange',p2) 949 ELSE IF (this%p1 == 0) THEN 951 CALL timerange_v7d_to_g2(this%p2,p2,unit) 952 CALL grib_set(gaid, 'indicatorOfUnitOfTimeRange',unit) 953 CALL grib_set(gaid, 'forecastTime',0) 954 CALL code_endoftimeinterval(reftime) 957 CALL grib_set(gaid, 'typeOfStatisticalProcessing',this%timerange)
|