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 12077 for NEMO/branches/2019/UKMO_MERGE_2019/src/OCE/ISF/isfcavgam.F90 – NEMO

Ignore:
Timestamp:
2019-12-05T18:41:39+01:00 (4 years ago)
Author:
mathiot
Message:

include ENHANCE-02_ISF_nemo in UKMO merge branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/UKMO_MERGE_2019/src/OCE/ISF/isfcavgam.F90

    r12068 r12077  
    1010   !!   isfcav_gammats       : compute exchange coeficient gamma  
    1111   !!---------------------------------------------------------------------- 
    12    USE isf 
     12   USE isf_oce 
    1313   USE isfutils, ONLY: debug 
    1414   USE isftbl  , ONLY: isf_tbl 
     
    4646      !! 
    4747      !! ** Method     : select the gamma formulation 
    48       !!                 3 method available (cst, AD15 and HJ99) 
     48      !!                 3 method available (cst, vel and vel_stab) 
    4949      !!--------------------------------------------------------------------- 
    5050      !!-------------------------- OUT ------------------------------------- 
     
    6666         ! gamma is constant (specified in namelist) 
    6767         ! nothing to do 
    68       CASE ('ad15', 'hj99') 
     68      CASE ('vel', 'vel_stab') 
    6969         ! compute velocity in tbl 
    7070         CALL isf_tbl(Kmm, uu(:,:,:,Kmm) ,zutbl(:,:),'U', miku, rhisf_tbl_cav) 
     
    9090         pgt(:,:) = rn_gammat0 
    9191         pgs(:,:) = rn_gammas0 
    92       CASE ( 'ad15' ) ! gamma is proportional to u* 
    93          CALL gammats_AD15 (                   zutbl, zvtbl, rCd0_top, r_ke0_top,               pgt, pgs ) 
    94       CASE ( 'hj99' ) ! gamma depends of stability of boundary layer and u* 
    95          CALL gammats_HJ99 (Kmm, pttbl, pstbl, zutbl, zvtbl, rCd0_top, r_ke0_top, pqoce, pqfwf, pgt, pgs ) 
     92      CASE ( 'vel' ) ! gamma is proportional to u* 
     93         CALL gammats_vel      (                   zutbl, zvtbl, rCd0_top, r_ke0_top,               pgt, pgs ) 
     94      CASE ( 'vel_stab' ) ! gamma depends of stability of boundary layer and u* 
     95         CALL gammats_vel_stab (Kmm, pttbl, pstbl, zutbl, zvtbl, rCd0_top, r_ke0_top, pqoce, pqfwf, pgt, pgs ) 
    9696      CASE DEFAULT 
    9797         CALL ctl_stop('STOP','method to compute gamma (cn_gammablk) is unknown (should not see this)') 
     
    116116   !!----------------------------------------------------------------------------------------------------- 
    117117   ! 
    118    SUBROUTINE gammats_AD15(putbl, pvtbl, pCd, pke2, &   ! <<== in 
     118   SUBROUTINE gammats_vel( putbl, pvtbl, pCd, pke2, &   ! <<== in 
    119119      &                                  pgt, pgs   )   ! ==>> out gammats [m/s] 
    120120      !!---------------------------------------------------------------------- 
     
    123123      !! ** Method     : gamma is velocity dependent ( gt= gt0 * Ustar ) 
    124124      !! 
    125       !! ** Reference  : Jenkins et al., 2010, JPO, p2298-2312 
    126       !!                 Asay-Davis et al., Geosci. Model Dev., 9, 2471-2497, 2016 
     125      !! ** Reference  : Asay-Davis et al., Geosci. Model Dev., 9, 2471-2497, 2016 
    127126      !!--------------------------------------------------------------------- 
    128127      !!-------------------------- OUT ------------------------------------- 
     
    146145      CALL iom_put('isfustar',zustar(:,:)) 
    147146      ! 
    148    END SUBROUTINE gammats_AD15 
    149  
    150    SUBROUTINE gammats_HJ99( Kmm, pttbl, pstbl, putbl, pvtbl, pCd, pke2, pqoce, pqfwf, &  ! <<== in 
    151       &                                                                 pgt  , pgs    )  ! ==>> out gammats [m/s] 
     147   END SUBROUTINE gammats_vel 
     148 
     149   SUBROUTINE gammats_vel_stab( Kmm, pttbl, pstbl, putbl, pvtbl, pCd, pke2, pqoce, pqfwf, &  ! <<== in 
     150      &                                                                     pgt  , pgs    )  ! ==>> out gammats [m/s] 
    152151      !!---------------------------------------------------------------------- 
    153152      !! ** Purpose    : compute the coefficient echange coefficient  
     
    186185      ! 
    187186      ! compute ustar 
    188       zustar(:,:) = SQRT( pCd * ( putbl(:,:) * putbl(:,:) + pvtbl(:,:) * pvtbl(:,:) + r_ke0_top ) ) 
     187      zustar(:,:) = SQRT( pCd * ( putbl(:,:) * putbl(:,:) + pvtbl(:,:) * pvtbl(:,:) + pke2 ) ) 
    189188      ! 
    190189      ! output ustar 
     
    254253      END DO 
    255254 
    256    END SUBROUTINE gammats_HJ99 
     255   END SUBROUTINE gammats_vel_stab 
    257256 
    258257END MODULE isfcavgam 
Note: See TracChangeset for help on using the changeset viewer.