Ignore:
Timestamp:
2015-07-15T17:46:12+02:00 (5 years ago)
Author:
andrewryan
Message:

merged in latest version of trunk alongside changes to SAO_SRC to be compatible with latest OBS

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    • Property svn:keywords set to Id
    r5034 r5600  
    4040# if defined key_cice4 
    4141   USE ice_flux, only: strax,stray,strocnx,strocny,frain,fsnow,  & 
     42                strocnxT,strocnyT,                               &  
    4243                sst,sss,uocn,vocn,ss_tltx,ss_tlty,fsalt_gbm,     & 
    4344                fresh_gbm,fhocn_gbm,fswthru_gbm,frzmlt,          & 
     
    4849#else 
    4950   USE ice_flux, only: strax,stray,strocnx,strocny,frain,fsnow,  & 
     51                strocnxT,strocnyT,                               &  
    5052                sst,sss,uocn,vocn,ss_tltx,ss_tlty,fsalt_ai,     & 
    5153                fresh_ai,fhocn_ai,fswthru_ai,frzmlt,          & 
     
    9496#  include "domzgr_substitute.h90" 
    9597 
     98   !! $Id$ 
    9699CONTAINS 
    97100 
     
    135138         IF      ( ksbc == jp_flx ) THEN 
    136139            CALL cice_sbc_force(kt) 
    137          ELSE IF ( ksbc == jp_cpl ) THEN 
     140         ELSE IF ( ksbc == jp_purecpl ) THEN 
    138141            CALL sbc_cpl_ice_flx( 1.0-fr_i  ) 
    139142         ENDIF 
     
    143146         CALL cice_sbc_out ( kt, ksbc ) 
    144147 
    145          IF ( ksbc == jp_cpl )  CALL cice_sbc_hadgam(kt+1) 
     148         IF ( ksbc == jp_purecpl )  CALL cice_sbc_hadgam(kt+1) 
    146149 
    147150      ENDIF                                          ! End sea-ice time step only 
     
    184187 
    185188! Do some CICE consistency checks 
    186       IF ( (ksbc == jp_flx) .OR. (ksbc == jp_cpl) ) THEN 
     189      IF ( (ksbc == jp_flx) .OR. (ksbc == jp_purecpl) ) THEN 
    187190         IF ( calc_strair .OR. calc_Tsfc ) THEN 
    188191            CALL ctl_stop( 'STOP', 'cice_sbc_init : Forcing option requires calc_strair=F and calc_Tsfc=F in ice_in' ) 
     
    209212 
    210213      CALL cice2nemo(aice,fr_i, 'T', 1. ) 
    211       IF ( (ksbc == jp_flx) .OR. (ksbc == jp_cpl) ) THEN 
     214      IF ( (ksbc == jp_flx) .OR. (ksbc == jp_purecpl) ) THEN 
    212215         DO jl=1,ncat 
    213216            CALL cice2nemo(aicen(:,:,jl,:),a_i(:,:,jl), 'T', 1. ) 
     
    316319! forced and coupled case  
    317320 
    318       IF ( (ksbc == jp_flx).OR.(ksbc == jp_cpl) ) THEN 
     321      IF ( (ksbc == jp_flx).OR.(ksbc == jp_purecpl) ) THEN 
    319322 
    320323         ztmpn(:,:,:)=0.0 
     
    506509      CALL nemo2cice(ztmp,ss_tlty,'F', -1. ) 
    507510 
    508       CALL wrk_dealloc( jpi,jpj, ztmp ) 
     511      CALL wrk_dealloc( jpi,jpj, ztmp, zpice ) 
    509512      CALL wrk_dealloc( jpi,jpj,ncat, ztmpn ) 
    510513      ! 
     
    560563! Combine wind stress and ocean-ice stress 
    561564! [Note that fr_iu hasn't yet been updated, so still from start of CICE timestep] 
     565! strocnx and strocny already weighted by ice fraction in CICE so not done here  
    562566 
    563567      utau(:,:)=(1.0-fr_iu(:,:))*utau(:,:)-ss_iou(:,:) 
    564568      vtau(:,:)=(1.0-fr_iv(:,:))*vtau(:,:)-ss_iov(:,:)      
     569  
     570! Also need ice/ocean stress on T points so that taum can be updated  
     571! This interpolation is already done in CICE so best to use those values  
     572      CALL cice2nemo(strocnxT,ztmp1,'T',-1.)  
     573      CALL cice2nemo(strocnyT,ztmp2,'T',-1.)  
     574  
     575! Update taum with modulus of ice-ocean stress  
     576! strocnxT and strocnyT are not weighted by ice fraction in CICE so must be done here  
     577taum(:,:)=(1.0-fr_i(:,:))*taum(:,:)+fr_i(:,:)*SQRT(ztmp1**2. + ztmp2**2.)  
    565578 
    566579! Freshwater fluxes  
     
    574587      ELSE IF (ksbc == jp_core) THEN 
    575588         emp(:,:)  = (1.0-fr_i(:,:))*emp(:,:)         
    576       ELSE IF (ksbc == jp_cpl) THEN 
     589      ELSE IF (ksbc == jp_purecpl) THEN 
    577590! emp_tot is set in sbc_cpl_ice_flx (called from cice_sbc_in above)  
    578591! This is currently as required with the coupling fields from the UM atmosphere 
     
    610623      ENDIF 
    611624! Take into account snow melting except for fully coupled when already in qns_tot 
    612       IF (ksbc == jp_cpl) THEN 
     625      IF (ksbc == jp_purecpl) THEN 
    613626         qsr(:,:)= qsr_tot(:,:) 
    614627         qns(:,:)= qns_tot(:,:) 
     
    645658 
    646659      CALL cice2nemo(aice,fr_i,'T', 1. ) 
    647       IF ( (ksbc == jp_flx).OR.(ksbc == jp_cpl) ) THEN 
     660      IF ( (ksbc == jp_flx).OR.(ksbc == jp_purecpl) ) THEN 
    648661         DO jl=1,ncat 
    649662            CALL cice2nemo(aicen(:,:,jl,:),a_i(:,:,jl), 'T', 1. ) 
     
    10831096   !!   Default option           Dummy module         NO CICE sea-ice model 
    10841097   !!---------------------------------------------------------------------- 
     1098   !! $Id$ 
    10851099CONTAINS 
    10861100 
Note: See TracChangeset for help on using the changeset viewer.