=>
oasis_io_read_avfile(trim(rstfile),avtmp,prism_part(partid)%gsmap)
=>
mct_aVect_init(avtmp2,rlist=prism_coupler(cplid)%fldlist,lsize=lsize)
=>
oasis_io_read_avfile(trim(rstfile),avtmp2,prism_part(partid)%gsmap,
abort=.false.,nampre='av2_',didread=a2on)
...
=>
mct_aVect_init(avtmp5,rlist=prism_coupler(cplid)%fldlist,lsize=lsize)
=>
oasis_io_read_avfile(trim(rstfile),avtmp5,prism_part(partid)%gsmap,
abort=.false.,nampre='av5_',didread=a5on)
=>
oasis_advance_run(OASIS_Out,varid,msec,array,kinfo,readrest=.true.,
&
a2on=a2on,array2=array2,a3on=a3on,array3=array3,
&
a4on=a4on,array4=array4,a5on=a5on,array5=array5)
!!!
see
description
below
in
oasis_put/get
array2 allocated and given a value only if a2on=.true. , etc ...
=>
mct_avect_clean(avtmp)
+
deallocation
array
=> if a2on=.true. then mct_avect_clean(avtmp2) + deallocation array2
...
=> if a5on=.true. then mct_avect_clean(avtmp5) + deallocation array5
endif
if (getput
== PRISM_PUT
.and. prism_coupler(cplid)%trans /= ip_instant) then (reading of
the restart LOCTRANS file)
=> oasis_debug_note(subname//' check for loctrans restart')
=>
oasis_io_read_array(rstfile,iarray=prism_coupler(cplid)%avcnt,
ivarname=trim(vstring),abort=.false.)
!
read
the
number
of
counts
=> oasis_io_read_avfile(rstfile,prism_coupler(cplid)%avect1,
prism_part(partid)%gsmap,abort=.false.,nampre=trim(vstring)) !
read
the
loctrans restart
=>
mct_aVect_init(prism_coupler(cplid)%aVect2,prism_coupler(cplid)%aVect1,lsize)
=>
mct_aVect_zero(prism_coupler(cplid)%aVect2)
=>
oasis_io_read_avfile(rstfile,prism_coupler(cplid)%avect2,prism_part(partid)%gsmap,abort=.false.,nampre=trim(vstring),&
didread=prism_coupler(cplid)%aVon(2))
if (.not. prism_coupler(cplid)%aVon(2)) then call
mct_aVect_clean(prism_coupler(cplid)%avect2)
...
=>
mct_aVect_init(prism_coupler(cplid)%aVect5,prism_coupler(cplid)%aVect1,lsize)
=>
mct_aVect_zero(prism_coupler(cplid)%aVect5)
=>
oasis_io_read_avfile(rstfile,prism_coupler(cplid)%avect5,prism_part(partid)%gsmap,abort=.false.,nampre=trim(vstring),&
didread=prism_coupler(cplid)%aVon(5))
if (.not. prism_coupler(cplid)%aVon(5)) then call
mct_aVect_clean(prism_coupler(cplid)%avect5)
endif
end Loop
=> oasis_timer_stop ('advance_init')
=> oasis_debug_exit(subname)