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 2528 for trunk/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c1d.h90 – NEMO

Ignore:
Timestamp:
2010-12-27T18:33:53+01:00 (13 years ago)
Author:
rblod
Message:

Update NEMOGCM from branch nemo_v3_3_beta

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c1d.h90

    • Property svn:eol-style deleted
    r2146 r2528  
    44 
    55   !!---------------------------------------------------------------------- 
    6    !!   OPA 9.0 , LOCEAN-IPSL (2005)  
     6   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    77   !! $Id$  
    8    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
     8   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    99   !!---------------------------------------------------------------------- 
    1010 
     
    1717      !! ** Method  :   1D eddy viscosity coefficients ( depth ) 
    1818      !!      ahm3, ahm4 never used 
    19       !!      biharmonic or harmonic operator : ahm1=ahm2 defined at T-level 
     19      !!      harmonic   operator : ahm1 defined at T-level 
     20      !!      biharmonic operator : ahm2 defined at T-level 
    2021      !!      isopycnal or geopotential harmonic operator 
    2122      !!                                      : ahm1 defined at T-level 
     
    2728 
    2829      !! * Local variables 
    29       INTEGER :: jk   ! dummy loop indice 
    30       REAL(wp) ::   zdam, zwam, zm00, zm01, zmhf, zmhs 
     30      INTEGER  ::   jk   ! dummy loop indice 
     31      REAL(wp) ::   zdam,  zwam,  zm00,  zm01,  zmhf,  zmhs 
     32      REAL(wp) ::   zdam2, zwam2, zm200, zm201, zmh2f, zmh2s 
    3133      REAL(wp) ::   zahmf, zahms 
    3234      !!---------------------------------------------------------------------- 
     
    3739      IF(lwp) WRITE(numout,*) 
    3840 
    39       ! Set ahm1=ahm2   (always at t-level) 
     41      ! Set ahm1 for laplacian     (always at t-level) 
    4042      ! ============= 
    4143      ! (USER: modify ahm1 following your desiderata) 
     
    5456      zmhs = zahms-zmhf * zm00 
    5557 
    56       ! set ahm1=ahm2 at T-level 
     58      ! Set ahm2 for bilaplacian   (always at t-level) 
     59      ! ============= 
     60      ! (USER: modify ahm2 following your desiderata) 
     61 
     62      ! initialization of the profile 
     63      ! ahms, ahmf: surface and bottom values 
     64      zahm2s = ahm0_blp 
     65      zahm2f = ahm0_blp/4. 
     66      ! zdam, zwam: depth of the inflection pt and width of inflection 
     67      zdam2  = -300. 
     68      zwam2  =  300. 
     69      ! computation coefficients 
     70      zm200 = TANH( (0-zdam2)/zwam2 ) 
     71      zm201 = TANH( (-fsdept(1,1,jpk)-zdam2)/zwam2 ) 
     72      zmh2f = (zahm2s-zahm2f)/(zm200-zm201) 
     73      zmh2s = zahm2s-zmh2f * zm00 
     74 
     75 
     76      ! set ahm1 and ahm2 at T-level 
    5777      DO jk = 1, jpk 
    58          ahm1(jk) = zmhs + zmhf * TANH( (-fsdept(1,1,jk)-zdam) / zwam ) 
    59          ahm2(jk) = ahm1(jk) 
     78         ahm1(jk) = zmhs  + zmhf  * TANH( (-fsdept(1,1,jk)-zdam ) / zwam ) 
     79         ahm2(jk) = zmh2s + zmh2f * TANH( (-fsdept(1,1,jk)-zdam2) / zwam2 ) 
    6080      END DO 
    6181 
     
    6383      IF(lwp .AND. ld_print ) THEN 
    6484         WRITE(numout,*) 
    65          WRITE(numout,*) '         ahm profile : ' 
     85         WRITE(numout,*) '         ahm profile (laplacian): ' 
    6686         WRITE(numout,*) 
    6787         WRITE(numout,9100) 
    6888         DO jk = 1, jpk 
    6989            WRITE(numout,9110) jk, ahm1(jk), fsdept(1,1,jk) 
     90         END DO 
     91         WRITE(numout,*) 
     92         WRITE(numout,*) '         ahm profile (bilaplacian): ' 
     93         WRITE(numout,*) 
     94         WRITE(numout,9100) 
     95         DO jk = 1, jpk 
     96            WRITE(numout,9110) jk, ahm2(jk), fsdept(1,1,jk) 
    7097         END DO 
    7198      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.