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 6837 for branches/UKMO/dev_r5518_convadj – NEMO

Ignore:
Timestamp:
2016-08-03T14:09:32+02:00 (8 years ago)
Author:
timgraham
Message:

Added in convective adjustment module and associated changes

Location:
branches/UKMO/dev_r5518_convadj/NEMOGCM/NEMO/OPA_SRC
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_convadj/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r6836 r6837  
    3232   USE wrk_nemo        ! Memory Allocation 
    3333   USE timing          ! Timing 
     34   USE zdfconvadj 
     35   USE zdfmxl, ONLY : nmln 
    3436 
    3537   IMPLICIT NONE 
     
    103105      REAL(wp)                             , INTENT(in   ) ::   pahtb0     ! background diffusion coef 
    104106      ! 
     107      INTEGER  :: zconvadjw, zconvadju, zconvadjv  
    105108      INTEGER  ::  ji, jj, jk, jn   ! dummy loop indices 
    106109      INTEGER  ::  ikt 
     
    212215                  zcof2 = - fsahtv(ji,jj,jk) * e1v(ji,jj) * vslp(ji,jj,jk) * zmskv 
    213216                  ! 
    214                   zftu(ji,jj,jk ) = (  zabe1 * zdit(ji,jj,jk)   & 
     217                  IF(ln_convadj .AND. (jk .GT. nmln(ji,jj)) ) THEN 
     218                     zconvadju = 1 - MAX( convadj_mask(ji,jj), convadj_mask(ji+1,jj) ) 
     219                     zconvadjv = 1 - MAX( convadj_mask(ji,jj), convadj_mask(ji,jj+1) ) 
     220                  ELSE 
     221                     zconvadju = 1 
     222                     zconvadjv = 1 
     223                  END IF 
     224                  zftu(ji,jj,jk ) = zconvadju * (  zabe1 * zdit(ji,jj,jk)   & 
    215225                     &              + zcof1 * (  zdkt (ji+1,jj,jk) + zdk1t(ji,jj,jk)      & 
    216226                     &                         + zdk1t(ji+1,jj,jk) + zdkt (ji,jj,jk)  )  ) * umask(ji,jj,jk) 
    217                   zftv(ji,jj,jk) = (  zabe2 * zdjt(ji,jj,jk)   & 
     227                  zftv(ji,jj,jk) = zconvadjv * (  zabe2 * zdjt(ji,jj,jk)   & 
    218228                     &              + zcof2 * (  zdkt (ji,jj+1,jk) + zdk1t(ji,jj,jk)      & 
    219229                     &                         + zdk1t(ji,jj+1,jk) + zdkt (ji,jj,jk)  )  ) * vmask(ji,jj,jk)                   
     
    296306                     &            + vmask(ji,jj-1,jk-1) + vmask(ji,jj  ,jk), 1.  ) 
    297307                  ! 
    298                   zcoef3 = zcoef0 * e2t(ji,jj) * zmsku * wslpi (ji,jj,jk) 
    299                   zcoef4 = zcoef0 * e1t(ji,jj) * zmskv * wslpj (ji,jj,jk) 
     308                  IF(ln_convadj .AND. ( jk .GT. nmln(ji,jj)) ) THEN 
     309                     zconvadjw = 1 - convadj_mask(ji,jj) 
     310                  ELSE 
     311                     zconvadjw = 1 
     312                  ENDIF 
     313                  zcoef3 = zcoef0 * e2t(ji,jj) * zmsku * wslpi (ji,jj,jk) * zconvadjw 
     314                  zcoef4 = zcoef0 * e1t(ji,jj) * zmskv * wslpj (ji,jj,jk) * zconvadjw 
    300315                  ! 
    301316                  ztfw(ji,jj,jk) = zcoef3 * (   zdit(ji  ,jj  ,jk-1) + zdit(ji-1,jj  ,jk)      & 
  • branches/UKMO/dev_r5518_convadj/NEMOGCM/NEMO/OPA_SRC/step.F90

    r6836 r6837  
    9898 
    9999      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    100       ! Update data, open boundaries, surface boundary condition (including sea-ice) 
     100      ! Update data, open boundaries, surface boundary condition (including sea-ice), convective adjustment (cliff) 
    101101      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    102102      IF( lk_tide    )   CALL sbc_tide( kstp ) 
     
    105105                         CALL bdy_dta ( kstp, time_offset=+1 )   ! update dynamic & tracer data at open boundaries 
    106106      ENDIF 
     107 
     108      IF( ln_convadj )   CALL zdf_convadj( kstp )     ! Called here so that tsn is updated before rest of physics is called 
     109 
     110 
    107111                         CALL sbc    ( kstp )         ! Sea Boundary Condition (including sea-ice) 
    108112                                                      ! clem: moved here for bdy ice purpose 
  • branches/UKMO/dev_r5518_convadj/NEMOGCM/NEMO/OPA_SRC/step_oce.F90

    r6836 r6837  
    8484   USE zdfric           ! Richardson vertical mixing       (zdf_ric routine) 
    8585   USE zdfmxl           ! Mixed-layer depth                (zdf_mxl routine) 
     86   USE zdfconvadj       ! Convective adjustment            (zdf_convadj routine) 
    8687 
    8788   USE zpshde           ! partial step: hor. derivative     (zps_hde routine) 
Note: See TracChangeset for help on using the changeset viewer.