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 15529 for NEMO/trunk/src/OCE/DYN – NEMO

Ignore:
Timestamp:
2021-11-23T16:00:19+01:00 (3 years ago)
Author:
techene
Message:

#2695 : isf+qco are now compatible

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DYN/dynhpg.F90

    r14834 r15529  
    189189         &   CALL ctl_stop( 'dyn_hpg_init : ln_hpg_isf=T requires ln_isfcav=T and vice versa' )   
    190190      ! 
    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 
    196191      ! 
    197192      !                               ! Set nhpg from ln_hpg_... flags & consistency check 
     
    555550      REAL(wp), DIMENSION(A2D(nn_hls),jpk ) ::  zhpi, zhpj 
    556551      REAL(wp), DIMENSION(A2D(nn_hls),jpts) ::  zts_top 
    557       REAL(wp), DIMENSION(A2D(nn_hls))      ::  zrhdtop_oce 
     552      REAL(wp), DIMENSION(A2D(nn_hls))      ::  zrhd_top, zdep_top 
    558553      !!---------------------------------------------------------------------- 
    559554      ! 
     
    569564         zts_top(ji,jj,1) = ts(ji,jj,ikt,1,Kmm) 
    570565         zts_top(ji,jj,2) = ts(ji,jj,ikt,2,Kmm) 
    571       END_2D 
    572       CALL eos( zts_top, risfdep, zrhdtop_oce ) 
     566         zdep_top(ji,jj)  = MAX( risfdep(ji,jj) , gdept(ji,jj,1,Kmm) ) 
     567      END_2D 
     568      CALL eos( zts_top, zdep_top, zrhd_top ) 
    573569 
    574570      !                     !===========================! 
     
    582578         !                          ! we assume ISF is in isostatic equilibrium 
    583579         zhpi(ji,jj,1) = zcoef0 * r1_e1u(ji,jj) * (   risfload(ji+1,jj) - risfload(ji,jj)  & 
    584             &                                       + 0.5_wp * ( ze3wi1 * ( rhd(ji+1,jj,ikti1) + zrhdtop_oce(ji+1,jj) )     & 
    585             &                                                  - ze3w   * ( rhd(ji  ,jj,ikt  ) + zrhdtop_oce(ji  ,jj) ) )   ) 
     580            &                                       + 0.5_wp * ( ze3wi1 * ( rhd(ji+1,jj,ikti1) + zrhd_top(ji+1,jj) )     & 
     581            &                                                  - ze3w   * ( rhd(ji  ,jj,ikt  ) + zrhd_top(ji  ,jj) ) )   ) 
    586582         zhpj(ji,jj,1) = zcoef0 * r1_e2v(ji,jj) * (   risfload(ji,jj+1) - risfload(ji,jj)  & 
    587             &                                       + 0.5_wp * ( ze3wj1 * ( rhd(ji,jj+1,iktj1) + zrhdtop_oce(ji,jj+1) )      & 
    588             &                                                  - ze3w   * ( rhd(ji,jj  ,ikt  ) + zrhdtop_oce(ji,jj  ) ) )   )  
     583            &                                       + 0.5_wp * ( ze3wj1 * ( rhd(ji,jj+1,iktj1) + zrhd_top(ji,jj+1) )      & 
     584            &                                                  - ze3w   * ( rhd(ji,jj  ,ikt  ) + zrhd_top(ji,jj  ) ) )   ) 
    589585         !                          ! s-coordinate pressure gradient correction (=0 if z coordinate) 
    590586         zuap = -zcoef0 * ( rhd    (ji+1,jj,1) + rhd    (ji,jj,1) )   & 
Note: See TracChangeset for help on using the changeset viewer.