[[PageOutline]] = '''2009 Stream 3 : New features''' = [[BR]] Last edited [[Timestamp]] ---- [[BR]] == '''S3.1 : from the community''' == [[BR]] It is of paramount importance to incorporate features developed in the NEMO community and identified as priorities by the Developer’s Committee in order to improve the system and encourage further developments. The 7 actions are: [[BR]] === S3.1-a — Tidal mixing scheme === '''Status:''' zdftmx.F90 added in the trunk and validated in orca2-lim (NEMO-paris), see ticket #425 . It includes both a bottom intensified vertical mixing in areas of internal tide generation (Simmons OM 2005, Bessière PhD 2007) and an intensification throughout the water column in the Indonesian area (Koch-Larrouy et al. 2007, 2008a,b). [[BR]] '''Pending issues:''' on-line comments and minor optimisation (see detail in ticket #457), bug correction in the call (see ticket #462) , and paper documentation #458 [[BR]] === S3.1-b — Three bands light penetration + ocean colour === '''Status:''' The light penetration developed by Lengaigne et al. (CD07, GRL08) has been introduced in traqsr.F90 in the trunk. It includes an optional coupling to PISCES or the use of ocean color data. It has been validated in orca2-lim-pisces (NEMO-paris), see ticket #428. Note that new namelist parameters have been introduced to control it. [[BR]] '''Pending issues:''' paper documentation, see ticket #459 [[BR]] === S3.1-c — Diurnal cycle on solar radiation === '''Status:''' Bernie et al. (2007) distribution of the daily solar radiation onto the diurnal cycle has been implemented in an on-line module and validated in orca05 simulation on NEMO v2 by S. Masson and co. [[BR]] '''Pending issues:''' its incorporation in v3. To be done by NEMO-Paris [[BR]] === S3.1-d — Conservative Leap-Frog + Asselin filter === '''Status:''' ongoing work (NEMO-Paris). See detail [wiki:2009WP/2009Stream3/LeapFrogC] [[BR]] === S3.1-e — Observations operator code and increments application === '''Status:''' on going work (NEMO-Exeter, ECMWF). [[BR]] === S3.1-f — Ice-shelf melting parameterisation === '''Status:''' See Wang & Beckmann (AG 2007), PhD of P. Mathiot (2008). To be done by NEMO-Paris. The key issue here is that the existing code does not include the volume flux associated with the ice-shelf melting. A major change have to be performed prior to its incorporation in the reference version. [[BR]] === S3.1-g — Parameterisation of katabatic winds === '''Status:''' See PhD of P. Mathiot (2008). to be done by NEMO-Paris. [[BR]] ---- == '''S3.2 : from NEMO team (short-term)''' == [[BR]] It consists of the short-term developments associated with the priorities of each consortium member that will be incorporated into the system, as they can be useful for the user community. The actions of the 8 sub-stream are: === S3.2-a — New forcing === Atmospheric pressure (NEMO-Toulouse)[[BR]] '''Motivation:'''Add surface pressure atmospheric gradient to the general trend of dynamical equations + add Inverse barometer at open boundaries. Essentially, this implementation was done to allow surge modeling capacity to the IBI system.[[BR]] '''Status :'''Multi-year simulations in IBI North-East Atlantic system performed.No NVTK, no documentation yet.It will be committed for the next release. Tidal potential (NEMO-Toulouse) [[BR]] '''Motivation:''' Most of the time, tidal propagation in regional models is essentially driven by open boundary (tidal) forcing. We nevertheless found that in an extended domain such as in the North East Atlantic IBI domain, including astronomical forcing greatly improved the results. Of course, this also makes possible global tidal modelling.[[BR]] '''Status :'''Multiyear simulations performed in regional models, as well in global 1/4° system in tide-only mode. No NVTK test defined yet and still no documentation. Merging with UKMetOffice Open Boundary Tidal solution needs to be done. River input scheme (NEMO-Exeter)[[BR]] '''Motivation:'''Add river forcing as lateral point sources thanks to bdy module (unstructured open boundaries, key_bdy). In practice, create a "river mode" in bdy to:[[BR]] (1) read flowrates at various locations,[[BR]] (2) set the temperature flux to a zero value,[[BR]] (3) set Salinity to a zero value.[[BR]] '''Status :'''Multi-year simulations with various regional systems performed.No NVTK, no documentation yet.It will be committed for the next release. Improvement of OBC(NEMO-Toulouse) [[BR]] '''Motivation:'''add more flexibility for open boundary segment definitions: multiple segments for each open boundary type (East, North, etc...) is now possible. Add to existing Orlansky normal radiation state of the art schemes for both 2d and 3d modes (Characteristic method, n-points relaxation, implicit normal/oblique radiation, Clamped elevation,...).[[BR]] '''Status :'''These new set of routines is now used for all regional applications in Mercator running with barotropic mode splitting (including those developped for Infocean, this corresponds to 6 different domains). Several multi-year simulations at various horizontal horizontal resolution (1/4°, 1/12°,1/36°) have been successfully performed.NVTK OK, but still no documentation. MEMO Bulk formulation (ECUME) (NEMO-Toulouse) [[BR]] '''Motivation:''' ability for NEMO to use another bulk formulation for heat, humidity and momentum at the air/sea interface based on multi-campaigns in situ measurements ; development made by Météo France and Mercator Ocean. [[BR]] '''Status :'''actually implemented in the SVN Mercator platform and activated via the namelist 'namsbc' under the logical 'ln_blk_ecume'. will be ready in 2010. === S3.2-b — Revisit of mass and salt fluxes between ice, ocean and air === '''Motivation:''' As a consequence of the embedding of sea-ice into the ocean (see S3.2-c), the total mass of salt of the combined sea-ice/ocean system is conserved by removing a volume of water from the ocean when ice forms or adding a volume of water when it melts. When ice forms, salt contained in the water is returned to the ocean, less the salt retained in the ice itself. When ice melts, the salt contained is added back to the ocean.[[BR]] '''Status :''' see S3.2-c [[BR]] === S3.2-c — Embedding sea-ice inside the ocean === '''Motivation:''' To improve the coupling between the sea-ice and ocean models, we embed the sea-ice into the ocean by changing the volume of the ocean and depressing the ocean interface by a depth equal to the mean ice draft. The latter is calculated as the water equivalent of the total ice and snow mass in the model grid box using in-situ local densities of seawater. The pressure gradient that takes into account the total weight of sea ice and snow in the top model grid box is added to the ocean momentum budget. The vertical coordinate is redefined for the whole water column.[[BR]] '''Status :''' The above scheme has been implemented and tested at NOCS in a 100-year long integration of an ORCA2-LIM2 configuration using both linear and non-linear free surface options. It has also been tested for short runs in the ORCA2-LIM3 configurations. A longer run in ORCA2-LIM3 will take place early in 2010 and the code committed for the NEMO 3.3 release. === S3.2-d — New PPM advection schemes === '''Motivation:'''The PPM advection scheme (Colella and Woodward, 1984) is particularly well adapted for regional modelling using fine grid. Very accurate (fourth order (in smoothed regions)), this scheme is also strictly positive near fronts by using limiting algorithms to guarantee the monotonicity of the solution. However, this scheme is certainly more expansive than the standard one in NEMO. [[BR]] '''Status: '''The implementation is done. It will be committed for the next release. === S3.2-e — Lateral ocean physics === '''Motivation:''' Griffies's implementation of the Gent and McWilliams eddy transport as a skew flux is being implemented. This has the advantage that its numerical discretization can be written in terms of contributions from quarter cells – ‘triads’. This gives a tighter stencil, disallowing 2-gridpoint numerical noise that is permitted by the advective discretization. Isopycnal diffusion is also being discretized in terms of these triads, obviating the need to smooth isopycnal slopes horizontally with a Shapiro filter (as currently implemented in NEMO), or apply a background horizontal diffusivity that would mix diapycnally. Visbeck et al.'s formulation of spatially varying diffusivities is also being implemented, as an alternative to the current formulation based on the Held and Larichev timescale and the Rossby radius as a lengthscale. Mixed-layer depth is sensitive to the slope limiting that is employed, and a slope limiting algorithm will be added that behaves satisfactorily within and immediately below the mixed layer. [[BR]] '''Status: ''' Working prototype code for the iso-neutral and skew-flux operator is under revision at NOCS and will be ready for the 3.3 release. Considerable care has been taken in the formulation to ensure the tensorial representation is consistent with the variable volume layers (S-coordinate/z* representation). This has been documented and will be provided with the release. Process model studies with this code have been successfully completed. Options for slope limiting have been considered and will be thoroughly tested before release. [[BR]] Aiki formulation. (NEMO-Paris) [[BR]] === S3.2-f — Ice improvements === momentum forcing, snow-ice formation. [[BR]] EVP rheology in LIM2: [[BR]] '''Motivation:''' Ability for NEMO to activate the Elastic-Viscous Plastic rheology with LIM2 ; development made by Louvain-La-Neuve and Mercator Ocean.[[BR]] '''Status: ''' actually implemented in the SVN Mercator platform and activated under the CPP key 'key_lim2_evp'. It will be committed before the end of 2009. === S3.2-g — Improved s-coordinate option === hydrostatic pressure gradient computation, POLCOM-style s-coordinate. (continuation & end)[[BR]] === S3.2-h — Vertical physics === improvements of TKE scheme, addition of a Generic length scale model [[BR]] --- '''zdftke2.F90 :''' validation in global configuration, update of the paper documentation.[[BR]] ''Status'': zdftke2.F90 has been provided by NEMO-Toulouse, with its paper documentation, and put in release v3.1 (except the doc). [[BR]] Problems have been found within orca2-lim in both forced and coupled mode (NEMO-paris). [[BR]] ''Pending issues'': [[BR]] (1) add the paper documentation in the trunk (DOC).[[BR]] (2) bug corrections: [[BR]] ** correct the prandl number computation in order to avoid a floating point exception, i.e. replace in tke_mlmc routine (see #466): [[BR]] {{{ zri = MAX( rn2(ji,jj,jk), 0. ) / (zcoef * (zdku + zdkv + 1.e-20) / avmt(ji,jj,jk)) ! local Richardson number }}} by {{{ zri = MAX( rn2(ji,jj,jk), 0. ) * avmt(ji,jj,jk) / (zcoef * (zdku + zdkv + 1.e-20) ) ! local Richardson number }}} ** partial step topography: add in step a missing call to zpshde when zdftke2 is used with ln_dynhpg_imp=FALSE. (see #422) [[BR]] ** update avm in all zdf modules so that the shear term in the TKE equation actually corresponds to the kinetic energy lost through vertical mixing of momentum (on going) [[BR]] (3) change the restart strategy to allow coupled simulation [[BR]] In the current version, the restart of tke2 requires the computation of en at nitend+1. In coupled mode, the forcing of the next coupled period cannot be known. The restart must be changed from (en , dissl and avt at nitend'''+1''') to (en, dissl, avt, avm, avmu,avmv at nitend) (see #466) --- '''zdfgls.F90 :''' addition of the Generic Length scale scheme ("Generic Length Scale", Umlauf et Burchard, 2003).[[BR]] ''Status'': on-going work (NEMO-Toulouse). [[BR]] === S3.2-i — Weekly forcing files === '''Status:''' The implementation is done. It is used at Mercator in ORCA025, ALT12 and ORCA12. It will be committed before the end of 2009 === S3.2-j — Read Levitus files with fldread.F90 === '''Motivation:'''The principle is the same as forcing field on-line interpolation. Dtatem.F90 and dtasal.F90 routines will call fldread routine. Levitus files can have the same possibilities( type, frequency,...) as forcing files.[[BR]] '''Status:''' The implementation is done. It is used at Mercator in ALT12 and ORCA12 to read ORCA025 monthly Levitus files. It will be committed before the end of 2009. === S3.2-k — On-line diagnostics === '''Motivation:'''This on-line diagnostics compute volume/heat/salt transports through sections with depth/salinity/temperature classes(diadct), vertical profiles (diamoor) and sections of vertical profiles (diasect) and can be computed and written at high-frequency.[[BR]] '''Status:''' The implementation is done. It is used at Mercator in ALT12, ORCA12 and ORCA025. It will be committed before the end of 2009. === S3.2-l — Partial cells and vvl === '''Motivation:'''The idea is still to perform a vertical interpolation of tracers at the last level as in the constant volume case.[[BR]] '''Status:''' A ticket have benn submitted on the track ( #337 ). NVTK and doc will coming for the next release. === S3.2-m — Bottom Friction === '''Motivation:'''Ticket #233 identified problems with the bottom friction and its implicit treatment within the vertical diffusion term. An explicit form for the bottom friction term was proposed but concerns were raised over the implications for numerical stability.[[BR]] '''Status:''' An explicit treatment of the bottom friction term has been implemented, tested and submitted. The tendency due to bottom friction is explicitly calculated and added to the general momentum trend in a new routine (dynbfr.F90). Free-slip, linear and non-linear bottom friction parameterisations are supported but the no-slip option has been suppressed. Stability concerns have been addressed by formally checking the derived bottom friction coefficient in dynbfr.F90 and limiting values where necessary. With the time-splitting solver, the vertically averaged tendency due to bottom friction is computed explicitly each barotropic timestep. This value is used implicitly and so does not need to be limited for stability reasons (important for tidal applications where the barotropic contribution dominates). NVTK checks have been passed and all code and documentation has been sent to Paris for inclusion in tagged release 3.2 (NEMO-Southampton) ---- == '''S3.3 : from NEMO team (long-term)''' == [[BR]] It consists of the short-term developments associated with the priorities of each consortium member that will be incorporated into the system, as they can be useful for the user community. The actions of the 8 sub-streams are: === S3.3-a — Revisit of the time stepping in TOP === (2 years, start in 2009)[[BR]] === S3.3-b — Restore the variable volume option (key_vvl) === (2 years, started in 2008)[[BR]] '''Status:''' ongoing work (NEMO-Paris). See detail [wiki:2009WP/2009Stream3/VVL] [[BR]] === S3.3-c — Towards a generalisation of the split-explicit free surface === (2 years, start in 2009)[[BR]] === S3.3-d — Inclusion of the effect of waves in the marginal ice zone === (2 years, start in 2009)[[BR]] === S3.3-e — Interface to the OASIS 4 coupler === (2-3 years, ongoing, started in 2008)[[BR]] === S3.3-f — AGRIF and sea-ice === '''Motivation:''' The rheology scheme in LIM is not yet compatible with the AGRIF nesting option when sea ice occurs across the boundary between a nest and its parent. Two approaches are being taken to address this.[[BR]] 1. Switch off the ice model in the nest and use AGRIF code to interpolate the fluxes into the nest. In this way, the nest feels the presence of sea ice only through the fluxes at the larger scale. This is the "zero order" solution. [[BR]] 2. Fully AGRIF'ed scheme[[BR]] '''Status:''' 1. NOCS has implemented and is testing the zero order solution and it is planned to make it available at the end of 2009 as a separate branch.[[BR]] 2. Full solution[[BR]] === S3.3-g — Development of TAM === (ANR VODA), with a major contribution from the LJK team (3 years, started in 2008)[[BR]] === S3.3-h — High parallelisation on new platforms === (GPU graphic cards, OpenMP etc …, start in 2009)[[BR]] (2 years, started in 2008)[[BR]] '''Status:''' ongoing work (NEMO-Paris). See detail [wiki:2009WP/2009Stream3/MPP_optimisation] [[BR]] ----