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 6225 for branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_mfs.F90 – NEMO

Ignore:
Timestamp:
2016-01-08T10:35:19+01:00 (8 years ago)
Author:
jamesharle
Message:

Update MPP_BDY_UPDATE branch to be consistent with head of trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_mfs.F90

    • Property svn:keywords set to Id
    r4624 r6225  
    88 
    99   !!---------------------------------------------------------------------- 
    10    !!   sbc_blk_mfs  : bulk formulation as ocean surface boundary condition 
     10   !!   sbc_blk_mfs   : bulk formulation as ocean surface boundary condition 
    1111   !!                   (forced mode, mfs bulk formulae) 
    12    !!   blk_oce_mfs  : ocean: computes momentum, heat and freshwater fluxes 
     12   !!   blk_oce_mfs   : ocean: computes momentum, heat and freshwater fluxes 
    1313   !!---------------------------------------------------------------------- 
    14    USE oce             ! ocean dynamics and tracers 
    15    USE dom_oce         ! ocean space and time domain 
    16    USE phycst          ! physical constants 
    17    USE fldread         ! read input fields 
    18    USE sbc_oce         ! Surface boundary condition: ocean fields 
    19    USE iom             ! I/O manager library 
    20    USE in_out_manager  ! I/O manager 
    21    USE lib_mpp         ! distribued memory computing library 
    22    USE wrk_nemo        ! work arrays 
    23    USE timing          ! Timing 
    24    USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    25    USE prtctl          ! Print control 
    26    USE sbcwave,ONLY : cdn_wave !wave module 
     14   USE oce            ! ocean dynamics and tracers 
     15   USE dom_oce        ! ocean space and time domain 
     16   USE phycst         ! physical constants 
     17   USE fldread        ! read input fields 
     18   USE sbc_oce        ! Surface boundary condition: ocean fields 
     19   USE sbcwave  ,ONLY :   cdn_wave !wave module 
     20   ! 
     21   USE iom            ! I/O manager library 
     22   USE in_out_manager ! I/O manager 
     23   USE lib_mpp        ! distribued memory computing library 
     24   USE wrk_nemo       ! work arrays 
     25   USE timing         ! Timing 
     26   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
     27   USE prtctl         ! Print control 
    2728 
    2829   IMPLICIT NONE 
     
    4243          
    4344   !! * Substitutions 
    44 #  include "domzgr_substitute.h90" 
    4545#  include "vectopt_loop_substitute.h90" 
    4646   !!---------------------------------------------------------------------- 
    4747   !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009)  
    48    !! $Id: sbcblk_mfs.F90 1730 2009-11-16 14:34:19Z poddo $ 
     48   !! $Id$ 
    4949   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    5050   !!---------------------------------------------------------------------- 
    51  
    5251CONTAINS 
    53  
    5452 
    5553   SUBROUTINE sbc_blk_mfs( kt ) 
     
    8280      !!              - utau, vtau  i- and j-component of the wind stress 
    8381      !!              - taum        wind stress module at T-point 
    84       !!              - wndm        10m wind module at T-point 
     82      !!              - wndm        10m wind module at T-point over free ocean or leads in presence of sea-ice 
    8583      !!              - qns, qsr    non-slor and solar heat flux 
    8684      !!              - emp         evaporation minus precipitation 
     
    233231         ! Interpolate utau, vtau into the grid_V and grid_V 
    234232         !------------------------------------------------- 
    235  
     233      !     Note the use of 0.5*(2-umask) in order to unmask the stress along coastlines 
     234      !     Note the use of MAX(tmask(i,j),tmask(i+1,j) is to mask tau over ice shelves 
    236235         DO jj = 1, jpjm1 
    237236            DO ji = 1, fs_jpim1 
    238237               utau(ji,jj) = 0.5 * ( 2. - umask(ji,jj,1) ) * ( utau(ji,jj) * tmask(ji,jj,1) & 
    239                &                                + utau(ji+1,jj) * tmask(ji+1,jj,1) ) 
     238               &                                + utau(ji+1,jj) * tmask(ji+1,jj,1) )        & 
     239               &                 * MAX(tmask(ji,jj,1),tmask(ji+1,jj  ,1)) 
    240240               vtau(ji,jj) = 0.5 * ( 2. - vmask(ji,jj,1) ) * ( vtau(ji,jj) * tmask(ji,jj,1) & 
    241                &                                + vtau(ji,jj+1) * tmask(ji,jj+1,1) ) 
     241               &                                + vtau(ji,jj+1) * tmask(ji,jj+1,1) )        & 
     242               &                 * MAX(tmask(ji,jj,1),tmask(ji  ,jj+1,1)) 
    242243            END DO 
    243244         END DO 
     
    248249         ! for basin budget and cooerence 
    249250         !-------------------------------------------------- 
    250 !CDIR COLLAPSE 
    251            emp (:,:) = evap(:,:) - sf(jp_prec)%fnow(:,:,1) * tmask(:,:,1) 
    252 !CDIR COLLAPSE 
     251         emp(:,:) = evap(:,:) - sf(jp_prec)%fnow(:,:,1) * tmask(:,:,1) 
    253252 
    254253         CALL iom_put( "qlw_oce",   qbw  )                 ! output downward longwave heat over the ocean 
Note: See TracChangeset for help on using the changeset viewer.