C $Header: /u/gcmpack/MITgcm/pkg/atm_compon_interf/ATMCPL.h,v 1.5 2016/01/06 00:42:51 jmc Exp $
C $Name: $
C *==========================================================*
C | ATMCPL.h
C | o Variables shared between atmos. component to coupler
C | layer.
C *==========================================================*
C | These variables are used in the atmos component. Grid
C | variables have already been mapped/interpolated to the
C | atmos grid.
C | Which variables are exported will depend on the specific
C | ocean coupling being utilised. The variables
C | carried here will need to be customised accordingly.
C *==========================================================*
C-- fields sent from ATM to OCN:
C- COMMON /ATM_ATM2CPL_R/
C atmSLPr :: Atmospheric Sea-Level pressure anomaly (Pa=N/m2)
C HeatFlux :: Atmospheric net surface heat flux (W/m^2) (+=upward).
C qShortWave :: net shortwave radiation heat flux (W/m^2) (+=upward).
C tauX :: Atmospheric zonal momentum flux at lower boundary (N/m^2).
C Same sign as wind. Positive zonal wind is westward.
C tauY :: Atmospheric meridional momentum flux at lower boundary (N/m^2).
C Same sign as wind. Positive meridional wind is northward.
C EvMPrFlux :: Fresh water flux (=Evap-Precip) on atmos. grid
C ( kg/m2/s, positive into atmosphere).
C atmSLPrTime :: Time fraction over which term has been integrated.
C HeatFluxTime :: Time fraction over which term has been integrated.
C qShortWaveTime :: Time fraction over which term has been integrated.
C tauXTime :: Time fraction over which term has been integrated.
C tauYTime :: Time fraction over which term has been integrated.
C EvMPrTime :: Time fraction over which term has been integrated.
COMMON /ATM_ATM2CPL_R/
& atmSLPr, HeatFlux, qShortWave,
& tauX, tauY, EvMPrFlux,
& atmSLPrTime, HeatFluxTime, qShortWaveTime,
& tauXtime, tauYtime, EvMPrTime
_RL atmSLPr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL HeatFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL qShortWave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL tauX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL tauY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL EvMPrFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL atmSLPrTime (nSx,nSy)
_RL HeatFluxTime (nSx,nSy)
_RL qShortWaveTime(nSx,nSy)
_RL tauXTime (nSx,nSy)
_RL tauYTime (nSx,nSy)
_RL EvMPrTime (nSx,nSy)
#ifdef ALLOW_LAND
C- COMMON /ATM_LAND2CPL_R/
C RunOffFlux :: Fresh water flux (=RunOff) on atmos. grid
C ( kg/m2/s, positive is leaving the land bucket)
C RunOffEnFx :: Energy carried by RunOff (W/m2) (+=leaving land bucket)
C RunOffTime :: Time fraction over which term has been integrated.
C ROEnFxTime :: Time fraction over which term has been integrated.
COMMON /ATM_LAND2CPL_R/
& RunOffFlux, RunOffEnFx,
& RunOffTime, ROEnFxTime
_RL RunOffFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL RunOffEnFx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL RunOffTime (nSx,nSy)
_RL ROEnFxTime (nSx,nSy)
#endif /* ALLOW_LAND */
#ifdef ALLOW_THSICE
C- COMMON /ATM_SICE2CPL_R/
C iceSaltFlx :: salt flux from sea-ice compon. (+=upward)
C seaIceMass :: sea-ice mass (kg/m2)
C saltPlmFlx_cpl :: salt-plume flux for salt_plume pkg
C saltFxTime :: Time fraction over which term has been integrated.
C sIceMassTime :: Time fraction over which term has been integrated.
C saltPlmFlxTime :: Time fraction over which term has been integrated
COMMON /ATM_SICE2CPL_R/
& iceSaltFlx, seaIceMass, saltPlmFlx_cpl,
& saltFxTime, sIceMassTime, saltPlmFlxTime
_RL iceSaltFlx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL seaIceMass (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL saltPlmFlx_cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL saltFxTime (nSx,nSy)
_RL sIceMassTime (nSx,nSy)
_RL saltPlmFlxTime(nSx,nSy)
#endif /* ALLOW_THSICE */
#ifdef ALLOW_AIM
C- COMMON /ATM_AIM2CPL_R/
C airCO2 :: atmospheric CO2 (parts by volume)
C sWSpeed :: surface wind speed (m/s)
C airCO2Time :: Time fraction over which term has been integrated.
C sWSpeedTime :: Time fraction over which term has been integrated.
COMMON /ATM_AIM2CPL_R/
& airCO2, sWSpeed,
& airCO2Time, sWSpeedTime
_RL airCO2 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL sWSpeed (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL airCO2Time (nSx,nSy)
_RL sWSpeedTime(nSx,nSy)
#endif /* ALLOW_AIM */
#ifdef ALLOW_THSICE
C-- fields used for multiple purpose:
C- COMMON /ATM_CPL_ICE_R/
C sIceFrac_cpl :: seaice fraction
C sIceFracTime :: Time fraction over which term has been integrated.
COMMON /ATM_CPL_ICE_R/
& sIceFrac_cpl, sIceFracTime
_RL sIceFrac_cpl (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL sIceFracTime (nSx,nSy)
C-- fields sent in both direction:
C- COMMON /ATM_CPL_2WAYS_R/
C sIceThick_cpl :: seaice thickness [m]
C sIceSnowH_cpl :: snow thickness over seaice [m]
C sIceQ1_cpl :: seaice enthalpy of ice layer 1 [J/kg]
C sIceQ2_cpl :: seaice enthalpy of ice layer 2 [J/kg]
C sIceThickTime :: Time fraction over which term has been integrated.
C sIceSnowHTime :: Time fraction over which term has been integrated.
C sIceQ1Time :: Time fraction over which term has been integrated.
C sIceQ2Time :: Time fraction over which term has been integrated.
COMMON /ATM_CPL_2WAYS_R/
& sIceThick_cpl, sIceSnowH_cpl, sIceQ1_cpl, sIceQ2_cpl,
& sIceThickTime, sIceSnowHTime, sIceQ1Time, sIceQ2Time
_RL sIceThick_cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL sIceSnowH_cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL sIceQ1_cpl (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL sIceQ2_cpl (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL sIceThickTime(nSx,nSy)
_RL sIceSnowHTime(nSx,nSy)
_RL sIceQ1Time (nSx,nSy)
_RL sIceQ2Time (nSx,nSy)
#endif /* ALLOW_THSICE */
C-- fields sent from OCN to ATM:
C- COMMON /ATM_CPL2ATM_R/
C ocMxlD :: Ocean mixed-layer depth (m). ocMxlD==0. => land.
C SSTocn :: Ocean surface temperature (oC). Undefined data for land points.
C SSSocn :: Ocean surface salinity (psu). Undefined data for land points.
C vSqocn :: Ocean surface velocity square (m2/s2).
COMMON /ATM_CPL2ATM_R/
& ocMxlD, SSTocn, SSSocn, vSqocn
_RL ocMxlD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL SSTocn (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL SSSocn (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL vSqocn (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
#ifdef ALLOW_AIM
C- COMMON /ATM_CPL2AIM_R/
C flxCO2ocn :: Ocean flux of CO2 (mol/m2/s).
COMMON /ATM_CPL2AIM_R/
& flxCO2ocn
_RL flxCO2ocn(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
#endif /* ALLOW_AIM */
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|