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 8946 – NEMO

Changeset 8946


Ignore:
Timestamp:
2017-12-08T08:49:34+01:00 (7 years ago)
Author:
gm
Message:

dev_CNRS_2017: minor correction in C1D case, style only in zdfosm.F90

Location:
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90

    r8930 r8946  
    105105      IF( ln_tradmp )   CALL tra_dmp( kstp )       ! internal damping trends- tracers 
    106106      IF(.NOT.ln_linssh)CALL tra_adv( kstp )       ! horizontal & vertical advection 
    107       IF( lk_zdfosm  )  CALL tra_osm( kstp )       ! OSMOSIS non-local tracer fluxes 
     107      IF( ln_zdfosm  )  CALL tra_osm( kstp )       ! OSMOSIS non-local tracer fluxes 
    108108                        CALL tra_zdf( kstp )       ! vertical mixing 
    109109                        CALL eos( tsn, rhd, rhop, gdept_0(:,:,:) )   ! now potential density for zdfmxl 
     
    121121      IF( ln_dyndmp )   CALL dyn_dmp    ( kstp )   ! internal damping trends- momentum 
    122122                        CALL dyn_cor_c1d( kstp )   ! vorticity term including Coriolis 
    123       IF( lk_zdfosm  )  CALL dyn_osm    ( kstp )   ! OSMOSIS non-local velocity fluxes 
     123      IF( ln_zdfosm  )  CALL dyn_osm    ( kstp )   ! OSMOSIS non-local velocity fluxes 
    124124                        CALL dyn_zdf    ( kstp )   ! vertical diffusion 
    125125                        CALL dyn_nxt    ( kstp )   ! lateral velocity at next time step 
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfosm.F90

    r8930 r8946  
    66   !!===================================================================== 
    77   !!  History : NEMO 4.0  ! A. Grant, G. Nurser 
    8  
    98   !! 15/03/2017  Changed calculation of pycnocline thickness in unstable conditions and stable conditions AG 
    109   !! 15/03/2017  Calculation of pycnocline gradients for stable conditions changed. Pycnocline gradients now depend on stability of the OSBL. A.G 
     
    3029   !!            (16) Calculation of Stokes drift from windspeed for PM spectrum (for testing, commented out) 
    3130   !!            (17) Modification to Langmuir velocity scale to include effects due to the Stokes penetration depth (for testing, commented out) 
    32    !! 
    3331   !!---------------------------------------------------------------------- 
     32 
    3433   !!---------------------------------------------------------------------- 
    3534   !!   'key_zdfosm'                                             OSMOSIS scheme 
     
    4241   !!   dyn_osm       : compute and add to u & v trensd the non-local flux 
    4342   !!---------------------------------------------------------------------- 
    44    USE oce !, wb => wn  ! ocean dynamics and active tracers 
     43   USE oce            ! ocean dynamics and active tracers 
    4544                      ! uses wn from previous time step (which is now wb) to calculate hbl 
    4645   USE dom_oce        ! ocean space and time domain 
     
    7978   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   etmean   !: averaging operator for avt 
    8079   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   hbl      !: boundary layer depth 
    81    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   hbli     ! intial boundary layer depth for stable blayer 
    82    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   dstokes  ! penetration depth of the Stokes drift. 
     80   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   hbli     !: intial boundary layer depth for stable blayer 
     81   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   dstokes  !: penetration depth of the Stokes drift. 
    8382 
    8483   !                      !!** Namelist  namzdf_osm  ** 
     
    122121     IF( lk_mpp             )   CALL mpp_sum ( zdf_osm_alloc ) 
    123122   END FUNCTION zdf_osm_alloc 
     123 
    124124 
    125125   SUBROUTINE zdf_osm( kt, p_avm, p_avt ) 
     
    158158      !!         the equation number. (LMD94, here after) 
    159159      !!---------------------------------------------------------------------- 
    160  
    161       INTEGER, INTENT( in  )                    ::   kt            ! ocean time step 
     160      INTEGER                   , INTENT(in   ) ::   kt            ! ocean time step 
    162161      REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::  p_avm, p_avt   ! momentum and tracer Kz (w-points) 
    163162      !! 
     
    252251      ! For debugging 
    253252      INTEGER :: ikt 
    254  
    255253      !!-------------------------------------------------------------------- 
    256254      ! 
     
    13501348         IF ( iom_use("zwth_ent") ) CALL iom_put( "zwth_ent", tmask(:,:,1)*zwth_ent )               ! ML depth internal to zdf_osm routine 
    13511349         IF ( iom_use("zt_ml") ) CALL iom_put( "zt_ml", tmask(:,:,1)*zt_ml )               ! average T in ML 
    1352        END IF 
    1353          ! Lateral boundary conditions on p_avt  (sign unchanged) 
    1354          CALL lbc_lnk( p_avt(:,:,:), 'W', 1. ) 
    1355  
     1350      END IF 
     1351      ! Lateral boundary conditions on p_avt  (sign unchanged) 
     1352      CALL lbc_lnk( p_avt(:,:,:), 'W', 1. ) 
     1353      ! 
    13561354   END SUBROUTINE zdf_osm 
     1355 
    13571356 
    13581357   SUBROUTINE zdf_osm_init 
     
    15071506     ! 
    15081507   END SUBROUTINE zdf_osm_init 
     1508 
    15091509 
    15101510   SUBROUTINE osm_rst( kt, cdrw ) 
     
    16001600   END SUBROUTINE osm_rst 
    16011601 
     1602 
    16021603   SUBROUTINE tra_osm( kt ) 
    16031604      !!---------------------------------------------------------------------- 
     
    16601661   END SUBROUTINE tra_osm 
    16611662 
     1663 
    16621664   SUBROUTINE trc_osm( kt )          ! Dummy routine 
    16631665      !!---------------------------------------------------------------------- 
     
    16701672      !! ** Method  :   ??? 
    16711673      !!---------------------------------------------------------------------- 
     1674      ! 
    16721675      !!---------------------------------------------------------------------- 
    16731676      INTEGER, INTENT(in) :: kt 
    16741677      WRITE(*,*) 'trc_osm: Not written yet', kt 
    16751678   END SUBROUTINE trc_osm 
     1679 
    16761680 
    16771681   SUBROUTINE dyn_osm( kt ) 
     
    16841688      !! ** Method  :   ??? 
    16851689      !!---------------------------------------------------------------------- 
     1690      INTEGER, INTENT(in) ::   kt   ! 
     1691      ! 
     1692      INTEGER :: ji, jj, jk   ! dummy loop indices 
    16861693      !!---------------------------------------------------------------------- 
    1687       INTEGER, INTENT(in) :: kt 
    1688       INTEGER :: ji, jj, jk 
    16891694      ! 
    16901695      IF( nn_timing == 1 )  CALL timing_start('dyn_osm') 
     
    16971702      !code saving tracer trends removed, replace with trdmxl_oce 
    16981703 
    1699       ! add non-local u and v fluxes 
    1700       DO jk = 1, jpkm1 
     1704      DO jk = 1, jpkm1           ! add non-local u and v fluxes 
    17011705         DO jj = 2, jpjm1 
    17021706            DO ji = 2, jpim1 
     
    17171721   END SUBROUTINE dyn_osm 
    17181722 
     1723   !!====================================================================== 
    17191724END MODULE zdfosm 
    1720  
Note: See TracChangeset for help on using the changeset viewer.