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 503 for trunk/NEMO/OPA_SRC/ZDF/zdfkpp.F90 – NEMO

Ignore:
Timestamp:
2006-09-27T10:52:29+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_064 : CT : general trends update including the addition of mean windows analysis possibility in the mixed layer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/ZDF/zdfkpp.F90

    r474 r503  
    55   !!                 turbulent closure parameterization 
    66   !!===================================================================== 
     7   !! History :  8.1  ! 00-03 (W.G. Large, J. Chanut) Original code 
     8   !!            8.1  ! 02-06 (J.M. Molines) for real case CLIPPER   
     9   !!            8.2  ! 03-10 (Chanut J.) re-writting 
     10   !!            9.0  ! 05-01 (C. Ethe) Free form, F90 
     11   !!---------------------------------------------------------------------- 
    712#if defined key_zdfkpp   ||   defined key_esopa 
    813   !!---------------------------------------------------------------------- 
    914   !!   'key_zdfkpp'                                             KPP scheme 
    1015   !!---------------------------------------------------------------------- 
     16   !!---------------------------------------------------------------------- 
    1117   !!   zdf_kpp      : update momentum and tracer Kz from a kpp scheme 
    1218   !!   zdf_kpp_init : initialization, namelist read, and parameters control 
    1319   !!---------------------------------------------------------------------- 
    14    !! * Modules used 
    1520   USE oce             ! ocean dynamics and active tracers  
    1621   USE dom_oce         ! ocean space and time domain 
     
    2833   PRIVATE 
    2934 
    30    !! * Routine accessibility 
    31    PUBLIC zdf_kpp   ! routine called by step.F90 
    32    PUBLIC tra_kpp   ! routine called by step.F90 
    33  
    34    !! * Share Module variables 
    35    LOGICAL, PUBLIC, PARAMETER ::  & 
    36       lk_zdfkpp = .TRUE.          !: KPP vertical mixing flag 
    37    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   &  
    38       ghats                       ! non-local scalar mixing term (gamma/<ws>o) 
     35   PUBLIC   zdf_kpp   ! routine called by step.F90 
     36   PUBLIC   tra_kpp   ! routine called by step.F90 
     37 
     38   LOGICAL, PUBLIC, PARAMETER ::   lk_zdfkpp = .TRUE.    !: KPP vertical mixing flag 
     39   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   ghats   !: non-local scalar mixing term (gamma/<ws>o) 
    3940   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &  
    40       wt0                   ,  &  ! surface temperature flux for non local flux 
    41       ws0                   ,  &  ! surface salinity flux for non local flux 
    42       hkpp                        ! boundary layer depht 
    43    !! * Module variables 
     41      wt0                   ,  &  !: surface temperature flux for non local flux 
     42      ws0                   ,  &  !: surface salinity flux for non local flux 
     43      hkpp                        !: boundary layer depht 
     44 
    4445   INTEGER ::                  & !!! ** kpp namelist (namkpp) ** 
    4546      nave  =  1            ,  &  ! = 0/1 flag for horizontal average on avt, avmu, avmv 
     
    148149   !!   OPA 9.0 , LOCEAN-IPSL   (2005) 
    149150   !! $Header$  
    150    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
     151   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    151152   !!---------------------------------------------------------------------- 
    152153 
    153154CONTAINS 
    154  
    155155 
    156156   SUBROUTINE zdf_kpp ( kt ) 
     
    184184      !!                update avt, avmu, avmv (before vertical eddy coef.) 
    185185      !! 
    186       !!   References :        
    187       !!         Large W.G., Mc Williams J.C. and Doney S.C.               
     186      !! References : Large W.G., Mc Williams J.C. and Doney S.C.               
    188187      !!         Reviews of Geophysics, 32, 4, November 1994 
    189188      !!         Comments in the code refer to this paper, particularly  
    190189      !!         the equation number. (LMD94, here after) 
    191       !! 
    192       !!   Modifications : 
    193       !!   -------------- 
    194       !!     original  :  00-03 (LARGE W.G.) 
    195       !!     additions :  00-04 (CHANUT J.) 
    196       !!               :  02-06 (MOLINES J.M. for real case CLIPPER) 
    197       !!               :  03-10 (CHANUT J.) 
    198       !! 
    199       !! History : 
    200       !!   8.1  !  00-03  (J. Chanut)  Original code 
    201       !!   8.1  !  00-04  (J.M. Molines) for real case CLIPPER   
    202       !!   9.0  !  05-01  (C. Ethe) Free form, F90 
    203190      !!---------------------------------------------------------------------- 
    204       !! * Modules used 
    205191#if defined  key_zdfddm 
    206192      USE oce     , zviscos => ua,      &  ! temp. array for viscosities use ua as workspace 
     
    211197         &          zdiffut => ta          ! temp. array for diffusivities use sa as workspace 
    212198#endif 
    213  
    214  
    215       !! * arguments 
    216       INTEGER, INTENT( in  ) ::         & 
    217          kt                                ! ocean time step 
    218  
    219       !! * local declarations 
    220       INTEGER ::                        & 
    221          ji, jj, jk                        ! dummy loop indices 
    222       INTEGER ::                        &  ! 
    223          ikbot, jkmax, jkm1, jkp2          ! 
     199      !! 
     200      INTEGER, INTENT( in  ) ::   kt   ! ocean time step 
     201      !! 
     202      INTEGER ::   ji, jj, jk              ! dummy loop indices 
     203      INTEGER ::   ikbot, jkmax, jkm1, jkp2   ! 
    224204 
    225205      REAL(wp), DIMENSION(jpi,jpj) ::   & !!! Surface buoyancy forcing, friction velocity 
     
    12511231         IF(ln_ctl) THEN 
    12521232#if defined key_zdfddm 
    1253             CALL prt_ctl(tab3d_1=avt  , clinfo1=' kpp  - t: ', tab3d_2=avs , clinfo2=' s: ', & 
    1254                &         ovlap=1, kdim=jpk) 
     1233            CALL prt_ctl(tab3d_1=avt , clinfo1=' kpp  - t: ', tab3d_2=avs , clinfo2=' s: ', ovlap=1, kdim=jpk) 
    12551234#else 
    1256             CALL prt_ctl(tab3d_1=avt  , clinfo1=' kpp  - t: ', ovlap=1, kdim=jpk) 
    1257 #endif 
    1258             CALL prt_ctl(tab3d_1=avmu  , clinfo1='       u: ', tab3d_2=avmv , clinfo2=' v: ', & 
    1259                &         ovlap=1, kdim=jpk) 
     1235            CALL prt_ctl(tab3d_1=avt , clinfo1=' kpp  - t: ', ovlap=1, kdim=jpk) 
     1236#endif 
     1237            CALL prt_ctl(tab3d_1=avmu, clinfo1='       u: ', tab3d_2=avmv , clinfo2=' v: ', ovlap=1, kdim=jpk) 
    12601238         ENDIF 
    12611239 
     
    13121290         ztrds(:,:,:) = sa(:,:,:) - ztrds(:,:,:) 
    13131291!!bug gm jpttdzdf ==> jpttkpp 
    1314          CALL trd_mod(ztrdt, ztrds, jpttdzdf, 'TRA', kt) 
     1292         CALL trd_mod(ztrdt, ztrds, jptra_trd_zdf, 'TRA', kt) 
    13151293      ENDIF 
    13161294 
    1317       IF(ln_ctl) THEN         ! print mean trends (used for debugging) 
    1318          CALL prt_ctl(tab3d_1=ta, clinfo1=' kpp  - Ta: ', mask1=tmask, & 
    1319             &         tab3d_2=sa, clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra') 
     1295      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ta, clinfo1=' kpp  - Ta: ', mask1=tmask,   & 
     1296         &                       tab3d_2=sa, clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    13201297      ENDIF 
    13211298 
     
    15941571      END DO 
    15951572#endif 
    1596  
    15971573   END SUBROUTINE zdf_kpp_init 
    15981574 
Note: See TracChangeset for help on using the changeset viewer.