#define ROMS_MODEL

/* dont need to change ------------------*/
#define UV_ADV
#define UV_COR
#define UV_VIS2
#define MIX_S_UV
#define TS_MPDATA
#ifdef TS_MPDATA
#undef TS_U3HADVECTION
#undef TS_C4VADVECTION
#else
#define TS_U3HADVECTION
#define TS_C4VADVECTION
#endif
#define DJ_GRADPS
#define TS_DIF2
#define MIX_S_TS

#define SALINITY
#define MASKING
#define SOLVE3D
#define AVERAGES
#define CURVGRID
#define NONLIN_EOS
#define UV_QDRAG


/* dont need to change ------------------*/


/* ideal setup */
#undef ANA_GRID               /* Grid */       
#undef ANA_INITIAL            /* Initial condition */
#define ANA_SMFLUX             /* Wind stress */
#define ANA_STFLUX             /* Surface heat flux */     
#define ANA_SSFLUX             /* Surface fresh water flux */
#define ANA_BTFLUX             /* Bottom heat flux */
#define ANA_BSFLUX             /* Bottom fresh water flux  */


/* atomosphere forcing: */
#undef QCORRECTION
#undef SCORRECTION

/* %%%%%%%%%%%%% vertical turbulent mixing %%%%%%%%%%%%*/
#undef MY25_MIXING /*for open ocean*/
#define GLS_MIXING

#if defined GLS_MIXING || defined MY25_MIXING
# define KANTHA_CLAYSON
# define N2S2_HORAVG
# define CANUTO_A
#endif

/* %%%%%%%%%%%%%%%%%% tide %%%%%%%%%%%%%%%%%*/
# undef SSH_TIDES   
# undef UV_TIDES
# undef  RAMP_TIDES

# ifdef SSH_TIDES           /* if turn on SSH_TIDES  */
# define ADD_FSOBC
# else
# undef ANA_FSOBC
# endif

# ifdef  UV_TIDES       /* if turn on UV_TIDES  */
# define ADD_M2OBC
# else
# undef ANA_M2OBC
# endif


/*   boundary condition   */
#define RADIATION_2D

/* River */
#undef TS_PSOURCE
#undef UV_PSOURCE

/* restart */
#undef PERFECT_RESTART
#define RST_SINGLE
#undef DIAGNOSTICS_UV
#undef DIAGNOSTICS_TS
#undef NO_LBC_ATT
