Changeset 15036


Ignore:
Timestamp:
2021-06-21T15:27:34+02:00 (4 months ago)
Author:
techene
Message:

#2695 isf + qco OK in ISOMIP not in WED025

Location:
NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/DOM/domzgr_substitute.h90

    r14143 r15036  
    2525#   define  r1_hu(i,j,t)   (r1_hu_0(i,j)/(1._wp+r3u(i,j,t))) 
    2626#   define  r1_hv(i,j,t)   (r1_hv_0(i,j)/(1._wp+r3v(i,j,t))) 
     27# if defined key_isf  
     28#   define  gdept(i,j,k,t) ((gdept_0(i,j,k)-risfdep(i,j))*(1._wp+r3t(i,j,t))+risfdep(i,j)) 
     29#   define  gdepw(i,j,k,t) ((gdepw_0(i,j,k)-risfdep(i,j))*(1._wp+r3t(i,j,t))+risfdep(i,j)) 
     30# else 
    2731#   define  gdept(i,j,k,t) (gdept_0(i,j,k)*(1._wp+r3t(i,j,t))) 
    2832#   define  gdepw(i,j,k,t) (gdepw_0(i,j,k)*(1._wp+r3t(i,j,t))) 
    29 #   define  gde3w(i,j,k)   (gdept_0(i,j,k)*(1._wp+r3t(i,j,Kmm))-ssh(i,j,Kmm)) 
     33# endif 
     34#   define  gde3w(i,j,k)   (gdept(i,j,k,Kmm)-ssh(i,j,Kmm)) 
    3035#elif defined key_linssh 
    3136#   define  e3t(i,j,k,t)   e3t_0(i,j,k) 
     
    4752#endif 
    4853!!---------------------------------------------------------------------- 
    49  
  • NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/DYN/dynhpg.F90

    r14227 r15036  
    188188      IF( (.NOT.ln_hpg_isf .AND. ln_isfcav) .OR. (ln_hpg_isf .AND. .NOT.ln_isfcav) )                  & 
    189189         &   CALL ctl_stop( 'dyn_hpg_init : ln_hpg_isf=T requires ln_isfcav=T and vice versa' )   
    190       ! 
    191 #if defined key_qco 
    192       IF( ln_hpg_isf ) THEN 
    193          CALL ctl_stop( 'dyn_hpg_init : key_qco and ln_hpg_isf not yet compatible' ) 
    194       ENDIF 
    195 #endif 
    196190      ! 
    197191      !                               ! Set nhpg from ln_hpg_... flags & consistency check 
     
    550544      REAL(wp), DIMENSION(jpi,jpj,jpk ) ::  zhpi, zhpj 
    551545      REAL(wp), DIMENSION(jpi,jpj,jpts) ::  zts_top 
    552       REAL(wp), DIMENSION(jpi,jpj)      ::  zrhdtop_oce 
     546      REAL(wp), DIMENSION(jpi,jpj)      ::  zrhd_top, zdep_top 
    553547      !!---------------------------------------------------------------------- 
    554548      ! 
     
    561555      ! usefull to reduce residual current in the test case ISOMIP with no melting 
    562556      DO ji = 1, jpi 
    563         DO jj = 1, jpj 
    564           ikt = mikt(ji,jj) 
    565           zts_top(ji,jj,1) = ts(ji,jj,ikt,1,Kmm) 
    566           zts_top(ji,jj,2) = ts(ji,jj,ikt,2,Kmm) 
    567         END DO 
     557         DO jj = 1, jpj 
     558            ikt = mikt(ji,jj) 
     559            zts_top(ji,jj,1) = ts(ji,jj,ikt,1,Kmm) 
     560            zts_top(ji,jj,2) = ts(ji,jj,ikt,2,Kmm) 
     561            zdep_top(ji,jj)  = MAX( risfdep(ji,jj) , gdept(ji,jj,1,Kmm) ) 
     562         END DO 
    568563      END DO 
    569       CALL eos( zts_top, risfdep, zrhdtop_oce ) 
     564!!st      CALL eos( zts_top, zdep_top, zrhd_top ) 
     565      CALL eos( zts_top, risfdep, zrhd_top ) 
    570566 
    571567      !                     !===========================! 
     
    579575         !                          ! we assume ISF is in isostatic equilibrium 
    580576         zhpi(ji,jj,1) = zcoef0 * r1_e1u(ji,jj) * (   risfload(ji+1,jj) - risfload(ji,jj)  & 
    581             &                                       + 0.5_wp * ( ze3wi1 * ( rhd(ji+1,jj,ikti1) + zrhdtop_oce(ji+1,jj) )     & 
    582             &                                                  - ze3w   * ( rhd(ji  ,jj,ikt  ) + zrhdtop_oce(ji  ,jj) ) )   ) 
     577            &                                       + 0.5_wp * ( ze3wi1 * ( rhd(ji+1,jj,ikti1) + zrhd_top(ji+1,jj) )     & 
     578            &                                                  - ze3w   * ( rhd(ji  ,jj,ikt  ) + zrhd_top(ji  ,jj) ) )   ) 
    583579         zhpj(ji,jj,1) = zcoef0 * r1_e2v(ji,jj) * (   risfload(ji,jj+1) - risfload(ji,jj)  & 
    584             &                                       + 0.5_wp * ( ze3wj1 * ( rhd(ji,jj+1,iktj1) + zrhdtop_oce(ji,jj+1) )      & 
    585             &                                                  - ze3w   * ( rhd(ji,jj  ,ikt  ) + zrhdtop_oce(ji,jj  ) ) )   )  
     580            &                                       + 0.5_wp * ( ze3wj1 * ( rhd(ji,jj+1,iktj1) + zrhd_top(ji,jj+1) )      & 
     581            &                                                  - ze3w   * ( rhd(ji,jj  ,ikt  ) + zrhd_top(ji,jj  ) ) )   )  
    586582         !                          ! s-coordinate pressure gradient correction (=0 if z coordinate) 
    587583         zuap = -zcoef0 * ( rhd    (ji+1,jj,1) + rhd    (ji,jj,1) )   & 
  • NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/ISF/isfstp.F90

    r14143 r15036  
    195195         ! 
    196196         IF ( ln_isf ) THEN 
     197#if key_qco 
     198# if ! defined key_isf 
     199            CALL ctl_stop( 'STOP', 'isf_ctl: ice shelf requires both ln_isf=T AND key_isf activated' ) 
     200# endif 
     201#endif 
    197202            WRITE(numout,*) '      Add debug print in isf module           ln_isfdebug     = ', ln_isfdebug 
    198203            WRITE(numout,*) 
Note: See TracChangeset for help on using the changeset viewer.