C $Header: /u/gcmpack/MITgcm/pkg/ecco/cost_forcing.F,v 1.2 2004/10/11 16:38:53 heimbach Exp $
#include "COST_CPPOPTIONS.h"
subroutine COST_FORCING(
I myiter,
I mytime,
I mythid
& )
c ==================================================================
c SUBROUTINE cost_forcing
c ==================================================================
c
c o Evaluate cost function contributions of surface flux forcing.
c Now, these are heat flux, salt flux, zonal and meridional wind
c stress.
c
c started: Christian Eckert eckert@mit.edu 30-Jun-1999
c
c changed: Christian Eckert eckert@mit.edu 25-Feb-2000
c
c - Restructured the code in order to create a package
c for the MITgcmUV.
c
c ==================================================================
c SUBROUTINE cost_forcing
c ==================================================================
implicit none
c == global variables ==
#include "SIZE.h"
#include "EEPARAMS.h"
#include "cal.h"
#include "ctrl.h"
c == routine arguments ==
integer mythid
integer myiter
_RL mytime
c == local variables ==
integer startrec
integer endrec
c == end of interface ==
c-- Evaluate the individual cost function contributions.
#if (defined (ALLOW_HFLUX_COST_CONTRIBUTION)
defined (ALLOW_HFLUX_CONTROL))
c-- Heat flux contribution to the cost function.
startrec = ncvarrecstart(3)
endrec = ncvarrecsend(3)
call COST_HEATFLUX ( myiter, mytime,
& startrec, endrec, mythid )
#elif (defined (ALLOW_ATEMP_COST_CONTRIBUTION)
defined (ALLOW_ATEMP_CONTROL))
c-- Atmos. temp. contribution to the cost function.
startrec = ncvarrecstart(7)
endrec = ncvarrecsend(7)
call COST_ATEMP ( myiter, mytime,
& startrec, endrec, mythid )
#endif
#if (defined (ALLOW_SFLUX_COST_CONTRIBUTION)
defined (ALLOW_SFLUX_CONTROL))
c-- Salt flux contribution to the cost function.
startrec = ncvarrecstart(4)
endrec = ncvarrecsend(4)
call COST_SALTFLUX ( myiter, mytime,
& startrec, endrec, mythid )
#elif (defined (ALLOW_AQH_COST_CONTRIBUTION)
defined (ALLOW_AQH_CONTROL))
c-- Specific humidity contribution to the cost function.
startrec = ncvarrecstart(8)
endrec = ncvarrecsend(8)
call COST_AQH ( myiter, mytime,
& startrec, endrec, mythid )
#endif
#if (defined (ALLOW_USTRESS_COST_CONTRIBUTION )
defined (ALLOW_USTRESS_CONTROL))
c-- Zonal wind stress contribution to the cost function.
startrec = ncvarrecstart(5)
endrec = ncvarrecsend(5)
call COST_ZONSTRESS( myiter, mytime,
& startrec, endrec, mythid )
#elif (defined (ALLOW_UWIND_COST_CONTRIBUTION )
defined (ALLOW_UWIND_CONTROL))
c-- Zonal wind speed contribution to the cost function.
startrec = ncvarrecstart(9)
endrec = ncvarrecsend(9)
call COST_UWIND( myiter, mytime,
& startrec, endrec, mythid )
#endif
#if (defined (ALLOW_VSTRESS_COST_CONTRIBUTION)
defined (ALLOW_VSTRESS_CONTROL))
c-- Meridional wind stress contribution to the cost function.
startrec = ncvarrecstart(6)
endrec = ncvarrecsend(6)
call COST_MERSTRESS( myiter, mytime,
& startrec, endrec, mythid )
#elif (defined (ALLOW_VWIND_COST_CONTRIBUTION)
defined (ALLOW_VWIND_CONTROL))
c-- Meridional wind speed contribution to the cost function.
startrec = ncvarrecstart(10)
endrec = ncvarrecsend(10)
call COST_VWIND( myiter, mytime,
& startrec, endrec, mythid )
#endif
end