/*
** Application flag:   FARROW
** Input script:       ocean_farrow.in
*/

/* Error: ocean_frc.nc */

/* Aryan Safaie 06/22/15 
 Only forcing will be from srflux, and for this we will use an analytical expression, not
 bulk_flux.F; therefore we can undefine most everything here
 */

/* First define necessecities for double exponential decay function */
#define NONLINEAR      /* Required for nonlinear analytical and active fluxes */
#define SHORTWAVE      /* Required for ana_stflux accessing srflux */
#define SOLAR_SOURCE   /* Required for lmd_swfrac (double exp decay) */
#define ANA_SRFLUX     /* Analytical shortwave radiation flux */
#define ANA_STFLUX     /* Analytical kinematic surface temperature flux */


#undef BULK_FLUXES


/* Temperature */
#define ANA_BTFLUX     /* Analytical kinematic bottom temperature flux */
#define ANA_SST        /* Sea surface temperature SST */

/* Salinity (files not found in Functionals) */
#undef ANA_SSFLUX      /* Analytical kinematic surface salinity flux (missing file)*/
#undef ANA_BSFLUX      /* Analytical kinematic bottom salinity flux (missing file) */
#define ANA_SSS        /* Sea surface salinity SST */

/* Momentum fluxes */
#define ANA_SMFLUX     /* Analytical kinematic surface momentum flux */
#undef ANA_BMFLUX      /* Analytical kinematic bottom momentum flux (missing file) */

#undef ANA_VMIX /**/


/* Not defining BULK_FLUXES, so the following should not be implemented,
 though make sure to double check this
 */
/* Need to be defined in order to avoid calling FRC_FILE
- LONGWAVE *
- PAIR
- TAIR
- HUMIDITY (HUMID) *
- CLOUD *
- RAIN *
- WINDS *
- SRFLUX
*/
#ifdef BULK_FLUXES
#define ANA_WINDS
#define ANA_TAIR
#define ANA_PAIR
#define ANA_HUMIDITY
#define ANA_RAIN
#define LONGWAVE
#define ANA_CLOUD
#endif

/* Undefined analytical files */
#undef ANA_GRID
#define ANA_INITIAL

/* Do these fix the blow up after 66 hours problem? */
#undef NONLIN_EOS       /* use if using nonlinear equation of state */
#undef SALINITY

/*
**
*/
#define AVERAGES
#define DIAGNOSTICS_TS
#define DIAGNOSTICS_UV
#define DJ_GRADPS
#define MIX_S_TS
#define MIX_S_UV
#define OUT_DOUBLE
#define SOLVE3D
#define SPLINES
#define TS_U3HADVECTION 
#define TS_C4VADVECTION
#define TS_DIF2
#define UV_ADV		
#define UV_CORR		
#define UV_LDRAG

/* Now choose a Mixing Scheme: GLS, LMD, BVF, or MY25 */

/* Activate GLS mixing (Warner et al./ 2005) */
#define GLS_MIXING	/*generic length scale mixing*/
#ifdef GLS_MIXING
# define N2S2_HORAVG	/*horiz smoothing of buoyancy/shear*/
# define CANUTO_A	/*Canuto-A stability function*/
# undef CRAIG_BANNER	/*wave breaking surface flux*/
# undef CHARNOK		/*Charnok surface roughness from wind stress*/
# undef KANTHA_CLAYSON /*KC stability function */
#endif

/* Activate Large et al. (1994) KPP Vertical Mixing Scheme */
#undef LMD_MIXING /* Large et al 1994 mixing */
#ifdef LMD_MIXING
# define LMD_RIMIX /* diffusivity due to shear instability */
# define LMD_CONVEC /* convective mixing due to shear instability */
# define LMD_SKPP  /* surface boundary layer KPP mixing */
# define LMD_NONLOCAL /*nonlocal transport for active (TS) tracers */
#endif

/* Use Buoyancy Frequency Mixing */
#undef BVF_MIXING
	
#undef MIX_GEO_TS
#undef MIX_GEO_UV
#undef TS_DIF4
#undef TS_MPDATA






















