- Timestamp:
- 2012-02-25T16:50:01+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC/DYN/dynnept.F90
r3294 r3318 5 5 !! recoded version of simplest case (u*, v* only) 6 6 !!====================================================================== 7 !! History : 1.0 ! 2007-06 (Michael Dunphy) Modular form: - new namelist parameters 8 !! - horizontal diffusion for Neptune 9 !! - vertical diffusion for gm in momentum eqns 10 !! - option to use Neptune in Coriolis eqn 7 !! History : 1.0 ! 2007-06 (Zeliang Wang, Michael Dunphy, BIO) Original code 8 !! Modular form: - new namelist parameters 9 !! - horizontal diffusion for Neptune 10 !! - vertical diffusion for gm in momentum eqns 11 !! - option to use Neptune in Coriolis eqn 11 12 !! 2011-08 (Jeff Blundell, NOCS) Simplified form for temporally invariant u*, v* 12 !! Horizontal and vertical diffusivity formulations removed 13 !! Dynamic allocation of storage added 14 !! Option of ramping Neptune vel. down 15 !! to zero added in shallow depths added 13 !! Horizontal and vertical diffusivity formulations removed 14 !! Dynamic allocation of storage added 15 !! Option of ramping Neptune vel. down to zero added in shallow depths added 16 !!---------------------------------------------------------------------- 17 16 18 !!---------------------------------------------------------------------- 17 19 !! dynnept_alloc : … … 30 32 USE phycst 31 33 USE lbclnk 32 USE wrk_nemo ! Memory Allocation34 USE wrk_nemo ! Memory Allocation 33 35 34 36 IMPLICIT NONE 35 37 PRIVATE 36 38 37 !! * Routine accessibility 38 PUBLIC dyn_nept_init ! routine called by nemogcm.F90 39 PUBLIC dyn_nept_cor ! routine called by step.F90 40 !! dynnept_alloc() is called only by dyn_nept_init, within this module 41 !! dyn_nept_div_cur_init is called only by dyn_nept_init, within this module 42 !! dyn_nept_vel is called only by dyn_nept_cor, within this module 43 44 !! * Shared module variables 45 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: zunep, zvnep ! Neptune u and v 46 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: zhdivnep ! hor. div for Neptune vel. 47 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: zmrotnep ! curl for Neptune vel. 48 49 50 !! * Namelist namdyn_nept variables 39 PUBLIC dyn_nept_init ! routine called by nemogcm.F90 40 PUBLIC dyn_nept_cor ! routine called by step.F90 41 42 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: zunep, zvnep ! Neptune u and v 43 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: zhdivnep ! hor. div for Neptune vel. 44 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: zmrotnep ! curl for Neptune vel. 45 46 ! !!* Namelist namdyn_nept variables 51 47 LOGICAL, PUBLIC :: ln_neptsimp = .FALSE. ! yes/no simplified neptune 52 48 … … 60 56 REAL(wp) :: rn_htrmax = 200.0 ! max. depth of transition range 61 57 62 !! * Module variables63 64 65 58 !! * Substitutions 66 59 # include "vectopt_loop_substitute.h90" 67 60 # include "domzgr_substitute.h90" 68 61 !!---------------------------------------------------------------------- 69 !! OPA 9.0 , implemented by Bedford Institute of Oceanography 70 !!---------------------------------------------------------------------- 71 62 !! NEMO/OPA 3.3 , NEMO Consortium (2011) 63 !! $Id: dynadv_cen2.F90 3316 2012-02-21 16:00:02Z gm $ 64 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 65 !!---------------------------------------------------------------------- 72 66 CONTAINS 73 67 … … 90 84 !! and compute the arrays zunep and zvnep 91 85 !! 92 !! ** Method : zunep = 93 !! zvnep = 94 !! 95 !! ** History : 1.0 ! 07-05 (Zeliang Wang) Original code for zunep, zvnep 96 !! 1.1 ! 07-06 (Michael Dunphy) namelist and initialisation 97 !! 2.0 ! 2011-07 (Jeff Blundell, NOCS) 98 !! ! Simplified form for temporally invariant u*, v* 99 !! ! Horizontal and vertical diffusivity formulations removed 100 !! ! Includes optional tapering-off in shallow depths 86 !! ** Method : Simplified form for temporally invariant u*, v* 87 !! Horizontal and vertical diffusivity formulations removed 88 !! Includes optional tapering-off in shallow depths 101 89 !!---------------------------------------------------------------------- 102 90 USE iom 103 ! !91 ! 104 92 INTEGER :: ji, jj, jk ! dummy loop indices 105 93 REAL(wp) :: unemin,unemax,vnemin,vnemax ! extrema of (u*, v*) fields … … 122 110 ! ========================================== 123 111 124 !! WRITE(numout,*) ' start dynnept namelist'125 !! CALL FLUSH(numout)126 112 REWIND( numnam ) ! Read Namelist namdyn_nept: Simplified Neptune 127 113 READ ( numnam, namdyn_nept ) 128 !! WRITE(numout,*) ' dynnept namelist done'129 !! CALL FLUSH(numout)130 114 131 115 IF(lwp) THEN ! Control print … … 172 156 173 157 IF( .not. ln_rstart ) THEN ! If restarting, these arrays are read from the restart file 174 zhdivnep(:,:,:) = 0. 0_wp175 zmrotnep(:,:,:) = 0. 0_wp158 zhdivnep(:,:,:) = 0._wp 159 zmrotnep(:,:,:) = 0._wp 176 160 END IF 177 161 … … 361 345 !! ** Action : - compute zhdivnep, the hor. divergence of (u*, v*) 362 346 !! - compute zmrotnep, the rel. vorticity of (u*, v*) 363 !!364 !! History : OPA ! 1987-06 (P. Andrich, D. L Hostis) Original code365 !! 4.0 ! 1991-11 (G. Madec)366 !! 6.0 ! 1993-03 (M. Guyon) symetrical conditions367 !! 7.0 ! 1996-01 (G. Madec) s-coordinates368 !! 8.0 ! 1997-06 (G. Madec) lateral boundary cond., lbc369 !! 8.1 ! 1997-08 (J.M. Molines) Open boundaries370 !! 8.2 ! 2000-03 (G. Madec) no slip accurate371 !! NEMO 1.0 ! 2002-09 (G. Madec, E. Durand) Free form, F90372 !! - ! 2005-01 (J. Chanut) Unstructured open boundaries373 !! - ! 2003-08 (G. Madec) merged of cur and div, free form, F90374 !! - ! 2005-01 (J. Chanut, A. Sellar) unstructured open boundaries375 !! 3.3 ! 2010-09 (D.Storkey and E.O'Dea) bug fixes for BDY module376 !! ! 2011-06 (Jeff Blundell, NOCS) Adapt code from divcur.F90377 !! ! to compute Neptune effect fields only378 347 !!---------------------------------------------------------------------- 379 348 ! … … 517 486 518 487 SUBROUTINE dyn_nept_smooth_vel( htold, htnew, ld_option ) 519 520 488 !!---------------------------------------------------------------------- 521 489 !! *** ROUTINE dyn_nept_smooth_vel *** … … 607 575 END SUBROUTINE dyn_nept_smooth_vel 608 576 577 !!============================================================================== 609 578 END MODULE dynnept
Note: See TracChangeset
for help on using the changeset viewer.