C $Header: /u/gcmpack/MITgcm/pkg/atm2d/sum_ocn_fluxes.F,v 1.3 2007/10/08 23:48:28 jmc Exp $
C $Name: $
#include "ctrparam.h"
#include "ATM2D_OPTIONS.h"
C !INTERFACE:
SUBROUTINE SUM_OCN_FLUXES( myThid )
C *==========================================================*
C | Sums the atmos-> ocn fluxes. Note the stress reduction |
c | (wind forcing) which occurs as icefract > windice_thres |
C *==========================================================*
IMPLICIT NONE
#include "ATMSIZE.h"
#include "SIZE.h"
#include "GRID.h"
#include "EEPARAMS.h"
C === Global SeaIce Variables ===
#include "THSICE_VARS.h"
C === Atmos/Ocean/Seaice Interface Variables ===
#include "ATM2D_VARS.h"
c start phasing out wind stress to ocean at this ice fraction
_RS windice_thres
PARAMETER ( windice_thres= 0.5 )
C !INPUT/OUTPUT PARAMETERS:
C === Routine arguments ===
C myThid - Thread no. that called this routine.
INTEGER myThid
C LOCAL VARIABLES:
INTEGER i,j
DO j=1, sNy
DO i=1,sNx
IF (maskC(i,j,1,1,1) .EQ. 1.) THEN
C Ad hoc phase out wind stress if sufficient ice coverage
C similar idea as stressReduction used in thsice_main
IF (iceMask(i,j,1,1) .GT. windice_thres) THEN
fu_2D(i,j)= fu_2D(i,j) * (1. _d 0 -
& (iceMask(i,j,1,1) + iceMask(i-1,j,1,1)) * 0.5 _d 0 )
& / (1. _d 0 - windice_thres)
fv_2D(i,j)= fv_2D(i,j) * (1. _d 0 -
& (iceMask(i,j,1,1) + iceMask(i,j-1,1,1)) * 0.5 _d 0 )
& / (1. _d 0 - windice_thres)
wspeed_2D(i,j)= wspeed_2D(i,j)
& * (1. _d 0 - iceMask(i,j,1,1))
& / (1. _d 0 - windice_thres)
ENDIF
sum_runoff(i,j)= sum_runoff(i,j) + runoff_2D(i,j)
sum_precip(i,j)= sum_precip(i,j) +
& precipo_2D(i,j)*(1. _d 0-iceMask(i,j,1,1))
sum_evap(i,j)= sum_evap(i,j) +
& evapo_2D(i,j)*(1. _d 0-iceMask(i,j,1,1))
sum_qnet(i,j)= sum_qnet(i,j) +
& qneto_2D(i,j)*(1. _d 0-iceMask(i,j,1,1))
sum_fu(i,j)= sum_fu(i,j) + fu_2D(i,j)
sum_fv(i,j)= sum_fv(i,j) + fv_2D(i,j)
sum_wspeed(i,j)= sum_wspeed(i,j) + wspeed_2D(i,j)
sum_solarnet(i,j)= sum_solarnet(i,j) +
& solarnet_ocn_2D(i,j)*(1. _d 0-iceMask(i,j,1,1))
sum_slp(i,j)= sum_slp(i,j) + slp_2D(i,j)
sum_pCO2(i,j)= sum_pCO2(i,j) + pCO2_2D(i,j)
ENDIF
ENDDO
ENDDO
C PRINT *,'Sum_ocn_fluxes:',JBUGI,JBUGJ,fu_2D(JBUGI,JBUGJ),
C & fv_2D(JBUGI,JBUGJ), runoff_2D(JBUGI,JBUGJ),
C & precipo_2D(JBUGI,JBUGJ), evapo_2D(JBUGI,JBUGJ),
C & qneto_2D(JBUGI,JBUGJ)
RETURN
END