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 5612 for branches/UKMO/dev_r5518_CICE_coupling_GSI7/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90 – NEMO

Ignore:
Timestamp:
2015-07-20T11:11:11+02:00 (9 years ago)
Author:
dancopsey
Message:

Merged with revision 5518 of the trunk (NEMO3.6_stable).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_CICE_coupling_GSI7/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    • Property svn:keywords set to Id
    r5522 r5612  
    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,nt_Tsfc 
    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,          & 
     
    106108#  include "domzgr_substitute.h90" 
    107109 
     110   !! $Id$ 
    108111CONTAINS 
    109112 
     
    147150         IF      ( ksbc == jp_flx ) THEN 
    148151            CALL cice_sbc_force(kt) 
    149          ELSE IF ( ksbc == jp_cpl ) THEN 
     152         ELSE IF ( ksbc == jp_purecpl ) THEN 
    150153            CALL sbc_cpl_ice_flx( 1.0-fr_i  ) 
    151154         ENDIF 
     
    155158         CALL cice_sbc_out ( kt, ksbc ) 
    156159 
    157          IF ( ksbc == jp_cpl )  CALL cice_sbc_hadgam(kt+1) 
     160         IF ( ksbc == jp_purecpl )  CALL cice_sbc_hadgam(kt+1) 
    158161 
    159162      ENDIF                                          ! End sea-ice time step only 
     
    209212 
    210213! Do some CICE consistency checks 
    211       IF ( (ksbc == jp_flx) .OR. (ksbc == jp_cpl) ) THEN 
     214      IF ( (ksbc == jp_flx) .OR. (ksbc == jp_purecpl) ) THEN 
    212215         IF ( calc_strair .OR. calc_Tsfc ) THEN 
    213216            CALL ctl_stop( 'STOP', 'cice_sbc_init : Forcing option requires calc_strair=F and calc_Tsfc=F in ice_in' ) 
     
    231234 
    232235      CALL cice2nemo(aice,fr_i, 'T', 1. ) 
    233       IF ( (ksbc == jp_flx) .OR. (ksbc == jp_cpl) ) THEN 
     236      IF ( (ksbc == jp_flx) .OR. (ksbc == jp_purecpl) ) THEN 
    234237         DO jl=1,ncat 
    235238            CALL cice2nemo(aicen(:,:,jl,:),a_i(:,:,jl), 'T', 1. ) 
     
    339342! forced and coupled case  
    340343 
    341       IF ( (ksbc == jp_flx).OR.(ksbc == jp_cpl) ) THEN 
     344      IF ( (ksbc == jp_flx).OR.(ksbc == jp_purecpl) ) THEN 
    342345 
    343346         ztmpn(:,:,:)=0.0 
     
    521524      CALL nemo2cice(ztmp,ss_tlty,'F', -1. ) 
    522525 
    523       CALL wrk_dealloc( jpi,jpj, ztmp ) 
     526      CALL wrk_dealloc( jpi,jpj, ztmp, zpice ) 
    524527      CALL wrk_dealloc( jpi,jpj,ncat, ztmpn ) 
    525528      ! 
     
    575578! Combine wind stress and ocean-ice stress 
    576579! [Note that fr_iu hasn't yet been updated, so still from start of CICE timestep] 
     580! strocnx and strocny already weighted by ice fraction in CICE so not done here  
    577581 
    578582      utau(:,:)=(1.0-fr_iu(:,:))*utau(:,:)-ss_iou(:,:) 
    579583      vtau(:,:)=(1.0-fr_iv(:,:))*vtau(:,:)-ss_iov(:,:)      
     584  
     585! Also need ice/ocean stress on T points so that taum can be updated  
     586! This interpolation is already done in CICE so best to use those values  
     587      CALL cice2nemo(strocnxT,ztmp1,'T',-1.)  
     588      CALL cice2nemo(strocnyT,ztmp2,'T',-1.)  
     589  
     590! Update taum with modulus of ice-ocean stress  
     591! strocnxT and strocnyT are not weighted by ice fraction in CICE so must be done here  
     592taum(:,:)=(1.0-fr_i(:,:))*taum(:,:)+fr_i(:,:)*SQRT(ztmp1**2. + ztmp2**2.)  
    580593 
    581594! Freshwater fluxes  
     
    589602      ELSE IF (ksbc == jp_core) THEN 
    590603         emp(:,:)  = (1.0-fr_i(:,:))*emp(:,:)         
    591       ELSE IF (ksbc == jp_cpl) THEN 
     604      ELSE IF (ksbc == jp_purecpl) THEN 
    592605! emp_tot is set in sbc_cpl_ice_flx (called from cice_sbc_in above)  
    593606! This is currently as required with the coupling fields from the UM atmosphere 
     
    625638      ENDIF 
    626639! Take into account snow melting except for fully coupled when already in qns_tot 
    627       IF (ksbc == jp_cpl) THEN 
     640      IF (ksbc == jp_purecpl) THEN 
    628641         qsr(:,:)= qsr_tot(:,:) 
    629642         qns(:,:)= qns_tot(:,:) 
     
    660673 
    661674      CALL cice2nemo(aice,fr_i,'T', 1. ) 
    662       IF ( (ksbc == jp_flx).OR.(ksbc == jp_cpl) ) THEN 
     675      IF ( (ksbc == jp_flx).OR.(ksbc == jp_purecpl) ) THEN 
    663676         DO jl=1,ncat 
    664677            CALL cice2nemo(aicen(:,:,jl,:),a_i(:,:,jl), 'T', 1. ) 
     
    11271140   !!   Default option           Dummy module         NO CICE sea-ice model 
    11281141   !!---------------------------------------------------------------------- 
     1142   !! $Id$ 
    11291143CONTAINS 
    11301144 
Note: See TracChangeset for help on using the changeset viewer.