C $Header: /u/gcmpack/MITgcm/pkg/longstep/LONGSTEP.h,v 1.4 2010/01/12 23:55:48 jahn Exp $ C $Name: $ #ifdef ALLOW_LONGSTEP CBOP C !ROUTINE: LONGSTEP.h C !INTERFACE: C include "LONGSTEP.h" C !DESCRIPTION: C \bv C *==========================================================* C | LONGSTEP.h C | o Longstep state variables: averages of model variables C *==========================================================* C \ev CEOP C C LS_doTimeStep :: .TRUE. if ptracers are updated in this timestep C LOGICAL LS_doTimeStep COMMON /LONGSTEP_STATE/ LS_doTimeStep C LS_uVel :: longstep average of zonal velocity C LS_vVel :: longstep average of meridional velocity C LS_wVel :: longstep average of vertical velocity C LS_theta :: longstep average of potential temperature C LS_salt :: longstep average of salinity C LS_IVDConvCount :: longstep average of IVD convection counter C LS_fwFlux :: longstep average of either PmEpR or EmPmR (note sign!) C _RL LS_uVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL LS_vVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL LS_wVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL LS_theta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL LS_salt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL LS_IVDConvCount(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL LS_fwFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) INTEGER LS_uVelCount(nSx,nSy) INTEGER LS_vVelCount(nSx,nSy) INTEGER LS_wVelCount(nSx,nSy) INTEGER LS_thetaCount(nSx,nSy) INTEGER LS_saltCount(nSx,nSy) INTEGER LS_IVDConvCountCount(nSx,nSy) INTEGER LS_fwFluxCount(nSx,nSy) COMMON /LONGSTEP_DYNVARS_R/ & LS_uVel, LS_vVel, LS_wVel, & LS_theta, LS_salt, LS_IVDConvCount, & LS_fwFlux COMMON /LONGSTEP_DYNVARS_I/ & LS_uVelCount, LS_vVelCount, LS_wVelCount, & LS_thetaCount, LS_saltCount, LS_IVDConvCountCount, & LS_fwFluxCount #ifdef ALLOW_GMREDI C Bottom row of tensor corresponds to W points C LS_Kwx :: longstep average of K_31 element, X direction at W point C LS_Kwy :: longstep average of K_32 element, Y direction at W point C LS_Kwz :: longstep average of K_33 element, Z direction at W point C _RL LS_Kwx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL LS_Kwy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL LS_Kwz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) INTEGER LS_KwxCount(nSx,nSy) INTEGER LS_KwyCount(nSx,nSy) INTEGER LS_KwzCount(nSx,nSy) COMMON /LONGSTEP_GM_R/ LS_Kwx, LS_Kwy, LS_Kwz COMMON /LONGSTEP_GM_I/ LS_KwxCount,LS_KwyCount,LS_KwzCount #endif /* ALLOW_GMREDI */ #ifdef ALLOW_KPP C LS_KPPdiffKzS :: longstep average of Vert. diff. coeff. for tracers C LS_KPPghat :: longstep average of Nonlocal transport coefficient C _RL LS_KPPdiffKzS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL LS_KPPghat (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) INTEGER LS_KPPdiffKzSCount(nSx,nSy) INTEGER LS_KPPghatCount (nSx,nSy) COMMON /LONGSTEP_KPP_R/ LS_KPPdiffKzS, LS_KPPghat COMMON /LONGSTEP_KPP_I/ LS_KPPdiffKzSCount, LS_KPPghatCount #endif #ifdef SHORTWAVE_HEATING C LS_Qsw :: longstep average of net upward shortwave radiation after ice C _RL LS_Qsw(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) INTEGER LS_QswCount(nSx,nSy) COMMON /LONGSTEP_EXTRA_R/ LS_Qsw COMMON /LONGSTEP_EXTRA_I/ LS_QswCount #endif C ice? C forcing? #endif /* ALLOW_LONGSTEP */