27 public file_tiledata_get_data
29 interface file_tiledata_get_data
32 end interface file_tiledata_get_data
52 TILE_DLAT, TILE_DLON, &
53 DOMAIN_LATS, DOMAIN_LATE, DOMAIN_LONS, DOMAIN_LONE, &
57 TILE_fname, TILE_hit, &
58 TILE_JS, TILE_JE, TILE_IS, TILE_IE, &
59 nLATH, nLONH, jsh, jeh, ish, ieh, &
60 single_fname, LATS, LATE, LONS, LONE )
63 integer,
intent(in) :: TILE_nlim
64 real(RP),
intent(in) :: TILE_DLAT, TILE_DLON
65 real(RP),
intent(in) :: DOMAIN_LATS, DOMAIN_LATE, DOMAIN_LONS, DOMAIN_LONE
66 character(len=*),
intent(in) :: catalog_fname
67 integer,
intent(out) :: GLOBAL_IA
68 integer,
intent(out) :: TILE_nmax
69 logical,
intent(out) :: TILE_hit(:)
70 character(len=*),
intent(out) :: TILE_fname(:)
71 integer,
intent(out) :: TILE_JS(:), TILE_JE(:), TILE_IS(:), TILE_IE(:)
72 integer,
intent(out) :: nLATH, nLONH
73 integer,
intent(out) :: jsh, jeh, ish, ieh
75 character(len=*),
intent(in),
optional :: single_fname
76 real(RP),
intent(in),
optional :: LATS
77 real(RP),
intent(in),
optional :: LATE
78 real(RP),
intent(in),
optional :: LONS
79 real(RP),
intent(in),
optional :: LONE
81 real(RP) :: TILE_LATS(tile_nlim), TILE_LATE(tile_nlim)
82 real(RP) :: TILE_LONS(tile_nlim), TILE_LONE(tile_nlim)
84 integer :: DOMAIN_JS, DOMAIN_JE, DOMAIN_IS, DOMAIN_IE
87 domain_lats, domain_late, domain_lons, domain_lone, &
88 domain_js, domain_je, domain_is, domain_ie, &
92 if ( catalog_fname /=
"" )
then 93 log_info(
"FILE_TILEDATA_get_info",*)
'Input catalogue file:', trim(catalog_fname)
97 tile_dlat, tile_dlon, &
98 domain_is, global_ia, &
101 tile_lats(:), tile_late(:), &
102 tile_lons(:), tile_lone(:) )
105 if ( .not.
present(single_fname) )
then 106 log_error(
"FILE_TILEDATA_get_info",*)
"single_fname is required if catalog_fname is empty" 109 if ( .not.
present(lats) )
then 110 log_error(
"FILE_TILEDATA_get_info",*)
"LATS is required if catalog_fname is empty" 113 if ( .not.
present(late) )
then 114 log_error(
"FILE_TILEDATA_get_info",*)
"LATE is required if catalog_fname is empty" 117 if ( .not.
present(lons) )
then 118 log_error(
"FILE_TILEDATA_get_info",*)
"LONS is required if catalog_fname is empty" 121 if ( .not.
present(lone) )
then 122 log_error(
"FILE_TILEDATA_get_info",*)
"LONE is required if catalog_fname is empty" 127 tile_fname(1) = single_fname
135 domain_js, domain_je, &
136 domain_is, domain_ie, &
138 tile_dlat, tile_dlon, &
139 tile_lats(:), tile_late(:), &
140 tile_lons(:), tile_lone(:), &
142 tile_js(:), tile_je(:), &
143 tile_is(:), tile_ie(:), &
144 jsh, jeh, ish, ieh, &
157 TILE_DLAT, TILE_DLON, &
158 TILE_fname, TILE_hit, &
161 jsh, jeh, ish, ieh, &
172 integer,
intent(in) :: nLATH
173 integer,
intent(in) :: nLONH
174 character(len=*),
intent(in) :: dirname
175 integer,
intent(in) :: GLOBAL_IA
176 integer,
intent(in) :: TILE_nmax
177 real(RP),
intent(in) :: TILE_DLAT
178 real(RP),
intent(in) :: TILE_DLON
179 character(len=*),
intent(in) :: TILE_fname(:)
180 logical,
intent(in) :: TILE_hit(:)
181 integer,
intent(in) :: TILE_JS(:)
182 integer,
intent(in) :: TILE_JE(:)
183 integer,
intent(in) :: TILE_IS(:)
184 integer,
intent(in) :: TILE_IE(:)
185 integer,
intent(in) :: jsh
186 integer,
intent(in) :: jeh
187 integer,
intent(in) :: ish
188 integer,
intent(in) :: ieh
189 character(len=*),
intent(in) :: data_type
190 real(RP),
intent(out) :: DATA(nlonh,nlath)
191 real(RP),
intent(out) :: LATH(nlonh,nlath)
192 real(RP),
intent(out) :: LONH(nlonh,nlath)
193 real(RP),
intent(in),
optional :: min_value
194 logical,
intent(in),
optional :: yrevers
203 integer,
intent(in) :: jsize
204 integer,
intent(in) :: isize
205 character(len=*),
intent(in) :: fname
206 real(RP),
intent(out) :: TILE_DATA(isize,jsize)
207 logical,
intent(in),
optional :: yrevers
211 procedure(rd),
pointer :: read_data
213 real(RP) :: min_value_
215 character(len=H_LONG) :: fname
216 real(RP),
allocatable :: TILE_DATA(:,:)
217 integer :: jsize, isize
218 integer :: i, j, ii, jj, t
220 if (
present(min_value) )
then 221 min_value_ = min_value
223 min_value_ = - abs(undef)
226 select case( data_type )
227 case (
"int2",
"INT2" )
229 case (
"int4",
"INT4" )
231 case (
"real4",
"REAL4" )
233 case (
"real8",
"REAL8" )
236 log_error(
"FILE_TILEDATA_get_data_real",*)
'data_type is invalid: ', trim(data_type)
251 if ( .not. tile_hit(t) ) cycle
253 fname = trim(dirname) //
'/' // trim(tile_fname(t))
256 log_info(
"FILE_TILEDATA_get_data_real",*)
'Input data file :', trim(fname)
257 log_info_cont(*)
'Tile (LAT) :', tile_js(t)*tile_dlat/d2r, (tile_je(t)+1)*tile_dlat/d2r
258 log_info_cont(*)
' (LON) :', tile_is(t)*tile_dlon/d2r, (tile_ie(t)+1)*tile_dlon/d2r
260 isize = tile_ie(t) - tile_is(t) + 1
261 jsize = tile_je(t) - tile_js(t) + 1
263 allocate( tile_data(isize,jsize) )
265 call read_data( jsize, isize, &
273 j = tile_js(t) + jj - 1
274 if ( jsh <= j .and. j <= jeh )
then 276 i = tile_is(t) + ii - 1
277 if ( ish <= i .and. i <= ieh )
then 278 if ( tile_data(ii,jj) < min_value_ )
then 279 DATA(i-ish+1,j-jsh+1) = undef
281 DATA(i-ish+1,j-jsh+1) = tile_data(ii,jj)
283 lath(i-ish+1,j-jsh+1) = tile_dlat * ( tile_js(t) + jj - 1 + 0.5_rp )
284 lonh(i-ish+1,j-jsh+1) = tile_dlon * ( tile_is(t) + ii - 1 + 0.5_rp )
287 if ( ish <= i .and. i <= ieh )
then 288 if ( tile_data(ii,jj) < min_value_ )
then 289 DATA(i-ish+1,j-jsh+1) = undef
291 DATA(i-ish+1,j-jsh+1) = tile_data(ii,jj)
293 lath(i-ish+1,j-jsh+1) = tile_dlat * ( tile_js(t) + jj - 1 + 0.5_rp )
294 lonh(i-ish+1,j-jsh+1) = tile_dlon * ( tile_is(t) + ii - 1 + 0.5_rp ) - 2.0 * pi
300 deallocate( tile_data )
312 TILE_DLAT, TILE_DLON, &
313 TILE_fname, TILE_hit, &
316 jsh, jeh, ish, ieh, &
327 integer,
intent(in) :: nLATH
328 integer,
intent(in) :: nLONH
329 character(len=*),
intent(in) :: dirname
330 integer,
intent(in) :: GLOBAL_IA
331 integer,
intent(in) :: TILE_nmax
332 real(RP),
intent(in) :: TILE_DLAT
333 real(RP),
intent(in) :: TILE_DLON
334 character(len=*),
intent(in) :: TILE_fname(:)
335 logical,
intent(in) :: TILE_hit(:)
336 integer,
intent(in) :: TILE_JS(:)
337 integer,
intent(in) :: TILE_JE(:)
338 integer,
intent(in) :: TILE_IS(:)
339 integer,
intent(in) :: TILE_IE(:)
340 integer,
intent(in) :: jsh
341 integer,
intent(in) :: jeh
342 integer,
intent(in) :: ish
343 integer,
intent(in) :: ieh
344 character(len=*),
intent(in) :: data_type
345 integer,
intent(out) :: DATA(nlonh,nlath)
346 real(RP),
intent(out) :: LATH(nlonh,nlath)
347 real(RP),
intent(out) :: LONH(nlonh,nlath)
349 integer,
intent(in),
optional :: min_value
350 logical,
intent(in),
optional :: yrevers
359 integer,
intent(in) :: jsize
360 integer,
intent(in) :: isize
361 character(len=*),
intent(in) :: fname
362 integer,
intent(out) :: TILE_DATA(isize,jsize)
363 logical,
intent(in),
optional :: yrevers
367 integer :: min_value_
369 procedure(rd),
pointer :: read_data
371 character(len=H_LONG) :: fname
372 integer,
allocatable :: TILE_DATA(:,:)
373 integer :: jsize, isize
374 integer :: i, j, ii, jj, t
376 if (
present(min_value) )
then 377 min_value_ = min_value
379 min_value_ = - abs(undef2)
382 select case( data_type )
383 case (
"int1",
"INT1" )
385 case (
"int2",
"INT2" )
387 case (
"int4",
"INT4" )
389 case (
"real4",
"REAL4" )
392 log_error(
"FILE_TILEDATA_get_data_int1",*)
'data_type is invalid: ', trim(data_type)
405 if ( .not. tile_hit(t) ) cycle
407 fname = trim(dirname) //
'/' // trim(tile_fname(t))
410 log_info(
"FILE_TILEDATA_get_data_int1",*)
'Input data file :', trim(fname)
411 log_info_cont(*)
'Tile (LAT) :', tile_js(t)*tile_dlat/d2r, (tile_je(t)+1)*tile_dlat/d2r
412 log_info_cont(*)
' (LON) :', tile_is(t)*tile_dlon/d2r, (tile_ie(t)+1)*tile_dlon/d2r
414 isize = tile_ie(t) - tile_is(t) + 1
415 jsize = tile_je(t) - tile_js(t) + 1
417 allocate( tile_data(isize,jsize) )
419 call read_data( jsize, isize, &
428 i = tile_is(t) + ii - 1
429 j = tile_js(t) + jj - 1
430 if ( jsh <= j .and. j <= jeh )
then 431 if ( ish <= i .and. i <= ieh )
then 432 if ( tile_data(ii,jj) < min_value_ )
then 433 DATA(i-ish+1,j-jsh+1) = undef2
435 DATA(i-ish+1,j-jsh+1) = tile_data(ii,jj)
437 lath(i-ish+1,j-jsh+1) = tile_dlat * ( tile_js(t) + jj - 1 + 0.5_rp )
438 lonh(i-ish+1,j-jsh+1) = tile_dlon * ( tile_is(t) + ii - 1 + 0.5_rp )
441 if ( ish <= i .and. i <= ieh )
then 442 if ( tile_data(ii,jj) < min_value_ )
then 443 DATA(i-ish+1,j-jsh+1) = undef2
445 DATA(i-ish+1,j-jsh+1) = tile_data(ii,jj)
447 lath(i-ish+1,j-jsh+1) = tile_dlat * ( tile_js(t) + jj - 1 + 0.5_rp )
448 lonh(i-ish+1,j-jsh+1) = tile_dlon * ( tile_is(t) + ii - 1 + 0.5_rp ) - 2.0 * pi
454 deallocate( tile_data )
470 TILE_DLAT, TILE_DLON, &
471 DOMAIN_IS, GLOBAL_IA, &
474 TILE_LATS, TILE_LATE, &
475 TILE_LONS, TILE_LONE )
480 integer,
intent(in) :: TILE_nlim
481 character(len=*),
intent(in) :: fname
482 real(RP),
intent(in) :: TILE_DLAT
483 real(RP),
intent(in) :: TILE_DLON
484 integer,
intent(in) :: DOMAIN_IS
485 integer,
intent(in) :: GLOBAL_IA
486 integer,
intent(out) :: TILE_nmax
487 character(len=*),
intent(out) :: TILE_fname(:)
488 real(RP),
intent(out) :: TILE_LATS(:)
489 real(RP),
intent(out) :: TILE_LATE(:)
490 real(RP),
intent(out) :: TILE_LONS(:)
491 real(RP),
intent(out) :: TILE_LONE(:)
500 form =
'formatted', &
504 if ( ierr /= 0 )
then 505 log_error(
"FILE_TILEDATA_read_catalog_file",*)
'catalogue file not found! ', trim(fname)
510 read(fid,*,iostat=ierr) index, tile_lats(t), tile_late(t), &
511 tile_lons(t), tile_lone(t), &
514 if ( ierr /= 0 )
exit 516 tile_lats(t) = tile_lats(t) * d2r
517 tile_late(t) = tile_late(t) * d2r
519 if ( tile_lons(t) > tile_lone(t) ) tile_lone(t) = tile_lone(t) + 360.0_rp
520 tile_lons(t) = tile_lons(t) * d2r
521 tile_lone(t) = tile_lone(t) * d2r
532 TILE_DLAT, TILE_DLON, &
533 DOMAIN_LATS, DOMAIN_LATE, DOMAIN_LONS, DOMAIN_LONE, &
534 DOMAIN_JS, DOMAIN_JE, DOMAIN_IS, DOMAIN_IE, &
538 real(RP),
intent(in) :: TILE_DLAT
539 real(RP),
intent(in) :: TILE_DLON
540 real(RP),
intent(in) :: DOMAIN_LATS
541 real(RP),
intent(in) :: DOMAIN_LATE
542 real(RP),
intent(in) :: DOMAIN_LONS
543 real(RP),
intent(in) :: DOMAIN_LONE
544 integer,
intent(out) :: DOMAIN_JS
545 integer,
intent(out) :: DOMAIN_JE
546 integer,
intent(out) :: DOMAIN_IS
547 integer,
intent(out) :: DOMAIN_IE
548 integer,
intent(out) :: GLOBAL_IA
550 domain_js = floor( domain_lats / tile_dlat )
551 domain_je = ceiling( domain_late / tile_dlat )
552 domain_is = floor( domain_lons / tile_dlon )
553 domain_ie = ceiling( domain_lone / tile_dlon )
555 global_ia = nint( 2.0_rp * pi / tile_dlon )
562 DOMAIN_JS, DOMAIN_JE, &
563 DOMAIN_IS, DOMAIN_IE, &
565 TILE_DLAT, TILE_DLON, &
566 TILE_LATS, TILE_LATE, &
567 TILE_LONS, TILE_LONE, &
571 jsh, jeh, ish, ieh, &
575 integer,
intent(in) :: TILE_nmax
576 integer,
intent(in) :: DOMAIN_JS, DOMAIN_JE, DOMAIN_IS, DOMAIN_IE
577 integer,
intent(in) :: GLOBAL_IA
578 real(RP),
intent(in) :: TILE_DLAT, TILE_DLON
579 real(RP),
intent(in) :: TILE_LATS(:), TILE_LATE(:), TILE_LONS(:), TILE_LONE(:)
580 logical,
intent(out) :: TILE_hit(:)
581 integer,
intent(out) :: TILE_JS(:), TILE_JE(:), TILE_IS(:), TILE_IE(:)
582 integer,
intent(out) :: jsh, jeh, ish, ieh
583 integer,
intent(out) :: nLATH, nLONH
585 logical :: hit_lat, hit_lon
591 jsh = max( domain_js - nhalo, -floor( 0.5_rp * pi / tile_dlat ) )
592 jeh = min( domain_je + nhalo, floor( 0.5_rp * pi / tile_dlat ) )
593 ish = domain_is - nhalo
594 ieh = domain_ie + nhalo
596 nlonh = ieh - ish + 1
597 nlath = jeh - jsh + 1
604 tile_js(t) = nint( tile_lats(t) / tile_dlat )
605 tile_je(t) = nint( tile_late(t) / tile_dlat ) - 1
607 tile_is(t) = nint( tile_lons(t) / tile_dlon )
608 tile_ie(t) = nint( tile_lone(t) / tile_dlon ) - 1
610 do while ( tile_ie(t) < domain_is )
611 tile_is(t) = tile_is(t) + global_ia
612 tile_ie(t) = tile_ie(t) + global_ia
614 do while ( tile_is(t) - domain_is >= global_ia )
615 tile_is(t) = tile_is(t) - global_ia
616 tile_ie(t) = tile_ie(t) - global_ia
619 if ( ( jsh <= tile_js(t) .AND. tile_js(t) <= jeh ) &
620 .OR. ( jsh <= tile_je(t) .AND. tile_je(t) <= jeh ) &
621 .OR. ( tile_js(t) <= jsh .AND. jsh <= tile_je(t) ) &
622 .OR. ( tile_js(t) <= jeh .AND. jeh <= tile_je(t) ) )
then 628 if ( ( tile_is(t) <= ieh ) &
629 .OR. ( ish <= tile_ie(t) - global_ia ) )
then 635 tile_hit(t) = ( hit_lat .AND. hit_lon )
648 integer,
intent(in) :: jsize
649 integer,
intent(in) :: isize
650 character(len=*),
intent(in) :: fname
651 real(RP),
intent(out) :: TILE_DATA(isize,jsize)
653 logical,
intent(in),
optional :: yrevers
655 integer(2) :: buf(isize,jsize)
661 if (
present(yrevers) )
then 670 form =
'unformatted', &
673 recl = isize*jsize*2, &
676 if ( ierr /= 0 )
then 677 log_error(
"FILE_TILEDATA_read_data_int2_real",*)
'data file not found!: ', trim(fname)
681 read(fid,rec=1) buf(:,:)
689 tile_data(i,j) = buf(i,jsize-j+1)
697 tile_data(i,j) = buf(i,j)
712 integer,
intent(in) :: jsize
713 integer,
intent(in) :: isize
714 character(len=*),
intent(in) :: fname
715 real(RP),
intent(out) :: TILE_DATA(isize,jsize)
717 logical,
intent(in),
optional :: yrevers
719 integer(4) :: buf(isize,jsize)
725 if (
present(yrevers) )
then 734 form =
'unformatted', &
737 recl = isize*jsize*4, &
740 if ( ierr /= 0 )
then 741 log_error(
"FILE_TILEDATA_read_data_int4_real",*)
'data file not found!: ', trim(fname)
745 read(fid,rec=1) buf(:,:)
753 tile_data(i,j) = buf(i,jsize-j+1)
761 tile_data(i,j) = buf(i,j)
776 integer,
intent(in) :: jsize
777 integer,
intent(in) :: isize
778 character(len=*),
intent(in) :: fname
779 real(RP),
intent(out) :: TILE_DATA(isize,jsize)
781 logical,
intent(in),
optional :: yrevers
783 real(4) :: buf(isize,jsize)
789 if (
present(yrevers) )
then 798 form =
'unformatted', &
801 recl = isize*jsize*4, &
804 if ( ierr /= 0 )
then 805 log_error(
"FILE_TILEDATA_read_data_real4_real",*)
'data file not found!: ', trim(fname)
809 read(fid,rec=1) buf(:,:)
817 tile_data(i,j) = buf(i,jsize-j+1)
825 tile_data(i,j) = buf(i,j)
840 integer,
intent(in) :: jsize
841 integer,
intent(in) :: isize
842 character(len=*),
intent(in) :: fname
843 real(RP),
intent(out) :: TILE_DATA(isize,jsize)
845 logical,
intent(in),
optional :: yrevers
847 real(8) :: buf(isize,jsize)
853 if (
present(yrevers) )
then 862 form =
'unformatted', &
865 recl = isize*jsize*8, &
868 if ( ierr /= 0 )
then 869 log_error(
"FILE_TILEDATA_read_data_real8_real",*)
'data file not found!: ', trim(fname)
873 read(fid,rec=1) buf(:,:)
881 tile_data(i,j) = buf(i,jsize-j+1)
889 tile_data(i,j) = buf(i,j)
904 integer,
intent(in) :: jsize
905 integer,
intent(in) :: isize
906 character(len=*),
intent(in) :: fname
907 integer,
intent(out) :: TILE_DATA(isize,jsize)
909 logical,
intent(in),
optional :: yrevers
911 integer(1) :: buf(isize,jsize)
917 if (
present(yrevers) )
then 926 form =
'unformatted', &
929 recl = isize*jsize*1, &
932 if ( ierr /= 0 )
then 933 log_error(
"FILE_TILEDATA_read_data_int1_int",*)
'data file not found!: ', trim(fname)
937 read(fid,rec=1) buf(:,:)
945 tile_data(i,j) = buf(i,jsize-j+1)
953 tile_data(i,j) = buf(i,j)
968 integer,
intent(in) :: jsize
969 integer,
intent(in) :: isize
970 character(len=*),
intent(in) :: fname
971 integer,
intent(out) :: TILE_DATA(isize,jsize)
973 logical,
intent(in),
optional :: yrevers
975 integer(2) :: buf(isize,jsize)
981 if (
present(yrevers) )
then 990 form =
'unformatted', &
993 recl = isize*jsize*2, &
996 if ( ierr /= 0 )
then 997 log_error(
"FILE_TILEDATA_read_data_int2_int",*)
'data file not found!: ', trim(fname)
1001 read(fid,rec=1) buf(:,:)
1004 if ( yrevers_ )
then 1009 tile_data(i,j) = buf(i,jsize-j+1)
1017 tile_data(i,j) = buf(i,j)
1032 integer,
intent(in) :: jsize
1033 integer,
intent(in) :: isize
1034 character(len=*),
intent(in) :: fname
1035 integer,
intent(out) :: TILE_DATA(isize,jsize)
1037 logical,
intent(in),
optional :: yrevers
1039 integer(4) :: buf(isize,jsize)
1041 integer :: fid, ierr
1045 if (
present(yrevers) )
then 1054 form =
'unformatted', &
1055 access =
'direct', &
1057 recl = isize*jsize*4, &
1060 if ( ierr /= 0 )
then 1061 log_error(
"FILE_TILEDATA_read_data_int4_int",*)
'data file not found!: ', trim(fname)
1065 read(fid,rec=1) buf(:,:)
1068 if ( yrevers_ )
then 1073 tile_data(i,j) = buf(i,jsize-j+1)
1081 tile_data(i,j) = buf(i,j)
1096 integer,
intent(in) :: jsize
1097 integer,
intent(in) :: isize
1098 character(len=*),
intent(in) :: fname
1099 integer,
intent(out) :: TILE_DATA(isize,jsize)
1101 logical,
intent(in),
optional :: yrevers
1103 real(4) :: buf(isize,jsize)
1105 integer :: fid, ierr
1109 if (
present(yrevers) )
then 1118 form =
'unformatted', &
1119 access =
'direct', &
1121 recl = isize*jsize*4, &
1124 if ( ierr /= 0 )
then 1125 log_error(
"FILE_TILEDATA_read_data_real4_int",*)
'data file not found!: ', trim(fname)
1129 read(fid,rec=1) buf(:,:)
1132 if ( yrevers_ )
then 1137 tile_data(i,j) = buf(i,jsize-j+1)
1145 tile_data(i,j) = buf(i,j)
subroutine file_tiledata_get_data_int1(nLATH, nLONH, dirname, GLOBAL_IA, TILE_nmax, TILE_DLAT, TILE_DLON, TILE_fname, TILE_hit, TILE_JS, TILE_JE, TILE_IS, TILE_IE, jsh, jeh, ish, ieh, data_type, DATA, LATH, LONH, min_value, yrevers)
subroutine file_tiledata_get_tile_info(TILE_nmax, DOMAIN_JS, DOMAIN_JE, DOMAIN_IS, DOMAIN_IE, GLOBAL_IA, TILE_DLAT, TILE_DLON, TILE_LATS, TILE_LATE, TILE_LONS, TILE_LONE, TILE_hit, TILE_JS, TILE_JE, TILE_IS, TILE_IE, jsh, jeh, ish, ieh, nLATH, nLONH)
real(rp), public const_d2r
degree to radian
subroutine file_tiledata_read_data_real4_real(jsize, isize, fname, TILE_DATA, yrevers)
real(rp), public const_undef
subroutine file_tiledata_get_data_real(nLATH, nLONH, dirname, GLOBAL_IA, TILE_nmax, TILE_DLAT, TILE_DLON, TILE_fname, TILE_hit, TILE_JS, TILE_JE, TILE_IS, TILE_IE, jsh, jeh, ish, ieh, data_type, DATA, LATH, LONH, min_value, yrevers)
get tile data
subroutine file_tiledata_read_data_real4_int(jsize, isize, fname, TILE_DATA, yrevers)
subroutine file_tiledata_read_data_int4_real(jsize, isize, fname, TILE_DATA, yrevers)
integer function, public io_get_available_fid()
search & get available file ID
subroutine file_tiledata_read_data_int2_int(jsize, isize, fname, TILE_DATA, yrevers)
integer, parameter, public const_undef2
undefined value (INT2)
subroutine, public prc_abort
Abort Process.
subroutine file_tiledata_get_domain_info(TILE_DLAT, TILE_DLON, DOMAIN_LATS, DOMAIN_LATE, DOMAIN_LONS, DOMAIN_LONE, DOMAIN_JS, DOMAIN_JE, DOMAIN_IS, DOMAIN_IE, GLOBAL_IA)
subroutine file_tiledata_read_data_int4_int(jsize, isize, fname, TILE_DATA, yrevers)
subroutine file_tiledata_read_data_int1_int(jsize, isize, fname, TILE_DATA, yrevers)
subroutine, public file_tiledata_get_info(TILE_nlim, TILE_DLAT, TILE_DLON, DOMAIN_LATS, DOMAIN_LATE, DOMAIN_LONS, DOMAIN_LONE, catalog_fname, GLOBAL_IA, TILE_nmax, TILE_fname, TILE_hit, TILE_JS, TILE_JE, TILE_IS, TILE_IE, nLATH, nLONH, jsh, jeh, ish, ieh, single_fname, LATS, LATE, LONS, LONE)
get tile information
real(rp), public const_pi
pi
subroutine file_tiledata_read_catalog_file(TILE_nlim, fname, TILE_DLAT, TILE_DLON, DOMAIN_IS, GLOBAL_IA, TILE_nmax, TILE_fname, TILE_LATS, TILE_LATE, TILE_LONS, TILE_LONE)
read category file
subroutine file_tiledata_read_data_int2_real(jsize, isize, fname, TILE_DATA, yrevers)
subroutine file_tiledata_read_data_real8_real(jsize, isize, fname, TILE_DATA, yrevers)