C $Header: /u/gcmpack/MITgcm/pkg/ocn_compon_interf/OCNCPL.h,v 1.7 2016/01/06 01:02:28 jmc Exp $ C $Name: $ C *==========================================================* C | OCNCPL.h C | o Variables shared between coupling layer and ocean C | component. C *==========================================================* C | These variables are used in the ocean component. Grid C | variables have already been mapped/interpolated to the C | ocean grid. C | Which variables are exported will depend on the specific C | model coupling being utilised. The variables carried here C | will need to be customised accordingly. C *==========================================================* C-- fields sent from ATM to OCN: C COMMON /OCN_CPL2OCN_R/ C landMask :: Atmosphere land mask (=1 : full land grid-point; C =0 : full ocean grid-point); C Used in checking consistency of land/sea regions. C atmSLPr :: Atmospheric Sea-Level pressure anomaly (Pa=N/m2) C HeatFlux :: Surface heat flux (W/m2). Positive flux is out of ocean C qShortWave :: net shortwave radiation heat flux (W/m^2) (+=upward). C tauX :: Zonal surface wind-stress (N/m^2). Same sign as the C wind : Zonal wind is positive for westward flow. C tauY :: Meridional surface wind-stress (N/m^2). Same sign as the C wind : Merid. wind is positive for northward flow. C FWFlux :: Surface flux of fresh water (kg/m2/s). Positive flux C is out of ocean. C iceSaltFlx :: salt flux from seaice compon. (+=upward=leaving the ocean) C seaIceMass :: seaice mass (kg/m2) COMMON /OCN_CPL2OCN_R/ & landMask, & atmSLPr, HeatFlux, qShortWave, & tauX, tauY, & FWFlux, & iceSaltFlx, seaIceMass _RL landMask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _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 FWFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RL iceSaltFlx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RL seaIceMass(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) #ifdef ALLOW_SALT_PLUME C COMMON /OCN_CPL2SALTPLM_R/ C saltPlmFlx_cpl :: salt-plume flux for salt_plume pkg COMMON /OCN_CPL2SALTPLM_R/ & saltPlmFlx_cpl _RL saltPlmFlx_cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) #endif /* ALLOW_SALT_PLUME */ #ifdef ALLOW_DIC C COMMON /OCN_CPL2DIC_R/ C RunOff_cpl :: Run-Off (kg/m2/s) used for DIC pkg calculations C airCO2 :: atmospheric CO2 (parts by volume) C surfWSpeed :: atmospheric surface wind speed (m/s) COMMON /OCN_CPL2DIC_R/ & RunOff_cpl, & airCO2, surfWSpeed _RL RunOff_cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RL airCO2 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RL surfWSpeed(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) #endif /* ALLOW_DIC */ C-- fields used for multiple purpose: #if (defined ALLOW_DIC) || (defined ALLOW_THSICE) C COMMON /OCN_CPL_ICE_R/ C sIceFrac_cpl :: seaice fraction (from external model) COMMON /OCN_CPL_ICE_R/ & sIceFrac_cpl _RL sIceFrac_cpl (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) #endif /* ALLOW_DIC or ALLOW_THSICE */ C-- fields sent in both direction: #ifdef ALLOW_THSICE C COMMON /OCN_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] COMMON /OCN_CPL_2WAYS_R/ & sIceThick_cpl, sIceSnowH_cpl, sIceQ1_cpl, sIceQ2_cpl _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) #endif /* ALLOW_THSICE */ C-- fields sent from OCN to ATM: C COMMON /OCN_OCN2CPL_R/ C ocMxlD2cpl :: Ocean mixed-layer depth exported to coupler (m) C SSTocn2cpl :: Ocean surface temperature map exported to C coupling layer (oC). C SSSocn2cpl :: Ocean surface salinity exported to coupler (psu) C vSqocn2cpl :: Ocean surface velocity square exported to C coupler (m2/s2) COMMON /OCN_OCN2CPL_R/ & ocMxlD2cpl, SSTocn2cpl, SSSocn2cpl, vSqocn2cpl _RL ocMxlD2cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RL SSTocn2cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RL SSSocn2cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RL vSqocn2cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) #ifdef ALLOW_DIC C COMMON /OCN_DIC2CPL_R/ C fluxCO2cpl :: ocean flux of CO2 exported to atm (mol/m2/s) COMMON /OCN_DIC2CPL_R/ & fluxCO2cpl _RL fluxCO2cpl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) #endif /* ALLOW_DIC */ CEH3 ;;; Local Variables: *** CEH3 ;;; mode:fortran *** CEH3 ;;; End: ***