23 integer(kind=ip_i4_p) istatus(mpi_status_size)
27 #ifndef __NO_4BYTE_REALS
37 #ifndef __NO_4BYTE_REALS
48 #ifndef __NO_4BYTE_REALS
53 fld2, fld3, fld4, fld5)
57 integer(kind=ip_i4_p) ,
intent(in) :: id_port_id
58 integer(kind=ip_i4_p) ,
intent(in) :: kstep
59 real(kind=ip_single_p) :: fld1(:)
60 integer(kind=ip_i4_p) ,
intent(out),
optional :: kinfo
61 real(kind=ip_single_p),
optional :: fld2(:)
62 real(kind=ip_single_p),
optional :: fld3(:)
63 real(kind=ip_single_p),
optional :: fld4(:)
64 real(kind=ip_single_p),
optional :: fld5(:)
66 integer(kind=ip_i4_p) :: nfld,ncpl
67 integer(kind=ip_i4_p) :: ns,nsx
68 integer(kind=ip_i4_p) :: n
69 logical :: a2on, a3on, a4on, a5on
70 character(len=*),
parameter :: subname =
'(oasis_put_r14)'
75 if (.not. oasis_coupled)
then
80 if (.not. enddef_called)
then
81 write(nulprt,*) subname,estr,
'called before oasis_enddef'
85 if (id_port_id == oasis_var_uncpl)
then
86 write(nulprt,*) subname,estr,
'oasis_put is called for a variable not in namcouple'
92 if (id_port_id < 1 .or. id_port_id > prism_nvar)
then
93 write(nulprt,*) subname,estr,
'oasis_put is called for a variable not defined'
100 ncpl = prism_var(nfld)%ncpl
103 if (oasis_debug >= 15)
write(nulprt,*) subname,
' variable not coupled ',&
104 trim(prism_var(nfld)%name)
109 ns =
size(fld1,dim=1)
116 if (
present(fld2))
then
118 nsx =
size(fld2,dim=1)
120 write(nulprt,*) subname,estr,
'fld2 size does not match fld1 ', &
121 trim(prism_var(nfld)%name)
126 if (
present(fld3))
then
128 nsx =
size(fld3,dim=1)
130 write(nulprt,*) subname,estr,
'fld3 size does not match fld1 ', &
131 trim(prism_var(nfld)%name)
136 if (
present(fld4))
then
138 nsx =
size(fld4,dim=1)
140 write(nulprt,*) subname,estr,
'fld4 size does not match fld1 ', &
141 trim(prism_var(nfld)%name)
146 if (
present(fld5))
then
148 nsx =
size(fld5,dim=1)
150 write(nulprt,*) subname,estr,
'fld5 size does not match fld1 ', &
151 trim(prism_var(nfld)%name)
157 IF ((.NOT. a2on) .AND. (.NOT. a3on) .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
159 array1din= dble(fld1),readrest=.false.)
160 ELSE IF (a2on .AND. (.NOT. a3on) .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
162 array1din= dble(fld1),readrest=.false.,&
163 a2on=a2on,array2=dble(fld2))
164 ELSE IF (a2on .AND. a3on .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
166 array1din= dble(fld1),readrest=.false.,&
167 a2on=a2on,array2=dble(fld2),&
168 a3on=a3on,array3=dble(fld3))
169 ELSE IF (a2on .AND. a3on .AND. a4on .AND. (.NOT. a5on))
THEN
171 array1din= dble(fld1),readrest=.false.,&
172 a2on=a2on,array2=dble(fld2),&
173 a3on=a3on,array3=dble(fld3),&
174 a4on=a4on,array4=dble(fld4))
175 ELSE IF (a2on .AND. a3on .AND. a4on .AND. a5on)
THEN
177 array1din= dble(fld1),readrest=.false.,&
178 a2on=a2on,array2=dble(fld2),&
179 a3on=a3on,array3=dble(fld3),&
180 a4on=a4on,array4=dble(fld4),&
181 a5on=a5on,array5=dble(fld5))
183 WRITE(nulprt,*)
'Wrong field array argument list in oasis_put'
198 fld2, fld3, fld4, fld5)
202 integer(kind=ip_i4_p) ,
intent(in) :: id_port_id
203 integer(kind=ip_i4_p) ,
intent(in) :: kstep
204 real(kind=ip_double_p) :: fld1(:)
205 integer(kind=ip_i4_p) ,
intent(out),
optional :: kinfo
206 real(kind=ip_double_p),
optional :: fld2(:)
207 real(kind=ip_double_p),
optional :: fld3(:)
208 real(kind=ip_double_p),
optional :: fld4(:)
209 real(kind=ip_double_p),
optional :: fld5(:)
211 integer(kind=ip_i4_p) :: nfld,ncpl
212 integer(kind=ip_i4_p) :: ns,nsx
213 integer(kind=ip_i4_p) :: n
214 logical :: a2on, a3on, a4on, a5on
215 character(len=*),
parameter :: subname =
'(oasis_put_r18)'
220 if (.not. oasis_coupled)
then
225 if (.not. enddef_called)
then
226 write(nulprt,*) subname,estr,
'called before oasis_enddef'
230 if (id_port_id == oasis_var_uncpl)
then
231 write(nulprt,*) subname,estr,
'oasis_put is called for a variable not in namcouple'
237 if (id_port_id < 1 .or. id_port_id > prism_nvar)
then
238 write(nulprt,*) subname,estr,
'oasis_put is called for a variable not defined'
245 ncpl = prism_var(nfld)%ncpl
248 if (oasis_debug >= 15)
write(nulprt,*) subname,
' variable not coupled ',&
249 trim(prism_var(nfld)%name)
254 ns =
size(fld1,dim=1)
261 if (
present(fld2))
then
263 nsx =
size(fld2,dim=1)
265 write(nulprt,*) subname,estr,
'fld2 size does not match fld ', &
266 trim(prism_var(nfld)%name)
271 if (
present(fld3))
then
273 nsx =
size(fld3,dim=1)
275 write(nulprt,*) subname,estr,
'fld3 size does not match fld ', &
276 trim(prism_var(nfld)%name)
281 if (
present(fld4))
then
283 nsx =
size(fld4,dim=1)
285 write(nulprt,*) subname,estr,
'fld4 size does not match fld ', &
286 trim(prism_var(nfld)%name)
291 if (
present(fld5))
then
293 nsx =
size(fld5,dim=1)
295 write(nulprt,*) subname,estr,
'fld5 size does not match fld ', &
296 trim(prism_var(nfld)%name)
301 IF ((.NOT. a2on) .AND. (.NOT. a3on) .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
303 array1din=fld1,readrest=.false.)
304 ELSE IF (a2on .AND. (.NOT. a3on) .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
306 array1din=fld1,readrest=.false.,&
307 a2on=a2on,array2=fld2)
308 ELSE IF (a2on .AND. a3on .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
310 array1din= fld1,readrest=.false.,&
311 a2on=a2on,array2=fld2,&
312 a3on=a3on,array3=fld3)
313 ELSE IF (a2on .AND. a3on .AND. a4on .AND. (.NOT. a5on))
THEN
315 array1din=fld1,readrest=.false.,&
316 a2on=a2on,array2=fld2,&
317 a3on=a3on,array3=fld3,&
318 a4on=a4on,array4=fld4)
319 ELSE IF (a2on .AND. a3on .AND. a4on .AND. a5on)
THEN
321 array1din=fld1,readrest=.false.,&
322 a2on=a2on,array2=fld2,&
323 a3on=a3on,array3=fld3,&
324 a4on=a4on,array4=fld4,&
325 a5on=a5on,array5=fld5)
327 WRITE(nulprt,*)
'Wrong field array argument list in oasis_put'
337 #ifndef __NO_4BYTE_REALS
342 fld2, fld3, fld4, fld5)
346 integer(kind=ip_i4_p) ,
intent(in) :: id_port_id
347 integer(kind=ip_i4_p) ,
intent(in) :: kstep
348 real(kind=ip_single_p) :: fld1(:,:)
349 integer(kind=ip_i4_p) ,
intent(out),
optional :: kinfo
350 real(kind=ip_single_p),
optional :: fld2(:,:)
351 real(kind=ip_single_p),
optional :: fld3(:,:)
352 real(kind=ip_single_p),
optional :: fld4(:,:)
353 real(kind=ip_single_p),
optional :: fld5(:,:)
355 integer(kind=ip_i4_p) :: nfld,ncpl
356 integer(kind=ip_i4_p) :: ns,nis,njs,nisx,njsx
357 integer(kind=ip_i4_p) :: n,ni,nj
358 logical :: a2on, a3on, a4on, a5on
359 character(len=*),
parameter :: subname =
'(oasis_put_r24)'
364 if (.not. oasis_coupled)
then
369 if (.not. enddef_called)
then
370 write(nulprt,*) subname,estr,
'called before oasis_enddef'
374 if (id_port_id == oasis_var_uncpl)
then
375 write(nulprt,*) subname,estr,
'oasis_put is called for a variable not in namcouple'
381 if (id_port_id < 1 .or. id_port_id > prism_nvar)
then
382 write(nulprt,*) subname,estr,
'oasis_put is called for a variable not defined'
389 ncpl = prism_var(nfld)%ncpl
392 if (oasis_debug >= 15)
write(nulprt,*) subname,
' variable not coupled ',&
393 trim(prism_var(nfld)%name)
398 nis =
size(fld1,dim=1)
399 njs =
size(fld1,dim=2)
407 if (
present(fld2))
then
409 nisx =
size(fld2,dim=1)
410 njsx =
size(fld2,dim=2)
411 if (nisx /= nis .or. njsx /= njs)
then
412 write(nulprt,*) subname,estr,
'fld2 size does not match fld ', &
413 trim(prism_var(nfld)%name)
418 if (
present(fld3))
then
420 nisx =
size(fld3,dim=1)
421 njsx =
size(fld3,dim=2)
422 if (nisx /= nis .or. njsx /= njs)
then
423 write(nulprt,*) subname,estr,
'fld3 size does not match fld ', &
424 trim(prism_var(nfld)%name)
429 if (
present(fld4))
then
431 nisx =
size(fld4,dim=1)
432 njsx =
size(fld4,dim=2)
433 if (nisx /= nis .or. njsx /= njs)
then
434 write(nulprt,*) subname,estr,
'fld4 size does not match fld ', &
435 trim(prism_var(nfld)%name)
440 if (
present(fld5))
then
442 nisx =
size(fld5,dim=1)
443 njsx =
size(fld5,dim=2)
444 if (nisx /= nis .or. njsx /= njs)
then
445 write(nulprt,*) subname,estr,
'fld5 size does not match fld ', &
446 trim(prism_var(nfld)%name)
452 IF ((.NOT. a2on) .AND. (.NOT. a3on) .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
454 array1din= dble(pack(fld1, mask= .true.)),readrest=.false.)
455 ELSE IF (a2on .AND. (.NOT. a3on) .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
457 array1din= dble(pack(fld1, mask= .true.)),readrest=.false.,&
458 a2on=a2on,array2=dble(pack(fld2, mask= .true.)))
459 ELSE IF (a2on .AND. a3on .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
461 array1din= dble(pack(fld1, mask= .true.)),readrest=.false.,&
462 a2on=a2on,array2=dble(pack(fld2, mask= .true.)),&
463 a3on=a3on,array3=dble(pack(fld3, mask= .true.)))
464 ELSE IF (a2on .AND. a3on .AND. a4on .AND. (.NOT. a5on))
THEN
466 array1din= dble(pack(fld1, mask= .true.)),readrest=.false.,&
467 a2on=a2on,array2=dble(pack(fld2, mask= .true.)),&
468 a3on=a3on,array3=dble(pack(fld3, mask= .true.)),&
469 a4on=a4on,array4=dble(pack(fld4, mask= .true.)))
470 ELSE IF (a2on .AND. a3on .AND. a4on .AND. a5on)
THEN
472 array1din= dble(pack(fld1, mask= .true.)),readrest=.false.,&
473 a2on=a2on,array2=dble(pack(fld2, mask= .true.)),&
474 a3on=a3on,array3=dble(pack(fld3, mask= .true.)),&
475 a4on=a4on,array4=dble(pack(fld4, mask= .true.)),&
476 a5on=a5on,array5=dble(pack(fld5, mask= .true.)))
478 WRITE(nulprt,*)
'Wrong field array argument list in oasis_put'
493 fld2, fld3, fld4, fld5)
497 integer(kind=ip_i4_p) ,
intent(in) :: id_port_id
498 integer(kind=ip_i4_p) ,
intent(in) :: kstep
499 real(kind=ip_double_p) :: fld1(:,:)
500 integer(kind=ip_i4_p) ,
intent(out),
optional :: kinfo
501 real(kind=ip_double_p),
optional :: fld2(:,:)
502 real(kind=ip_double_p),
optional :: fld3(:,:)
503 real(kind=ip_double_p),
optional :: fld4(:,:)
504 real(kind=ip_double_p),
optional :: fld5(:,:)
506 integer(kind=ip_i4_p) :: nfld,ncpl
507 integer(kind=ip_i4_p) :: ns,nis,njs,nisx,njsx
508 integer(kind=ip_i4_p) :: n,ni,nj
509 logical :: a2on, a3on, a4on, a5on
510 character(len=*),
parameter :: subname =
'(oasis_put_r28)'
515 if (.not. oasis_coupled)
then
520 if (.not. enddef_called)
then
521 write(nulprt,*) subname,estr,
'called before oasis_enddef'
525 if (id_port_id == oasis_var_uncpl)
then
526 write(nulprt,*) subname,estr,
'oasis_put is called for a variable not in namcouple'
532 if (id_port_id < 1 .or. id_port_id > prism_nvar)
then
533 write(nulprt,*) subname,estr,
'oasis_put is called for a variable not defined'
540 ncpl = prism_var(nfld)%ncpl
543 if (oasis_debug >= 15)
write(nulprt,*) subname,
' variable not coupled ',&
544 trim(prism_var(nfld)%name)
549 nis =
size(fld1,dim=1)
550 njs =
size(fld1,dim=2)
558 if (
present(fld2))
then
560 nisx =
size(fld2,dim=1)
561 njsx =
size(fld2,dim=2)
562 if (nisx /= nis .or. njsx /= njs)
then
563 write(nulprt,*) subname,estr,
'fld2 size does not match fld ', &
564 trim(prism_var(nfld)%name)
569 if (
present(fld3))
then
571 nisx =
size(fld3,dim=1)
572 njsx =
size(fld3,dim=2)
573 if (nisx /= nis .or. njsx /= njs)
then
574 write(nulprt,*) subname,estr,
'fld3 size does not match fld ', &
575 trim(prism_var(nfld)%name)
580 if (
present(fld4))
then
582 nisx =
size(fld4,dim=1)
583 njsx =
size(fld4,dim=2)
584 if (nisx /= nis .or. njsx /= njs)
then
585 write(nulprt,*) subname,estr,
'fld4 size does not match fld ', &
586 trim(prism_var(nfld)%name)
591 if (
present(fld5))
then
593 nisx =
size(fld5,dim=1)
594 njsx =
size(fld5,dim=2)
595 if (nisx /= nis .or. njsx /= njs)
then
596 write(nulprt,*) subname,estr,
'fld5 size does not match fld ', &
597 trim(prism_var(nfld)%name)
603 IF ((.NOT. a2on) .AND. (.NOT. a3on) .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
605 array1din= (pack(fld1, mask= .true.)),readrest=.false.)
606 ELSE IF (a2on .AND. (.NOT. a3on) .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
608 array1din= (pack(fld1, mask= .true.)),readrest=.false.,&
609 a2on=a2on,array2=(pack(fld2, mask= .true.)))
610 ELSE IF (a2on .AND. a3on .AND. (.NOT. a4on) .AND. (.NOT. a5on))
THEN
612 array1din= (pack(fld1, mask= .true.)),readrest=.false.,&
613 a2on=a2on,array2=(pack(fld2, mask= .true.)),&
614 a3on=a3on,array3=(pack(fld3, mask= .true.)))
615 ELSE IF (a2on .AND. a3on .AND. a4on .AND. (.NOT. a5on))
THEN
617 array1din= (pack(fld1, mask= .true.)),readrest=.false.,&
618 a2on=a2on,array2=(pack(fld2, mask= .true.)),&
619 a3on=a3on,array3=(pack(fld3, mask= .true.)),&
620 a4on=a4on,array4=(pack(fld4, mask= .true.)))
621 ELSE IF (a2on .AND. a3on .AND. a4on .AND. a5on)
THEN
623 array1din= (pack(fld1, mask= .true.)),readrest=.false.,&
624 a2on=a2on,array2=(pack(fld2, mask= .true.)),&
625 a3on=a3on,array3=(pack(fld3, mask= .true.)),&
626 a4on=a4on,array4=(pack(fld4, mask= .true.)),&
627 a5on=a5on,array5=(pack(fld5, mask= .true.)))
629 WRITE(nulprt,*)
'Wrong field array argument list in oasis_put'
639 #ifndef __NO_4BYTE_REALS
647 integer(kind=ip_i4_p) ,
intent(in) :: id_port_id
648 integer(kind=ip_i4_p) ,
intent(in) :: kstep
649 real(kind=ip_single_p),
intent(inout) :: rd_field(:)
650 integer(kind=ip_i4_p) ,
intent(out),
optional :: kinfo
652 integer(kind=ip_i4_p) :: nfld,ncpl
653 integer(kind=ip_i4_p) :: ns,nis,njs
654 integer(kind=ip_i4_p) :: n,ni,nj
655 real(kind=ip_r8_p),
allocatable :: array(:)
656 character(len=*),
parameter :: subname =
'(oasis_get_r14)'
661 if (.not. oasis_coupled)
then
666 if (.not. enddef_called)
then
667 write(nulprt,*) subname,estr,
'called before oasis_enddef'
671 if (id_port_id == oasis_var_uncpl)
then
672 write(nulprt,*) subname,estr,
'oasis_get is called for a variable not in namcouple'
673 write(nulprt,*) subname,
' BE CAREFUL NOT TO USE IT !!!!!'
679 if (id_port_id < 1 .or. id_port_id > prism_nvar)
then
680 write(nulprt,*) subname,estr,
'oasis_get is called for a variable not defined'
687 ncpl = prism_var(nfld)%ncpl
690 if (oasis_debug >= 15)
write(nulprt,*) subname,
' variable not coupled ',&
691 trim(prism_var(nfld)%name)
696 ns =
size(rd_field,dim=1)
700 CALL
oasis_advance_run(oasis_in,nfld,kstep,kinfo,array1dout=array,readrest=.false.)
702 IF (kinfo /= oasis_ok)
THEN
703 rd_field(:) =
REAL(array(:))
720 integer(kind=ip_i4_p) ,
intent(in) :: id_port_id
721 integer(kind=ip_i4_p) ,
intent(in) :: kstep
722 real(kind=ip_double_p),
intent(inout) :: rd_field(:)
723 integer(kind=ip_i4_p) ,
intent(out),
optional :: kinfo
725 integer(kind=ip_i4_p) :: nfld,ncpl
726 integer(kind=ip_i4_p) :: ns,nis,njs
727 integer(kind=ip_i4_p) :: n,ni,nj
728 character(len=*),
parameter :: subname =
'(oasis_get_r18)'
733 if (.not. oasis_coupled)
then
738 if (.not. enddef_called)
then
739 write(nulprt,*) subname,estr,
'called before oasis_enddef'
743 if (id_port_id == oasis_var_uncpl)
then
744 write(nulprt,*) subname,estr,
'oasis_get is called for a variable not in namcouple'
745 write(nulprt,*) subname,
' BE CAREFUL NOT TO USE IT !!!!!'
751 if (id_port_id < 1 .or. id_port_id > prism_nvar)
then
752 write(nulprt,*) subname,estr,
'oasis_get is called for a variable not defined'
759 ncpl = prism_var(nfld)%ncpl
762 if (oasis_debug >= 15)
write(nulprt,*) subname,
' variable not coupled ',&
763 trim(prism_var(nfld)%name)
768 CALL
oasis_advance_run(oasis_in,nfld,kstep,kinfo,array1dout=rd_field,readrest=.false.)
775 #ifndef __NO_4BYTE_REALS
783 integer(kind=ip_i4_p) ,
intent(in) :: id_port_id
784 integer(kind=ip_i4_p) ,
intent(in) :: kstep
785 real(kind=ip_single_p),
intent(inout) :: rd_field(:,:)
786 integer(kind=ip_i4_p) ,
intent(out),
optional :: kinfo
788 integer(kind=ip_i4_p) :: nfld,ncpl
789 integer(kind=ip_i4_p) :: ns,nis,njs
790 integer(kind=ip_i4_p) :: n,ni,nj
791 REAL(kind=ip_r8_p),
ALLOCATABLE :: array(:,:)
792 character(len=*),
parameter :: subname =
'(oasis_get_r24)'
797 if (.not. oasis_coupled)
then
802 if (.not. enddef_called)
then
803 write(nulprt,*) subname,estr,
'called before oasis_enddef'
807 if (id_port_id == oasis_var_uncpl)
then
808 write(nulprt,*) subname,estr,
'oasis_get is called for a variable not in namcouple'
809 write(nulprt,*) subname,
' BE CAREFUL NOT TO USE IT !!!!!'
815 if (id_port_id < 1 .or. id_port_id > prism_nvar)
then
816 write(nulprt,*) subname,estr,
'oasis_get is called for a variable not defined'
823 ncpl = prism_var(nfld)%ncpl
826 if (oasis_debug >= 15)
write(nulprt,*) subname,
' variable not coupled ',&
827 trim(prism_var(nfld)%name)
832 nis =
size(rd_field,dim=1)
833 njs =
size(rd_field,dim=2)
836 ALLOCATE(array(nis,njs))
838 CALL
oasis_advance_run(oasis_in,nfld,kstep,kinfo,array2dout=array,readrest=.false.)
840 IF (kinfo /= oasis_ok)
THEN
841 rd_field(:,:) =
REAL(array(:,:))
858 integer(kind=ip_i4_p) ,
intent(in) :: id_port_id
859 integer(kind=ip_i4_p) ,
intent(in) :: kstep
860 real(kind=ip_double_p),
intent(inout) :: rd_field(:,:)
861 integer(kind=ip_i4_p) ,
intent(out),
optional :: kinfo
863 integer(kind=ip_i4_p) :: nfld,ncpl
864 integer(kind=ip_i4_p) :: ns,nis,njs
865 integer(kind=ip_i4_p) :: n,ni,nj
866 character(len=*),
parameter :: subname =
'(oasis_get_r28)'
871 if (.not. oasis_coupled)
then
876 if (.not. enddef_called)
then
877 write(nulprt,*) subname,estr,
'called before oasis_enddef'
881 if (id_port_id == oasis_var_uncpl)
then
882 write(nulprt,*) subname,estr,
'oasis_get is called for a variable not in namcouple'
883 write(nulprt,*) subname,
' BE CAREFUL NOT TO USE IT !!!!!'
889 if (id_port_id < 1 .or. id_port_id > prism_nvar)
then
890 write(nulprt,*) subname,estr,
'oasis_get is called for a variable not defined'
897 ncpl = prism_var(nfld)%ncpl
900 if (oasis_debug >= 15)
write(nulprt,*) subname,
' variable not coupled ',&
901 trim(prism_var(nfld)%name)
906 CALL
oasis_advance_run(oasis_in,nfld,kstep,kinfo,array2dout=rd_field,readrest=.false.)
subroutine oasis_get_r18(id_port_id, kstep, rd_field, kinfo)
Receive 8 byte real 1D data.
subroutine, public oasis_debug_exit(string)
Used when a subroutine is exited, write info to log file at some debug level.
Advances the OASIS coupling.
subroutine oasis_put_r28(id_port_id, kstep, fld1, kinfo, fld2, fld3, fld4, fld5)
Send 8 byte real 2D data.
subroutine, public oasis_advance_run(mop, varid, msec, kinfo, nff, namid, array1din, array1dout, array2dout, readrest, a2on, array2, a3on, array3, a4on, array4, a5on, array5)
Advances the OASIS coupling.
Provides a common location for several OASIS variables.
subroutine, public oasis_debug_enter(string)
Used when a subroutine is entered, write info to log file at some debug level.
subroutine, public oasis_flush(nu)
Flushes output to file.
subroutine oasis_get_r14(id_port_id, kstep, rd_field, kinfo)
Receive 4 byte real 1D data.
subroutine oasis_put_r14(id_port_id, kstep, fld1, kinfo, fld2, fld3, fld4, fld5)
Send 4 byte real 1D data.
subroutine, public oasis_abort(id_compid, cd_routine, cd_message)
OASIS abort method, publically available to users.
subroutine oasis_get_r24(id_port_id, kstep, rd_field, kinfo)
Receive 4 byte real 2D data.
subroutine oasis_put_r18(id_port_id, kstep, fld1, kinfo, fld2, fld3, fld4, fld5)
Send 8 byte real 1D data.
subroutine oasis_get_r28(id_port_id, kstep, rd_field, kinfo)
Receive 8 byte real 2D data.
Generic overloaded interface for data get (receive)
OASIS variable data and methods.
Defines parameters for OASIS.
OASIS send/receive (put/get) user interfaces.
Generic overloaded interface for data put (send)
subroutine oasis_put_r24(id_port_id, kstep, fld1, kinfo, fld2, fld3, fld4, fld5)
Send 4 byte real 2D data.