C================================================
C This subroutine reads forcing parameters
C================================================
      SUBROUTINE READ_FORCING
      implicit none
#include "FORCING.h"

C      character*100 dum1
      
C      open(unit=20,file='forcing.par',status='old')
C-----modify this if necessary----------------------
C      read(20,'(a)')dum1
C      read(20,*)hbar,lat0 
C---------------------------------------------------

C      close(20)

      end

C================================================
C This subroutine initializes forcing parameters
C================================================
      SUBROUTINE INI_FORCING
      implicit none
#include "SIZE.h"
#include "SWE.h"
#include "FORCING.h"

C-----modify this if necessary----------------------
C      lat0 = lat0*pi/180. !  convert ref latitude to radians
C      ftide = -grav*hbar/eradius   ! amplitude of forcing
C      ktide = 1./(eradius*cos(lat0))        
C      write(*,*)'Forcing parameters are:'
C      write(*,*)'hbar= ',hbar
C      write(*,*)'ftide= ',ftide,' ktide= ',ktide
C---------------------------------------------------

      end

C     function to return u forcing
      FUNCTION CALC_U_FORCING(xu,yu,t)
      REAL*8 xu,yu,t
      REAL*8 calc_u_forcing
#include "SIZE.h"
#include "SWE.h"
#include "FORCING.h"
       calc_u_forcing=0.d0
C      calc_u_forcing = ftide*(cos(lat0) - 2.*sin(lat0)*yu/eradius)
C     &                 *sin(2.*(omegaMoon*t + ktide*xu))

      return
      
      end

C     function to return v forcing
      FUNCTION CALC_V_FORCING(xv,yv,t)
      REAL*8 xv,yv,t
      REAL*8 calc_v_forcing
#include "FORCING.h"
      calc_v_forcing=0.d0
C      calc_v_forcing = ftide*sin(2*lat0)
C     &                 *(cos(omegaMoon*t + ktide*xv)**2)

      return
      
      end



