C $Header: /u/gcmpack/MITgcm/pkg/mdsio/mdsio_buffertors.F,v 1.1 2008/12/30 01:54:26 jmc Exp $ C $Name: $ #include "CPP_EEOPTIONS.h" C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| CBOP 0 C !ROUTINE: MDS_BUFFERtoRS C !INTERFACE: SUBROUTINE MDS_BUFFERTORS( vecBuf, arr, narr, copyTo, myThid ) C !DESCRIPTION: C Copy from Buffer to RS array "arr", if copyTo=T ; otherwise do the reverse C !USES: IMPLICIT NONE c#include "EEPARAMS.h" C !INPUT/OUTPUT PARAMETERS: C vecBuf ( RL ) :: buffer vector array (Input/Output if copyTo=T/F) C arr ( RS ) :: model vector array (Output/Input if copyTo=T/F) C narr (integer) :: dimension of buffer & model vector array C copyTo (logical) :: if =T, copy buffer -> model ; if =F: copy buffer <- model C myThid (integer) :: my Thread Id number INTEGER narr _RL vecBuf(narr) _RS arr(narr) LOGICAL copyTo INTEGER myThid CEOP C !LOCAL VARIABLES: INTEGER L C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| IF (copyTo) THEN DO L=1,narr arr(L) = vecBuf(L) ENDDO ELSE DO L=1,narr vecBuf(L) = arr(L) ENDDO ENDIF RETURN END