| 1 |
dimitri |
1.2 |
C $Header: /u/gcmpack/MITgcm_contrib/icefront/2D_example/code/OBCS_OPTIONS.h,v 1.1 2012/03/19 23:43:54 yunx Exp $ |
| 2 |
yunx |
1.1 |
C $Name: $ |
| 3 |
dimitri |
1.2 |
|
| 4 |
yunx |
1.1 |
C CPP options file for OBCS package |
| 5 |
|
|
C Use this file for selecting options within the OBCS package |
| 6 |
|
|
|
| 7 |
|
|
#ifndef OBCS_OPTIONS_H |
| 8 |
|
|
#define OBCS_OPTIONS_H |
| 9 |
|
|
#include "PACKAGES_CONFIG.h" |
| 10 |
|
|
#include "CPP_OPTIONS.h" |
| 11 |
|
|
|
| 12 |
|
|
#ifdef ALLOW_OBCS |
| 13 |
dimitri |
1.2 |
C Package-specific Options & Macros go here |
| 14 |
yunx |
1.1 |
|
| 15 |
|
|
C Enable individual open boundaries |
| 16 |
|
|
#undef ALLOW_OBCS_NORTH |
| 17 |
|
|
#undef ALLOW_OBCS_SOUTH |
| 18 |
|
|
#define ALLOW_OBCS_EAST |
| 19 |
|
|
#define ALLOW_OBCS_WEST |
| 20 |
|
|
|
| 21 |
|
|
C This include hooks to the Orlanski Open Boundary Radiation code |
| 22 |
|
|
#define ALLOW_ORLANSKI |
| 23 |
|
|
|
| 24 |
|
|
C Enable OB values to be prescribed via external fields that are read |
| 25 |
|
|
C from a file |
| 26 |
|
|
#define ALLOW_OBCS_PRESCRIBE |
| 27 |
|
|
|
| 28 |
dimitri |
1.2 |
C Enable OB conditions following Stevens (1990) |
| 29 |
|
|
#undef ALLOW_OBCS_STEVENS |
| 30 |
|
|
|
| 31 |
yunx |
1.1 |
C This includes hooks to sponge layer treatment of uvel, vvel |
| 32 |
|
|
#undef ALLOW_OBCS_SPONGE |
| 33 |
|
|
|
| 34 |
dimitri |
1.2 |
C Include hooks to sponge layer treatment of pkg/seaice variables |
| 35 |
|
|
#undef ALLOW_OBCS_SEAICE_SPONGE |
| 36 |
|
|
|
| 37 |
yunx |
1.1 |
C balance barotropic velocity |
| 38 |
|
|
#define ALLOW_OBCS_BALANCE |
| 39 |
|
|
|
| 40 |
dimitri |
1.2 |
C add tidal contributions to normal OB flow |
| 41 |
|
|
#undef ALLOW_OBCS_TIDES |
| 42 |
|
|
|
| 43 |
|
|
C Use older implementation of obcs in seaice-dynamics |
| 44 |
|
|
C note: most of the "experimental" options listed below have not yet |
| 45 |
|
|
C been implementated in new version. |
| 46 |
|
|
#undef OBCS_UVICE_OLD |
| 47 |
|
|
|
| 48 |
|
|
#ifdef OBCS_UVICE_OLD |
| 49 |
yunx |
1.1 |
C The following five CPP options are experimental and aim to deal |
| 50 |
|
|
C with artifacts due to the low-frequency specification of sea-ice |
| 51 |
dimitri |
1.2 |
C boundary conditions compared to the model forcing frequency. |
| 52 |
yunx |
1.1 |
C Ice convergence at edges can cause model to blow up. The |
| 53 |
|
|
C following CPP option fixes this problem at the expense of less |
| 54 |
|
|
C accurate boundary conditions. |
| 55 |
dimitri |
1.2 |
#undef OBCS_SEAICE_AVOID_CONVERGENCE |
| 56 |
yunx |
1.1 |
|
| 57 |
|
|
C Smooth the component of sea-ice velocity perpendicular to the edge. |
| 58 |
dimitri |
1.2 |
#undef OBCS_SEAICE_SMOOTH_UVICE_PERP |
| 59 |
yunx |
1.1 |
|
| 60 |
|
|
C Smooth the component of sea ice velocity parallel to the edge. |
| 61 |
dimitri |
1.2 |
#undef OBCS_SEAICE_SMOOTH_UVICE_PAR |
| 62 |
|
|
|
| 63 |
|
|
C Compute rather than specify seaice velocities at the edges. |
| 64 |
|
|
#undef OBCS_SEAICE_COMPUTE_UVICE |
| 65 |
|
|
#endif /* OBCS_UVICE_OLD */ |
| 66 |
yunx |
1.1 |
|
| 67 |
|
|
C Smooth the tracer sea-ice variables near the edges. |
| 68 |
|
|
#undef OBCS_SEAICE_SMOOTH_EDGE |
| 69 |
|
|
|
| 70 |
|
|
#endif /* ALLOW_OBCS */ |
| 71 |
|
|
#endif /* OBCS_OPTIONS_H */ |