C $Header: /u/gcmpack/MITgcm/pkg/atm_compon_interf/atm_store_land.F,v 1.2 2015/11/12 01:01:57 jmc Exp $ C $Name: $ #include "ATM_CPL_OPTIONS.h" CBOP C !ROUTINE: ATM_STORE_LAND C !INTERFACE: SUBROUTINE ATM_STORE_LAND( I bi, bj, I myTime, myIter, myThid ) C !DESCRIPTION: \bv C *==========================================================* C | SUBROUTINE ATM_STORE_LAND C | o Routine for saving Land fluxes from LAND pkg C | for export to coupling layer. C *==========================================================* C | This version interfaces to the LAND package. C *==========================================================* C \ev C !USES: IMPLICIT NONE C == Global variables == #ifdef ALLOW_LAND # include "LAND_SIZE.h" #else # include "SIZE.h" #endif #include "EEPARAMS.h" #include "PARAMS.h" #include "CPL_PARAMS.h" #ifdef ALLOW_LAND c #include "LAND_PARAMS.h" # include "LAND_VARS.h" #endif C == Global variables for coupling interface == #include "ATMCPL.h" C !INPUT/OUTPUT PARAMETERS: C bi, bj :: Tile indices C myTime :: Current model time C myIter :: Current timestep number C myThid :: my Thread Id number INTEGER bi, bj _RL myTime INTEGER myIter INTEGER myThid CEOP #ifdef ALLOW_LAND C !LOCAL VARIABLES: C i, j :: Loop counters INTEGER i, j _RL cplTimeFraction C o Accumulate RunOff from land bucket that will be exported to the C coupling layer. RunOff is per surface unit, in kg/m2/s cplTimeFraction = 1. _d 0 / DFLOAT(cplSendFrq_iter) RunOffTime(bi,bj) = RunOffTime(bi,bj) + cplTimeFraction DO j=1,sNy DO i=1,sNx RunOffFlux(i,j,bi,bj) = RunOffFlux(i,j,bi,bj) & + land_runOff(i,j,bi,bj)*cplTimeFraction ENDDO ENDDO C o Accumulate RunOff Energy from land bucket that will be exported C to the coupling layer. RunOff Energy is per surface unit, in W/m2. cplTimeFraction = 1. _d 0 / DFLOAT(cplSendFrq_iter) ROEnFxTime(bi,bj) = ROEnFxTime(bi,bj) + cplTimeFraction DO j=1,sNy DO i=1,sNx RunOffEnFx(i,j,bi,bj) = RunOffEnFx(i,j,bi,bj) & + land_enRnOf(i,j,bi,bj)*cplTimeFraction ENDDO ENDDO #endif /* ALLOW_LAND */ RETURN END