2 ! This is a template for adding a package-dependent implemetnation of
3 ! the I/O API. You can use the name xxx since that is already set up
4 ! as a placeholder in module_io.F, md_calls.m4, and the Registry, or
5 ! you can change the name here and in those other places. For additional
6 ! information on adding a package to WRF, see the latest version of the
7 ! WRF Design and Implementation Document 1.1 (Draft). June 21, 2001
11 SUBROUTINE ext_xxx_ioinit( SysDepInfo,Status )
13 CHARACTER (LEN=80), INTENT(IN) :: SysDepInfo
14 INTEGER, INTENT(INOUT) :: Status
16 END SUBROUTINE ext_xxx_ioinit
18 SUBROUTINE ext_xxx_inquiry( Inquiry, Result,Status )
20 CHARACTER *(*), INTENT(IN) :: Inquiry
21 CHARACTER *(*), INTENT(OUT) :: Result
22 INTEGER, INTENT(INOUT) :: Status
24 END SUBROUTINE ext_xxx_inquiry
27 SUBROUTINE ext_xxx_ioexit( Status )
29 INTEGER, INTENT(INOUT) :: Status
33 !--- open_for_write_begin
34 SUBROUTINE ext_xxx_open_for_write_begin( FileName , Comm_compute, Comm_io, SysDepInfo, &
37 CHARACTER *(*), INTENT(IN) :: FileName
38 INTEGER , INTENT(IN) :: Comm_compute , Comm_io
39 CHARACTER *(*), INTENT(IN) :: SysDepInfo
40 INTEGER , INTENT(OUT) :: DataHandle
41 INTEGER , INTENT(OUT) :: Status
43 END SUBROUTINE ext_xxx_open_for_write_begin
45 !--- open_for_write_commit
46 SUBROUTINE ext_xxx_open_for_write_commit( DataHandle , Status )
48 INTEGER , INTENT(IN ) :: DataHandle
49 INTEGER , INTENT(OUT) :: Status
51 END SUBROUTINE ext_xxx_open_for_write_commit
54 SUBROUTINE ext_xxx_open_for_read ( FileName , Comm_compute, Comm_io, SysDepInfo, &
57 CHARACTER *(*), INTENT(IN) :: FileName
58 INTEGER , INTENT(IN) :: Comm_compute , Comm_io
59 CHARACTER *(*), INTENT(IN) :: SysDepInfo
60 INTEGER , INTENT(OUT) :: DataHandle
61 INTEGER , INTENT(OUT) :: Status
63 END SUBROUTINE ext_xxx_open_for_read
66 SUBROUTINE ext_xxx_inquire_opened ( DataHandle, FileName , FileStatus, Status )
68 INTEGER , INTENT(IN) :: DataHandle
69 CHARACTER *(*), INTENT(IN) :: FileName
70 INTEGER , INTENT(OUT) :: FileStatus
71 INTEGER , INTENT(OUT) :: Status
73 END SUBROUTINE ext_xxx_inquire_opened
76 SUBROUTINE ext_xxx_inquire_filename ( DataHandle, FileName , FileStatus, Status )
78 INTEGER , INTENT(IN) :: DataHandle
79 CHARACTER *(*), INTENT(OUT) :: FileName
80 INTEGER , INTENT(OUT) :: FileStatus
81 INTEGER , INTENT(OUT) :: Status
82 END SUBROUTINE ext_xxx_inquire_filename
85 SUBROUTINE ext_xxx_iosync ( DataHandle, Status )
87 INTEGER , INTENT(IN) :: DataHandle
88 INTEGER , INTENT(OUT) :: Status
90 END SUBROUTINE ext_xxx_iosync
93 SUBROUTINE ext_xxx_ioclose ( DataHandle, Status )
95 INTEGER , INTENT(IN) :: DataHandle
96 INTEGER , INTENT(OUT) :: Status
98 END SUBROUTINE ext_xxx_ioclose
100 !--- get_next_time (not defined for IntIO )
101 SUBROUTINE ext_xxx_get_next_time ( DataHandle, DateStr, Status )
103 INTEGER , INTENT(IN) :: DataHandle
104 CHARACTER*(*) , INTENT(OUT) :: DateStr
105 INTEGER , INTENT(OUT) :: Status
107 END SUBROUTINE ext_xxx_get_next_time
110 SUBROUTINE ext_xxx_set_time ( DataHandle, DateStr, Status )
112 INTEGER , INTENT(IN) :: DataHandle
113 CHARACTER*(*) , INTENT(IN) :: DateStr
114 INTEGER , INTENT(OUT) :: Status
116 END SUBROUTINE ext_xxx_set_time
118 !--- get_next_var (not defined for IntIO)
119 SUBROUTINE ext_xxx_get_next_var ( DataHandle, VarName, Status )
121 INTEGER , INTENT(IN) :: DataHandle
122 CHARACTER*(*) , INTENT(OUT) :: VarName
123 INTEGER , INTENT(OUT) :: Status
125 END SUBROUTINE ext_xxx_get_next_var
128 SUBROUTINE ext_xxx_get_dom_ti_real ( DataHandle,Element, Data, Count, Outcount, Status )
130 INTEGER , INTENT(IN) :: DataHandle
131 CHARACTER*(*) , INTENT(IN) :: Element
133 END SUBROUTINE ext_xxx_get_dom_ti_real
136 SUBROUTINE ext_xxx_put_dom_ti_real ( DataHandle,Element, Data, Count, Status )
138 INTEGER , INTENT(IN) :: DataHandle
139 CHARACTER*(*) , INTENT(IN) :: Element
140 real , INTENT(IN) :: Data(*)
141 INTEGER , INTENT(IN) :: Count
142 INTEGER , INTENT(OUT) :: Status
144 END SUBROUTINE ext_xxx_put_dom_ti_real
146 !--- get_dom_ti_double
147 SUBROUTINE ext_xxx_get_dom_ti_double ( DataHandle,Element, Data, Count, Outcount, Status )
149 INTEGER , INTENT(IN) :: DataHandle
150 CHARACTER*(*) , INTENT(IN) :: Element
151 real*8 , INTENT(OUT) :: Data(*)
152 INTEGER , INTENT(IN) :: Count
153 INTEGER , INTENT(OUT) :: OutCount
154 INTEGER , INTENT(OUT) :: Status
156 END SUBROUTINE ext_xxx_get_dom_ti_double
158 !--- put_dom_ti_double
159 SUBROUTINE ext_xxx_put_dom_ti_double ( DataHandle,Element, Data, Count, Status )
161 INTEGER , INTENT(IN) :: DataHandle
162 CHARACTER*(*) , INTENT(IN) :: Element
163 real*8 , INTENT(IN) :: Data(*)
164 INTEGER , INTENT(IN) :: Count
165 INTEGER , INTENT(OUT) :: Status
167 END SUBROUTINE ext_xxx_put_dom_ti_double
169 !--- get_dom_ti_integer
170 SUBROUTINE ext_xxx_get_dom_ti_integer ( DataHandle,Element, Data, Count, Outcount, Status )
172 INTEGER , INTENT(IN) :: DataHandle
173 CHARACTER*(*) , INTENT(IN) :: Element
174 integer , INTENT(OUT) :: Data(*)
175 INTEGER , INTENT(IN) :: Count
176 INTEGER , INTENT(OUT) :: OutCount
177 INTEGER , INTENT(OUT) :: Status
179 END SUBROUTINE ext_xxx_get_dom_ti_integer
181 !--- put_dom_ti_integer
182 SUBROUTINE ext_xxx_put_dom_ti_integer ( DataHandle,Element, Data, Count, Status )
184 INTEGER , INTENT(IN) :: DataHandle
185 CHARACTER*(*) , INTENT(IN) :: Element
186 integer , INTENT(IN) :: Data(*)
187 INTEGER , INTENT(IN) :: Count
188 INTEGER , INTENT(OUT) :: Status
190 END SUBROUTINE ext_xxx_put_dom_ti_integer
192 !--- get_dom_ti_logical
193 SUBROUTINE ext_xxx_get_dom_ti_logical ( DataHandle,Element, Data, Count, Outcount, Status )
195 INTEGER , INTENT(IN) :: DataHandle
196 CHARACTER*(*) , INTENT(IN) :: Element
197 logical , INTENT(OUT) :: Data(*)
198 INTEGER , INTENT(IN) :: Count
199 INTEGER , INTENT(OUT) :: OutCount
200 INTEGER , INTENT(OUT) :: Status
202 END SUBROUTINE ext_xxx_get_dom_ti_logical
204 !--- put_dom_ti_logical
205 SUBROUTINE ext_xxx_put_dom_ti_logical ( DataHandle,Element, Data, Count, Status )
207 INTEGER , INTENT(IN) :: DataHandle
208 CHARACTER*(*) , INTENT(IN) :: Element
209 logical , INTENT(IN) :: Data(*)
210 INTEGER , INTENT(IN) :: Count
211 INTEGER , INTENT(OUT) :: Status
213 END SUBROUTINE ext_xxx_put_dom_ti_logical
216 SUBROUTINE ext_xxx_get_dom_ti_char ( DataHandle,Element, Data, Status )
218 INTEGER , INTENT(IN) :: DataHandle
219 CHARACTER*(*) , INTENT(IN) :: Element
220 CHARACTER*(*) , INTENT(OUT) :: Data
221 INTEGER , INTENT(OUT) :: Status
223 END SUBROUTINE ext_xxx_get_dom_ti_char
226 SUBROUTINE ext_xxx_put_dom_ti_char ( DataHandle,Element, Data, Status )
228 INTEGER , INTENT(IN) :: DataHandle
229 CHARACTER*(*) , INTENT(IN) :: Element
230 CHARACTER*(*) , INTENT(IN) :: Data
231 INTEGER , INTENT(OUT) :: Status
233 END SUBROUTINE ext_xxx_put_dom_ti_char
236 SUBROUTINE ext_xxx_get_dom_td_real ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
238 INTEGER , INTENT(IN) :: DataHandle
239 CHARACTER*(*) , INTENT(IN) :: Element
240 CHARACTER*(*) , INTENT(IN) :: DateStr
241 real , INTENT(OUT) :: Data(*)
242 INTEGER , INTENT(IN) :: Count
243 INTEGER , INTENT(OUT) :: OutCount
244 INTEGER , INTENT(OUT) :: Status
246 END SUBROUTINE ext_xxx_get_dom_td_real
249 SUBROUTINE ext_xxx_put_dom_td_real ( DataHandle,Element, DateStr, Data, Count, Status )
251 INTEGER , INTENT(IN) :: DataHandle
252 CHARACTER*(*) , INTENT(IN) :: Element
253 CHARACTER*(*) , INTENT(IN) :: DateStr
254 real , INTENT(IN) :: Data(*)
255 INTEGER , INTENT(IN) :: Count
256 INTEGER , INTENT(OUT) :: Status
258 END SUBROUTINE ext_xxx_put_dom_td_real
260 !--- get_dom_td_double
261 SUBROUTINE ext_xxx_get_dom_td_double ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
263 INTEGER , INTENT(IN) :: DataHandle
264 CHARACTER*(*) , INTENT(IN) :: Element
265 CHARACTER*(*) , INTENT(IN) :: DateStr
266 real*8 , INTENT(OUT) :: Data(*)
267 INTEGER , INTENT(IN) :: Count
268 INTEGER , INTENT(OUT) :: OutCount
269 INTEGER , INTENT(OUT) :: Status
271 END SUBROUTINE ext_xxx_get_dom_td_double
273 !--- put_dom_td_double
274 SUBROUTINE ext_xxx_put_dom_td_double ( DataHandle,Element, DateStr, Data, Count, Status )
276 INTEGER , INTENT(IN) :: DataHandle
277 CHARACTER*(*) , INTENT(IN) :: Element
278 CHARACTER*(*) , INTENT(IN) :: DateStr
279 real*8 , INTENT(IN) :: Data(*)
280 INTEGER , INTENT(IN) :: Count
281 INTEGER , INTENT(OUT) :: Status
283 END SUBROUTINE ext_xxx_put_dom_td_double
285 !--- get_dom_td_integer
286 SUBROUTINE ext_xxx_get_dom_td_integer ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
288 INTEGER , INTENT(IN) :: DataHandle
289 CHARACTER*(*) , INTENT(IN) :: Element
290 CHARACTER*(*) , INTENT(IN) :: DateStr
291 integer , INTENT(OUT) :: Data(*)
292 INTEGER , INTENT(IN) :: Count
293 INTEGER , INTENT(OUT) :: OutCount
294 INTEGER , INTENT(OUT) :: Status
296 END SUBROUTINE ext_xxx_get_dom_td_integer
298 !--- put_dom_td_integer
299 SUBROUTINE ext_xxx_put_dom_td_integer ( DataHandle,Element, DateStr, Data, Count, Status )
301 INTEGER , INTENT(IN) :: DataHandle
302 CHARACTER*(*) , INTENT(IN) :: Element
303 CHARACTER*(*) , INTENT(IN) :: DateStr
304 integer , INTENT(IN) :: Data(*)
305 INTEGER , INTENT(IN) :: Count
306 INTEGER , INTENT(OUT) :: Status
308 END SUBROUTINE ext_xxx_put_dom_td_integer
310 !--- get_dom_td_logical
311 SUBROUTINE ext_xxx_get_dom_td_logical ( DataHandle,Element, DateStr, Data, Count, Outcount, Status )
313 INTEGER , INTENT(IN) :: DataHandle
314 CHARACTER*(*) , INTENT(IN) :: Element
315 CHARACTER*(*) , INTENT(IN) :: DateStr
316 logical , INTENT(OUT) :: Data(*)
317 INTEGER , INTENT(IN) :: Count
318 INTEGER , INTENT(OUT) :: OutCount
319 INTEGER , INTENT(OUT) :: Status
321 END SUBROUTINE ext_xxx_get_dom_td_logical
323 !--- put_dom_td_logical
324 SUBROUTINE ext_xxx_put_dom_td_logical ( DataHandle,Element, DateStr, Data, Count, Status )
326 INTEGER , INTENT(IN) :: DataHandle
327 CHARACTER*(*) , INTENT(IN) :: Element
328 CHARACTER*(*) , INTENT(IN) :: DateStr
329 logical , INTENT(IN) :: Data(*)
330 INTEGER , INTENT(IN) :: Count
331 INTEGER , INTENT(OUT) :: Status
333 END SUBROUTINE ext_xxx_put_dom_td_logical
336 SUBROUTINE ext_xxx_get_dom_td_char ( DataHandle,Element, DateStr, Data, Status )
338 INTEGER , INTENT(IN) :: DataHandle
339 CHARACTER*(*) , INTENT(IN) :: Element
340 CHARACTER*(*) , INTENT(IN) :: DateStr
341 CHARACTER*(*) , INTENT(OUT) :: Data
342 INTEGER , INTENT(OUT) :: Status
344 END SUBROUTINE ext_xxx_get_dom_td_char
347 SUBROUTINE ext_xxx_put_dom_td_char ( DataHandle,Element, DateStr, Data, Status )
349 INTEGER , INTENT(IN) :: DataHandle
350 CHARACTER*(*) , INTENT(IN) :: Element
351 CHARACTER*(*) , INTENT(IN) :: DateStr
352 CHARACTER*(*) , INTENT(IN) :: Data
353 INTEGER , INTENT(OUT) :: Status
355 END SUBROUTINE ext_xxx_put_dom_td_char
358 SUBROUTINE ext_xxx_get_var_ti_real ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
360 INTEGER , INTENT(IN) :: DataHandle
361 CHARACTER*(*) , INTENT(IN) :: Element
362 CHARACTER*(*) , INTENT(IN) :: VarName
363 real , INTENT(OUT) :: Data(*)
364 INTEGER , INTENT(IN) :: Count
365 INTEGER , INTENT(OUT) :: OutCount
366 INTEGER , INTENT(OUT) :: Status
368 END SUBROUTINE ext_xxx_get_var_ti_real
371 SUBROUTINE ext_xxx_put_var_ti_real ( DataHandle,Element, Varname, Data, Count, Status )
373 INTEGER , INTENT(IN) :: DataHandle
374 CHARACTER*(*) , INTENT(IN) :: Element
375 CHARACTER*(*) , INTENT(IN) :: VarName
376 real , INTENT(IN) :: Data(*)
377 INTEGER , INTENT(IN) :: Count
378 INTEGER , INTENT(OUT) :: Status
380 END SUBROUTINE ext_xxx_put_var_ti_real
382 !--- get_var_ti_double
383 SUBROUTINE ext_xxx_get_var_ti_double ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
385 INTEGER , INTENT(IN) :: DataHandle
386 CHARACTER*(*) , INTENT(IN) :: Element
387 CHARACTER*(*) , INTENT(IN) :: VarName
388 real*8 , INTENT(OUT) :: Data(*)
389 INTEGER , INTENT(IN) :: Count
390 INTEGER , INTENT(OUT) :: OutCount
391 INTEGER , INTENT(OUT) :: Status
393 END SUBROUTINE ext_xxx_get_var_ti_double
395 !--- put_var_ti_double
396 SUBROUTINE ext_xxx_put_var_ti_double ( DataHandle,Element, Varname, Data, Count, Status )
398 INTEGER , INTENT(IN) :: DataHandle
399 CHARACTER*(*) , INTENT(IN) :: Element
400 CHARACTER*(*) , INTENT(IN) :: VarName
401 real*8 , INTENT(IN) :: Data(*)
402 INTEGER , INTENT(IN) :: Count
403 INTEGER , INTENT(OUT) :: Status
405 END SUBROUTINE ext_xxx_put_var_ti_double
407 !--- get_var_ti_integer
408 SUBROUTINE ext_xxx_get_var_ti_integer ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
410 INTEGER , INTENT(IN) :: DataHandle
411 CHARACTER*(*) , INTENT(IN) :: Element
412 CHARACTER*(*) , INTENT(IN) :: VarName
413 integer , INTENT(OUT) :: Data(*)
414 INTEGER , INTENT(IN) :: Count
415 INTEGER , INTENT(OUT) :: OutCount
416 INTEGER , INTENT(OUT) :: Status
418 END SUBROUTINE ext_xxx_get_var_ti_integer
420 !--- put_var_ti_integer
421 SUBROUTINE ext_xxx_put_var_ti_integer ( DataHandle,Element, Varname, Data, Count, Status )
423 INTEGER , INTENT(IN) :: DataHandle
424 CHARACTER*(*) , INTENT(IN) :: Element
425 CHARACTER*(*) , INTENT(IN) :: VarName
426 integer , INTENT(IN) :: Data(*)
427 INTEGER , INTENT(IN) :: Count
428 INTEGER , INTENT(OUT) :: Status
430 END SUBROUTINE ext_xxx_put_var_ti_integer
432 !--- get_var_ti_logical
433 SUBROUTINE ext_xxx_get_var_ti_logical ( DataHandle,Element, Varname, Data, Count, Outcount, Status )
435 INTEGER , INTENT(IN) :: DataHandle
436 CHARACTER*(*) , INTENT(IN) :: Element
437 CHARACTER*(*) , INTENT(IN) :: VarName
438 logical , INTENT(OUT) :: Data(*)
439 INTEGER , INTENT(IN) :: Count
440 INTEGER , INTENT(OUT) :: OutCount
441 INTEGER , INTENT(OUT) :: Status
443 END SUBROUTINE ext_xxx_get_var_ti_logical
445 !--- put_var_ti_logical
446 SUBROUTINE ext_xxx_put_var_ti_logical ( DataHandle,Element, Varname, Data, Count, Status )
448 INTEGER , INTENT(IN) :: DataHandle
449 CHARACTER*(*) , INTENT(IN) :: Element
450 CHARACTER*(*) , INTENT(IN) :: VarName
451 logical , INTENT(IN) :: Data(*)
452 INTEGER , INTENT(IN) :: Count
453 INTEGER , INTENT(OUT) :: Status
455 END SUBROUTINE ext_xxx_put_var_ti_logical
458 SUBROUTINE ext_xxx_get_var_ti_char ( DataHandle,Element, Varname, Data, Status )
460 INTEGER , INTENT(IN) :: DataHandle
461 CHARACTER*(*) , INTENT(IN) :: Element
462 CHARACTER*(*) , INTENT(IN) :: VarName
463 CHARACTER*(*) , INTENT(OUT) :: Data
464 INTEGER , INTENT(OUT) :: Status
466 END SUBROUTINE ext_xxx_get_var_ti_char
469 SUBROUTINE ext_xxx_put_var_ti_char ( DataHandle,Element, Varname, Data, Status )
471 INTEGER , INTENT(IN) :: DataHandle
472 CHARACTER*(*) , INTENT(IN) :: Element
473 CHARACTER*(*) , INTENT(IN) :: VarName
474 CHARACTER*(*) , INTENT(IN) :: Data
475 INTEGER , INTENT(OUT) :: Status
477 END SUBROUTINE ext_xxx_put_var_ti_char
480 SUBROUTINE ext_xxx_get_var_td_real ( DataHandle,Element, DateStr,Varname, Data, Count, Outcount, Status )
482 INTEGER , INTENT(IN) :: DataHandle
483 CHARACTER*(*) , INTENT(IN) :: Element
484 CHARACTER*(*) , INTENT(IN) :: DateStr
485 CHARACTER*(*) , INTENT(IN) :: VarName
486 real , INTENT(OUT) :: Data(*)
487 INTEGER , INTENT(IN) :: Count
488 INTEGER , INTENT(OUT) :: OutCount
489 INTEGER , INTENT(OUT) :: Status
491 END SUBROUTINE ext_xxx_get_var_td_real
494 SUBROUTINE ext_xxx_put_var_td_real ( DataHandle,Element, DateStr,Varname, Data, Count, Status )
496 INTEGER , INTENT(IN) :: DataHandle
497 CHARACTER*(*) , INTENT(IN) :: Element
498 CHARACTER*(*) , INTENT(IN) :: DateStr
499 CHARACTER*(*) , INTENT(IN) :: VarName
500 real , INTENT(IN) :: Data(*)
501 INTEGER , INTENT(IN) :: Count
502 INTEGER , INTENT(OUT) :: Status
504 END SUBROUTINE ext_xxx_put_var_td_real
506 !--- get_var_td_double
507 SUBROUTINE ext_xxx_get_var_td_double ( DataHandle,Element, DateStr,Varname, Data, Count, Outcount, Status )
509 INTEGER , INTENT(IN) :: DataHandle
510 CHARACTER*(*) , INTENT(IN) :: Element
511 CHARACTER*(*) , INTENT(IN) :: DateStr
512 CHARACTER*(*) , INTENT(IN) :: VarName
513 real*8 , INTENT(OUT) :: Data(*)
514 INTEGER , INTENT(IN) :: Count
515 INTEGER , INTENT(OUT) :: OutCount
516 INTEGER , INTENT(OUT) :: Status
518 END SUBROUTINE ext_xxx_get_var_td_double
520 !--- put_var_td_double
521 SUBROUTINE ext_xxx_put_var_td_double ( DataHandle,Element, DateStr,Varname, Data, Count, Status )
523 INTEGER , INTENT(IN) :: DataHandle
524 CHARACTER*(*) , INTENT(IN) :: Element
525 CHARACTER*(*) , INTENT(IN) :: DateStr
526 CHARACTER*(*) , INTENT(IN) :: VarName
527 real*8 , INTENT(IN) :: Data(*)
528 INTEGER , INTENT(IN) :: Count
529 INTEGER , INTENT(OUT) :: Status
531 END SUBROUTINE ext_xxx_put_var_td_double
533 !--- get_var_td_integer
534 SUBROUTINE ext_xxx_get_var_td_integer ( DataHandle,Element, DateStr,Varname, Data, Count, Outcount, Status )
536 INTEGER , INTENT(IN) :: DataHandle
537 CHARACTER*(*) , INTENT(IN) :: Element
538 CHARACTER*(*) , INTENT(IN) :: DateStr
539 CHARACTER*(*) , INTENT(IN) :: VarName
540 integer , INTENT(OUT) :: Data(*)
541 INTEGER , INTENT(IN) :: Count
542 INTEGER , INTENT(OUT) :: OutCount
543 INTEGER , INTENT(OUT) :: Status
545 END SUBROUTINE ext_xxx_get_var_td_integer
547 !--- put_var_td_integer
548 SUBROUTINE ext_xxx_put_var_td_integer ( DataHandle,Element, DateStr,Varname, Data, Count, Status )
550 INTEGER , INTENT(IN) :: DataHandle
551 CHARACTER*(*) , INTENT(IN) :: Element
552 CHARACTER*(*) , INTENT(IN) :: DateStr
553 CHARACTER*(*) , INTENT(IN) :: VarName
554 integer , INTENT(IN) :: Data(*)
555 INTEGER , INTENT(IN) :: Count
556 INTEGER , INTENT(OUT) :: Status
558 END SUBROUTINE ext_xxx_put_var_td_integer
560 !--- get_var_td_logical
561 SUBROUTINE ext_xxx_get_var_td_logical ( DataHandle,Element, DateStr,Varname, Data, Count, Outcount, Status )
563 INTEGER , INTENT(IN) :: DataHandle
564 CHARACTER*(*) , INTENT(IN) :: Element
565 CHARACTER*(*) , INTENT(IN) :: DateStr
566 CHARACTER*(*) , INTENT(IN) :: VarName
567 logical , INTENT(OUT) :: Data(*)
568 INTEGER , INTENT(IN) :: Count
569 INTEGER , INTENT(OUT) :: OutCount
570 INTEGER , INTENT(OUT) :: Status
572 END SUBROUTINE ext_xxx_get_var_td_logical
574 !--- put_var_td_logical
575 SUBROUTINE ext_xxx_put_var_td_logical ( DataHandle,Element, DateStr,Varname, Data, Count, Status )
577 INTEGER , INTENT(IN) :: DataHandle
578 CHARACTER*(*) , INTENT(IN) :: Element
579 CHARACTER*(*) , INTENT(IN) :: DateStr
580 CHARACTER*(*) , INTENT(IN) :: VarName
581 logical , INTENT(IN) :: Data(*)
582 INTEGER , INTENT(IN) :: Count
583 INTEGER , INTENT(OUT) :: Status
585 END SUBROUTINE ext_xxx_put_var_td_logical
588 SUBROUTINE ext_xxx_get_var_td_char ( DataHandle,Element, DateStr,Varname, Data, Status )
590 INTEGER , INTENT(IN) :: DataHandle
591 CHARACTER*(*) , INTENT(IN) :: Element
592 CHARACTER*(*) , INTENT(IN) :: DateStr
593 CHARACTER*(*) , INTENT(IN) :: VarName
594 CHARACTER*(*) , INTENT(OUT) :: Data
595 INTEGER , INTENT(OUT) :: Status
597 END SUBROUTINE ext_xxx_get_var_td_char
600 SUBROUTINE ext_xxx_put_var_td_char ( DataHandle,Element, DateStr,Varname, Data, Status )
602 INTEGER , INTENT(IN) :: DataHandle
603 CHARACTER*(*) , INTENT(IN) :: Element
604 CHARACTER*(*) , INTENT(IN) :: DateStr
605 CHARACTER*(*) , INTENT(IN) :: VarName
606 CHARACTER*(*) , INTENT(IN) :: Data
607 INTEGER , INTENT(OUT) :: Status
609 END SUBROUTINE ext_xxx_put_var_td_char
612 SUBROUTINE ext_xxx_read_field ( DataHandle , DateStr , VarName , Field , FieldType , Comm , IOComm &
613 DomainDesc , MemoryOrder , Stagger , DimNames , &
614 DomainStart , DomainEnd , &
615 MemoryStart , MemoryEnd , &
616 PatchStart , PatchEnd , &
619 INTEGER , INTENT(IN) :: DataHandle
620 CHARACTER*(*) , INTENT(INOUT) :: DateStr
621 CHARACTER*(*) , INTENT(INOUT) :: VarName
622 INTEGER , INTENT(INOUT) :: Field(*)
623 integer ,intent(in) :: FieldType
624 integer ,intent(inout) :: Comm
625 integer ,intent(inout) :: IOComm
626 integer ,intent(in) :: DomainDesc
627 character*(*) ,intent(in) :: MemoryOrder
628 character*(*) ,intent(in) :: Stagger
629 character*(*) , dimension (*) ,intent(in) :: DimNames
630 integer ,dimension(*) ,intent(in) :: DomainStart, DomainEnd
631 integer ,dimension(*) ,intent(in) :: MemoryStart, MemoryEnd
632 integer ,dimension(*) ,intent(in) :: PatchStart, PatchEnd
633 integer ,intent(out) :: Status
635 END SUBROUTINE ext_xxx_read_field
638 SUBROUTINE ext_xxx_write_field ( DataHandle , DateStr , VarName , Field , FieldType , Comm , IOComm , &
639 DomainDesc , MemoryOrder , Stagger , DimNames , &
640 DomainStart , DomainEnd , &
641 MemoryStart , MemoryEnd , &
642 PatchStart , PatchEnd , &
645 INTEGER , INTENT(IN) :: DataHandle
646 CHARACTER*(*) , INTENT(IN) :: DateStr
647 CHARACTER*(*) , INTENT(IN) :: VarName
648 INTEGER , INTENT(IN) :: Field(*)
649 integer ,intent(in) :: FieldType
650 integer ,intent(inout) :: Comm
651 integer ,intent(inout) :: IOComm
652 integer ,intent(in) :: DomainDesc
653 character*(*) ,intent(in) :: MemoryOrder
654 character*(*) ,intent(in) :: Stagger
655 character*(*) , dimension (*) ,intent(in) :: DimNames
656 integer ,dimension(*) ,intent(in) :: DomainStart, DomainEnd
657 integer ,dimension(*) ,intent(in) :: MemoryStart, MemoryEnd
658 integer ,dimension(*) ,intent(in) :: PatchStart, PatchEnd
659 integer ,intent(out) :: Status
661 END SUBROUTINE ext_xxx_write_field
663 !--- get_var_info (not implemented for IntIO)
664 SUBROUTINE ext_xxx_get_var_info ( DataHandle , VarName , NDim , MemoryOrder , Stagger , &
665 DomainStart , DomainEnd , Status )
667 integer ,intent(in) :: DataHandle
668 character*(*) ,intent(in) :: VarName
669 integer ,intent(out) :: NDim
670 character*(*) ,intent(out) :: MemoryOrder
671 character*(*) ,intent(out) :: Stagger
672 integer ,dimension(*) ,intent(out) :: DomainStart, DomainEnd
673 integer ,intent(out) :: Status
675 END SUBROUTINE ext_xxx_get_var_info
679 SUBROUTINE ext_xxx_end_of_frame(DataHandle, Status)
681 INTEGER, INTENT(IN) :: DataHandle
682 INTEGER, INTENT(OUT) :: Status
684 END SUBROUTINE ext_xxx_end_of_frame
688 SUBROUTINE ext_xxx_error_str( Code, ReturnString, Status)
690 INTEGER , INTENT(IN) :: Code
691 CHARACTER *(*), INTENT(OUT) :: ReturnString
692 INTEGER , INTENT(OUT) :: Status
694 END SUBROUTINE ext_xxx_error_str
697 !--- get_previous_time
698 SUBROUTINE ext_xxx_get_previous_time(DataHandle, DateStr, Status)
700 INTEGER , INTENT(IN) :: DataHandle
701 CHARACTER*(*), INTENT(OUT) :: DateStr
702 INTEGER , INTENT(OUT) :: Status
704 END SUBROUTINE ext_xxx_get_previous_time
707 !--- open_for_read_begin
708 SUBROUTINE ext_xxx_open_for_read_begin( FileName, Comm, IOComm, SysDepInfo, DataHandle, Status)
710 CHARACTER*(*), INTENT(IN) :: FileName
711 INTEGER , INTENT(IN) :: Comm
712 INTEGER , INTENT(IN) :: IOComm
713 CHARACTER*(*), INTENT(IN) :: SysDepInfo
714 INTEGER , INTENT(OUT) :: DataHandle
715 INTEGER , INTENT(OUT) :: Status
717 END SUBROUTINE ext_xxx_open_for_read_begin
720 !--- open_for_read_commit
721 SUBROUTINE ext_xxx_open_for_read_commit(DataHandle, Status)
723 INTEGER, INTENT(IN) :: DataHandle
724 INTEGER, INTENT(OUT) :: Status
726 END SUBROUTINE ext_xxx_open_for_read_commit
730 SUBROUTINE ext_xxx_open_for_update( FileName, Comm, IOComm, SysDepInfo, DataHandle, Status)
732 CHARACTER*(*), INTENT(IN) :: FileName
733 INTEGER , INTENT(IN) :: Comm
734 INTEGER , INTENT(IN) :: IOComm
735 CHARACTER*(*), INTENT(IN) :: SysDepInfo
736 INTEGER , INTENT(OUT) :: DataHandle
737 INTEGER , INTENT(OUT) :: Status
739 END SUBROUTINE ext_xxx_open_for_update
743 SUBROUTINE ext_xxx_open_for_write (DatasetName, Comm1, Comm2, &
744 SysDepInfo, DataHandle, Status)
746 CHARACTER *(*), INTENT(IN) :: DatasetName
747 INTEGER , INTENT(IN) :: Comm1, Comm2
748 CHARACTER *(*), INTENT(IN) :: SysDepInfo
749 INTEGER , INTENT(OUT) :: DataHandle
750 INTEGER , INTENT(OUT) :: Status
752 END SUBROUTINE ext_xxx_open_for_write
756 SUBROUTINE ext_xxx_warning_str( Code, ReturnString, Status)
758 INTEGER , INTENT(IN) :: Code
759 CHARACTER *(*), INTENT(OUT) :: ReturnString
760 INTEGER , INTENT(OUT) :: Status
762 END SUBROUTINE ext_xxx_warning_str