New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 2986 – NEMO

Changeset 2986


Ignore:
Timestamp:
2011-10-24T17:58:09+02:00 (13 years ago)
Author:
acc
Message:

Branch dev_NOC_2011_MERGE. #874. Step 4: Merge in changes from 2011/dev_r2787_NOCS_NEPTUNE branch

Location:
branches/2011/dev_NOC_2011_MERGE
Files:
9 edited
2 copied

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_NOC_2011_MERGE/DOC/TexFiles/Biblio/Biblio.bib

    r2541 r2986  
    12751275  url = {http://dx.doi.org/10.1016/j.ocemod.2009.12.003}, 
    12761276  issn = {1463-5003}, 
     1277} 
     1278 
     1279@ARTICLE{HollowayOM86, 
     1280  author = {Greg Holloway}, 
     1281  title = {A Shelf Wave/Topographic Pump Drives Mean Coastal Circulation (part I)}, 
     1282  journal = OM, 
     1283  year = {1986}, 
     1284  volume = {68},   
     1285} 
     1286 
     1287@ARTICLE{HollowayJPO92, 
     1288  author = {Greg Holloway}, 
     1289  title = {Representing Topographic Stress for Large-Scale Ocean Models}, 
     1290  journal = JPO, 
     1291  year = {1992}, 
     1292  volume = {22},   
     1293  pages = {1033--1046}, 
     1294} 
     1295 
     1296@ARTICLE{HollowayJPO94, 
     1297  author = {Michael Eby and Greg Holloway}, 
     1298  title = {Sensitivity of a Large-Scale Ocean Model to a Parameterization of Topographic Stress}, 
     1299  journal = JPO, 
     1300  year = {1994}, 
     1301  volume = {24},   
     1302  pages = {2577--2587}, 
     1303} 
     1304 
     1305@ARTICLE{HollowayJGR09, 
     1306  author = {Greg Holloway and Zeliang Wang}, 
     1307  title = {Representing eddy stress in an Arctic Ocean model}, 
     1308  journal = JGR, 
     1309  year = {2009}, 
     1310  doi = {10.1029/2008JC005169},   
     1311} 
     1312 
     1313@ARTICLE{HollowayOM08, 
     1314  author = {Mathew Maltrud and Greg Holloway}, 
     1315  title = {Implementing biharmonic neptune in a global eddying ocean model}, 
     1316  journal = OM, 
     1317  year = {2008}, 
     1318  volume = {21},   
     1319  pages = {22--34}, 
    12771320} 
    12781321 
  • branches/2011/dev_NOC_2011_MERGE/DOC/TexFiles/Chapters/Chap_DYN.tex

    r2541 r2986  
    11621162 
    11631163% ================================================================ 
     1164% Neptune effect  
     1165% ================================================================ 
     1166\section  [Neptune effect (\textit{dynnept})] 
     1167                {Neptune effect (\mdl{dynnept})} 
     1168\label{DYN_nept} 
     1169 
     1170The "Neptune effect" (thus named in \citep{HollowayOM86}) is a 
     1171parameterisation of the potentially large effect of topographic form stress 
     1172(caused by eddies) in driving the ocean circulation. Originally developed for 
     1173low-resolution models, in which it was applied via a Laplacian (second-order) 
     1174diffusion-like term in the momentum equation, it can also be applied in eddy 
     1175permitting or resolving models, in which a more scale-selective bilaplacian 
     1176(fourth-order) implementation is preferred. This mechanism has a 
     1177significant effect on boundary currents (including undercurrents), and the 
     1178upwelling of deep water near continental shelves. 
     1179 
     1180The theoretical basis for the method can be found in  
     1181\citep{HollowayJPO92}, including the explanation of why form stress is not 
     1182necessarily a drag force, but may actually drive the flow.  
     1183\citep{HollowayJPO94} demonstrate the effects of the parameterisation in 
     1184the GFDL-MOM model, at a horizontal resolution of about 1.8 degrees.  
     1185\citep{HollowayOM08} demonstrate the biharmonic version of the 
     1186parameterisation in a global run of the POP model, with an average horizontal 
     1187grid spacing of about 32km. 
     1188 
     1189The NEMO implementation is a simplified form of that supplied by 
     1190Greg Holloway, the testing of which was described in \citep{HollowayJGR09}. 
     1191The major simplification is that a time invariant Neptune velocity 
     1192field is assumed.  This is computed only once, during start-up, and 
     1193made available to the rest of the code via a module.  Vertical 
     1194diffusive terms are also ignored, and the model topography itself 
     1195is used, rather than a separate topographic dataset as in 
     1196\citep{HollowayOM08}.  This implementation is only in the iso-level 
     1197formulation, as is the case anyway for the bilaplacian operator. 
     1198 
     1199The velocity field is derived from a transport stream function given by: 
     1200 
     1201\begin{equation} \label{Eq_dynnept_sf} 
     1202\psi = -fL^2H 
     1203\end{equation} 
     1204 
     1205where $L$ is a latitude-dependant length scale given by: 
     1206 
     1207\begin{equation} \label{Eq_dynnept_ls} 
     1208L = l_1 + (l_2 -l_1)\left ( {1 + \cos 2\phi \over 2 } \right ) 
     1209\end{equation} 
     1210 
     1211where $\phi$ is latitude and $l_1$ and $l_2$ are polar and equatorial length scales respectively. 
     1212Neptune velocity components, $u^*$, $v^*$ are derived from the stremfunction as: 
     1213 
     1214\begin{equation} \label{Eq_dynnept_vel} 
     1215u^* = -{1\over H} {\partial \psi \over \partial y}\ \ \  ,\ \ \ v^* = {1\over H} {\partial \psi \over \partial x} 
     1216\end{equation} 
     1217 
     1218\smallskip 
     1219%----------------------------------------------namdom---------------------------------------------------- 
     1220\namdisplay{namdyn_nept} 
     1221%-------------------------------------------------------------------------------------------------------- 
     1222\smallskip 
     1223 
     1224The Neptune effect is enabled when \np{ln\_neptsimp}=true (default=false). 
     1225\np{ln\_smooth\_neptvel} controls whether a scale-selective smoothing is applied 
     1226to the Neptune effect flow field (default=false) (this smoothing method is as 
     1227used by Holloway).  \np{rn\_tslse} and \np{rn\_tslsp} are the equatorial and 
     1228polar values respectively of the length-scale parameter $L$ used in determining 
     1229the Neptune stream function \eqref{Eq_dynnept_sf} and \eqref{Eq_dynnept_ls}. 
     1230Values at intermediate latitudes are given by a cosine fit, mimicking the 
     1231variation of the deformation radius with latitude.  The default values of 12km 
     1232and 3km are those given in \citep{HollowayJPO94}, appropriate for a coarse 
     1233resolution model. The finer resolution study of \citep{HollowayOM08} increased 
     1234the values of L by a factor of $\sqrt 2$ to 17km and 4.2km, thus doubling the 
     1235stream function for a given topography. 
     1236 
     1237The simple formulation for ($u^*$, $v^*$) can give unacceptably large velocities 
     1238in shallow water, and \citep{HollowayOM08} add an offset to the depth in the 
     1239denominator to control this problem. In this implementation we offer instead (at 
     1240the suggestion of G. Madec) the option of ramping down the Neptune flow field to 
     1241zero over a finite depth range. The switch \np{ln\_neptramp} activates this 
     1242option (default=false), in which case velocities at depths greater than 
     1243\np{rn\_htrmax} are unaltered, but ramp down linearly with depth to zero at a 
     1244depth of \np{rn\_htrmin} (and shallower). 
     1245 
     1246% ================================================================ 
  • branches/2011/dev_NOC_2011_MERGE/NEMOGCM/ARCH/arch-ALTIX_NAUTILUS4.fcm

    r2364 r2986  
    2222# Note use of -Bstatic because the library root directories are not accessible to the back-end compute nodes 
    2323%NCDF_LIB            -L%HDF5_HOME/lib -L%NCDF_HOME/lib -Bstatic -lnetcdf -lhdf5_fortran -lhdf5_hl -lhdf5 -Bdynamic -lz 
    24 %FC                  mpif90 
     24%FC                  ifort 
    2525%FCFLAGS             -r8 -O3 -xT -ip -vec-report0 
    2626%FFLAGS              -r8 -O3 -xT -ip -vec-report0 
    27 %LD                  mpif90 
     27%LD                  ifort 
    2828%FPPFLAGS            -P -C -traditional 
    29 %LDFLAGS 
     29%LDFLAGS             -lmpi 
    3030%AR                  ar  
    3131%ARFLAGS             -r 
  • branches/2011/dev_NOC_2011_MERGE/NEMOGCM/CONFIG/GYRE/EXP00/namelist

    r2980 r2986  
    865865    salfixmin = -9999      !  Minimum salinity after applying the increments 
    866866/ 
     867!----------------------------------------------------------------------- 
     868&namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
     869!----------------------------------------------------------------------- 
     870   ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model 
     871   ln_neptsimp       = .false.  ! yes/no use simplified neptune 
     872 
     873   ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep 
     874   rn_tslse          =  1.2e4   ! value of lengthscale L at the equator 
     875   rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole 
     876   ! Specify whether to ramp down the Neptune velocity in shallow 
     877   ! water, and if so the depth range controlling such ramping down 
     878   ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water 
     879   rn_htrmin         =  100.0   ! min. depth of transition range 
     880   rn_htrmax         =  200.0   ! max. depth of transition range 
     881/ 
  • branches/2011/dev_NOC_2011_MERGE/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist

    r2980 r2986  
    865865    salfixmin = -9999      !  Minimum salinity after applying the increments 
    866866/ 
     867!----------------------------------------------------------------------- 
     868&namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
     869!----------------------------------------------------------------------- 
     870   ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model 
     871   ln_neptsimp       = .true.   ! yes/no use simplified neptune 
     872 
     873   ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep 
     874   rn_tslse          =  1.2e4   ! value of lengthscale L at the equator 
     875   rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole 
     876   ! Specify whether to ramp down the Neptune velocity in shallow 
     877   ! water, and if so the depth range controlling such ramping down 
     878   ln_neptramp       = .true.   ! ramp down Neptune velocity in shallow water 
     879   rn_htrmin         =  100.0   ! min. depth of transition range 
     880   rn_htrmax         =  200.0   ! max. depth of transition range 
     881/ 
  • branches/2011/dev_NOC_2011_MERGE/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist

    r2980 r2986  
    880880    salfixmin = -9999      !  Minimum salinity after applying the increments 
    881881/ 
     882!----------------------------------------------------------------------- 
     883&namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
     884!----------------------------------------------------------------------- 
     885   ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model 
     886   ln_neptsimp       = .false.  ! yes/no use simplified neptune 
     887 
     888   ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep 
     889   rn_tslse          =  1.2e4   ! value of lengthscale L at the equator 
     890   rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole 
     891   ! Specify whether to ramp down the Neptune velocity in shallow 
     892   ! water, and if so the depth range controlling such ramping down 
     893   ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water 
     894   rn_htrmin         =  100.0   ! min. depth of transition range 
     895   rn_htrmax         =  200.0   ! max. depth of transition range 
     896/ 
  • branches/2011/dev_NOC_2011_MERGE/NEMOGCM/CONFIG/POMME/EXP00/namelist

    r2980 r2986  
    870870    salfixmin = -9999      !  Minimum salinity after applying the increments 
    871871/ 
     872!----------------------------------------------------------------------- 
     873&namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
     874!----------------------------------------------------------------------- 
     875   ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model 
     876   ln_neptsimp       = .false.  ! yes/no use simplified neptune 
     877 
     878   ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep 
     879   rn_tslse          =  1.2e4   ! value of lengthscale L at the equator 
     880   rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole 
     881   ! Specify whether to ramp down the Neptune velocity in shallow 
     882   ! water, and if so the depth range controlling such ramping down 
     883   ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water 
     884   rn_htrmin         =  100.0   ! min. depth of transition range 
     885   rn_htrmax         =  200.0   ! max. depth of transition range 
     886/ 
  • branches/2011/dev_NOC_2011_MERGE/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r2715 r2986  
    6666   USE c1d             ! 1D configuration 
    6767   USE step_c1d        ! Time stepping loop for the 1D configuration 
     68   USE dynnept         ! simplified form of Neptune effect 
    6869#if defined key_top 
    6970   USE trcini          ! passive tracer initialisation 
     
    296297      IF( lk_obc        )   CALL     obc_init   ! Open boundaries  
    297298      IF( lk_bdy        )   CALL     bdy_init   ! Unstructured open boundaries 
     299 
     300                            CALL flush(numout) 
     301                            CALL dyn_nept_init  ! simplified form of Neptune effect 
     302                            CALL flush(numout) 
    298303 
    299304                            CALL  istate_init   ! ocean initial state (Dynamics and tracers) 
  • branches/2011/dev_NOC_2011_MERGE/NEMOGCM/NEMO/OPA_SRC/step.F90

    r2715 r2986  
    3636#endif 
    3737   USE asminc           ! assimilation increments    (tra_asm_inc, dyn_asm_inc routines) 
     38   USE dynnept          ! simplified form of Neptune effect 
    3839 
    3940   IMPLICIT NONE 
     
    220221      IF(  ln_asmiau .AND. & 
    221222         & ln_dyninc       )   CALL dyn_asm_inc( kstp )     ! apply dynamics assimilation increment 
     223      IF( ln_neptsimp )        CALL dyn_nept_cor( kstp )    ! subtract Neptune velocities (simplified) 
    222224                               CALL dyn_adv( kstp )         ! advection (vector or flux form) 
    223225                               CALL dyn_vor( kstp )         ! vorticity term including Coriolis 
    224226                               CALL dyn_ldf( kstp )         ! lateral mixing 
     227      IF( ln_neptsimp )        CALL dyn_nept_cor( kstp )    ! add Neptune velocities (simplified) 
    225228#if defined key_agrif 
    226229      IF(.NOT. Agrif_Root())   CALL Agrif_Sponge_dyn        ! momemtum sponge 
Note: See TracChangeset for help on using the changeset viewer.