C $Header: /u/gcmpack/MITgcm/pkg/offline/offline_get_surfforcing.F,v 1.1 2013/07/04 22:59:18 jmc Exp $
C $Name: $
#include "OFFLINE_OPTIONS.h"
#ifdef ALLOW_DIC
#include "DIC_OPTIONS.h"
#endif
#ifdef ALLOW_DARWIN
#include "DARWIN_OPTIONS.h"
#endif
CBOP
C !ROUTINE: OFFLINE_GET_SURFFORCING
C !INTERFACE:
SUBROUTINE OFFLINE_GET_SURFFORCING( myTime, myIter, myThid )
C !DESCRIPTION: \bv
C *==========================================================*
C | SUBROUTINE OFFLINE_GET_SURFFORCING
C | o Interpolate in time surface forcing fields that has
C | been loaded from file
C *==========================================================*
C | Note: Only used for pkg/dic when ALLOW_OLD_VIRTUALFLUX
C | is defined
C *==========================================================*
C \ev
C !USES:
IMPLICIT NONE
C === Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "FFIELDS.h"
#include "OFFLINE.h"
C !INPUT/OUTPUT PARAMETERS:
C === Routine arguments ===
C myTime :: Simulation time
C myIter :: Simulation timestep number
C myThid :: Thread no. that called this routine.
_RL myTime
INTEGER myIter
INTEGER myThid
CEOP
#ifdef ALLOW_OLD_VIRTUALFLUX
#if ( (defined ALLOW_DIC) (defined ALLOW_DARWIN) )
C !LOCAL VARIABLES:
INTEGER bi,bj,i,j
_RL aWght, bWght
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
C-- Interpolate surface forcing
DO bj = myByLo(myThid), myByHi(myThid)
DO bi = myBxLo(myThid), myBxHi(myThid)
bWght = offline_Wght(1,bi,bj)
aWght = offline_Wght(2,bi,bj)
DO j=1-OLy,sNy+OLy
DO i=1-OLx,sNx+OLx
c surfaceForcingT(i,j,bi,bj) = bWght*hflx0(i,j,bi,bj)
c & + aWght*hflx1(i,j,bi,bj)
c surfaceForcingT(i,j,bi,bj) = surfaceForcingT(i,j,bi,bj)
c & *recip_Cp*mass2rUnit
surfaceForcingS(i,j,bi,bj) = bWght*sflx0(i,j,bi,bj)
& + aWght*sflx1(i,j,bi,bj)
surfaceForcingS(i,j,bi,bj) = surfaceForcingS(i,j,bi,bj)
& *mass2rUnit
c ICEM(i,j,bi,bj) = bWght*icem0(i,j,bi,bj)
c & + aWght*icem1(i,j,bi,bj)
ENDDO
ENDDO
C-- end bi,bj loops
ENDDO
ENDDO
#endif /* ALLOW_DIC or ALLOW_DARWIN */
#endif /* ALLOW_OLD_VIRTUALFLUX */
RETURN
END