A uv variable can change its value in any part of the uv variable stream. So it can change its value after each call to uvread, uvnext or uvscan. The uv routines which need to know if a uv variable has changed ( uvprobvr, uvcopyvr and uvupdated) normally (i.e. by default) work on whether the particular variable(s) of interest has changed since the last ``mark'' in the uv stream. By default any routine which causes more of the uv stream to be read ( uvread, uvscan and uvnext) move this marker to the current point in the uv stream, before reading more. The uvmark routine provides greater control at marking the position in the stream. Calling
call uvmark(tno,.true.)sets the marker at the current position in the uv file, and disables uvread, etc, from resetting the marker. Calling
call uvmark(tno,.false.)also sets the marker at the current position, and enables uvread, etc, to reset the marker on each call.