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-|--+----|