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 5443 for branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90 – NEMO

Ignore:
Timestamp:
2015-06-19T17:18:00+02:00 (9 years ago)
Author:
davestorkey
Message:

Update 2015/dev_r5021_UKMO1_CICE_coupling branch to revision 5442 of the trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    • Property svn:keywords set to Id
    r5162 r5443  
    4141   USE ice_state, only: aice,aicen,uvel,vvel,vsno,vsnon,vice,vicen 
    4242   USE ice_flux, only: strax,stray,strocnx,strocny,frain,fsnow,  & 
     43                strocnxT,strocnyT,                               &  
    4344                sst,sss,uocn,vocn,ss_tltx,ss_tlty,fsalt_gbm,     & 
    4445                fresh_gbm,fhocn_gbm,fswthru_gbm,frzmlt,          & 
     
    5152                vsnon,vice,vicen 
    5253   USE ice_flux, only: strax,stray,strocnx,strocny,frain,fsnow,  & 
     54                strocnxT,strocnyT,                               &  
    5355                sst,sss,uocn,vocn,ss_tltx,ss_tlty,fsalt_ai,     & 
    5456                fresh_ai,fhocn_ai,fswthru_ai,frzmlt,          & 
     
    98100#  include "domzgr_substitute.h90" 
    99101 
     102   !! $Id$ 
    100103CONTAINS 
    101104 
     
    139142         IF      ( ksbc == jp_flx ) THEN 
    140143            CALL cice_sbc_force(kt) 
    141          ELSE IF ( ksbc == jp_cpl ) THEN 
     144         ELSE IF ( ksbc == jp_purecpl ) THEN 
    142145            CALL sbc_cpl_ice_flx( 1.0-fr_i  ) 
    143146         ENDIF 
     
    147150         CALL cice_sbc_out ( kt, ksbc ) 
    148151 
    149          IF ( ksbc == jp_cpl )  CALL cice_sbc_hadgam(kt+1) 
     152         IF ( ksbc == jp_purecpl )  CALL cice_sbc_hadgam(kt+1) 
    150153 
    151154      ENDIF                                          ! End sea-ice time step only 
     
    202205 
    203206! Do some CICE consistency checks 
    204       IF ( (ksbc == jp_flx) .OR. (ksbc == jp_cpl) ) THEN 
     207      IF ( (ksbc == jp_flx) .OR. (ksbc == jp_purecpl) ) THEN 
    205208         IF ( calc_strair .OR. calc_Tsfc ) THEN 
    206209            CALL ctl_stop( 'STOP', 'cice_sbc_init : Forcing option requires calc_strair=F and calc_Tsfc=F in ice_in' ) 
     
    223226 
    224227      CALL cice2nemo(aice,fr_i, 'T', 1. ) 
    225       IF ( (ksbc == jp_flx) .OR. (ksbc == jp_cpl) ) THEN 
     228      IF ( (ksbc == jp_flx) .OR. (ksbc == jp_purecpl) ) THEN 
    226229         DO jl=1,ncat 
    227230            CALL cice2nemo(aicen(:,:,jl,:),a_i(:,:,jl), 'T', 1. ) 
     
    331334! forced and coupled case  
    332335 
    333       IF ( (ksbc == jp_flx).OR.(ksbc == jp_cpl) ) THEN 
     336      IF ( (ksbc == jp_flx).OR.(ksbc == jp_purecpl) ) THEN 
    334337 
    335338         ztmpn(:,:,:)=0.0 
     
    562565! Combine wind stress and ocean-ice stress 
    563566! [Note that fr_iu hasn't yet been updated, so still from start of CICE timestep] 
     567! strocnx and strocny already weighted by ice fraction in CICE so not done here  
    564568 
    565569      utau(:,:)=(1.0-fr_iu(:,:))*utau(:,:)-ss_iou(:,:) 
    566570      vtau(:,:)=(1.0-fr_iv(:,:))*vtau(:,:)-ss_iov(:,:)      
     571  
     572! Also need ice/ocean stress on T points so that taum can be updated  
     573! This interpolation is already done in CICE so best to use those values  
     574      CALL cice2nemo(strocnxT,ztmp1,'T',-1.)  
     575      CALL cice2nemo(strocnyT,ztmp2,'T',-1.)  
     576  
     577! Update taum with modulus of ice-ocean stress  
     578! strocnxT and strocnyT are not weighted by ice fraction in CICE so must be done here  
     579taum(:,:)=(1.0-fr_i(:,:))*taum(:,:)+fr_i(:,:)*SQRT(ztmp1**2. + ztmp2**2.)  
    567580 
    568581! Freshwater fluxes  
     
    576589      ELSE IF (ksbc == jp_core) THEN 
    577590         emp(:,:)  = (1.0-fr_i(:,:))*emp(:,:)         
    578       ELSE IF (ksbc == jp_cpl) THEN 
     591      ELSE IF (ksbc == jp_purecpl) THEN 
    579592! emp_tot is set in sbc_cpl_ice_flx (called from cice_sbc_in above)  
    580593! This is currently as required with the coupling fields from the UM atmosphere 
     
    612625      ENDIF 
    613626! Take into account snow melting except for fully coupled when already in qns_tot 
    614       IF (ksbc == jp_cpl) THEN 
     627      IF (ksbc == jp_purecpl) THEN 
    615628         qsr(:,:)= qsr_tot(:,:) 
    616629         qns(:,:)= qns_tot(:,:) 
     
    647660 
    648661      CALL cice2nemo(aice,fr_i,'T', 1. ) 
    649       IF ( (ksbc == jp_flx).OR.(ksbc == jp_cpl) ) THEN 
     662      IF ( (ksbc == jp_flx).OR.(ksbc == jp_purecpl) ) THEN 
    650663         DO jl=1,ncat 
    651664            CALL cice2nemo(aicen(:,:,jl,:),a_i(:,:,jl), 'T', 1. ) 
     
    10941107   !!   Default option           Dummy module         NO CICE sea-ice model 
    10951108   !!---------------------------------------------------------------------- 
     1109   !! $Id$ 
    10961110CONTAINS 
    10971111 
Note: See TracChangeset for help on using the changeset viewer.