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 11403 for NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/DYN/dynhpg.F90 – NEMO

Ignore:
Timestamp:
2019-08-05T19:14:52+02:00 (5 years ago)
Author:
mathiot
Message:

ENHANCE-02_ISF_nemo : add comments, renaming file (AGRIF), add isfload module (ticket #2142)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/DYN/dynhpg.F90

    r11395 r11403  
    3131   !!---------------------------------------------------------------------- 
    3232   USE oce             ! ocean dynamics and tracers 
    33    USE isf             ! ice shelf 
     33   USE isf             ! ice shelf  (risfload variable) 
     34   USE isfload         ! ice shelf  (isf_load routine ) 
    3435   USE sbc_oce         ! surface variable (only for the flag with ice shelf) 
    3536   USE dom_oce         ! ocean space and time domain 
     
    214215      ENDIF 
    215216      !                           
    216       IF ( .NOT. ln_isfcav ) THEN     !--- no ice shelf load 
    217          riceload(:,:) = 0._wp 
    218          ! 
    219       ELSE                            !--- set an ice shelf load 
    220          ! 
    221          IF(lwp) WRITE(numout,*) 
    222          IF(lwp) WRITE(numout,*) '   ice shelf case: set the ice-shelf load' 
    223          ALLOCATE( zts_top(jpi,jpj,jpts) , zrhd(jpi,jpj,jpk) , zrhdtop_isf(jpi,jpj) , ziceload(jpi,jpj) )  
    224          ! 
    225          znad = 1._wp                     !- To use density and not density anomaly 
    226          ! 
    227          !                                !- assume water displaced by the ice shelf is at T=-1.9 and S=34.4 (rude) 
    228          zts_top(:,:,jp_tem) = -1.9_wp   ;   zts_top(:,:,jp_sal) = 34.4_wp 
    229          ! 
    230          DO jk = 1, jpk                   !- compute density of the water displaced by the ice shelf  
    231             CALL eos( zts_top(:,:,:), gdept_n(:,:,jk), zrhd(:,:,jk) ) 
    232          END DO 
    233          ! 
    234          !                                !- compute rhd at the ice/oce interface (ice shelf side) 
    235          CALL eos( zts_top , risfdep, zrhdtop_isf ) 
    236          ! 
    237          !                                !- Surface value + ice shelf gradient 
    238          ziceload = 0._wp                       ! compute pressure due to ice shelf load  
    239          DO jj = 1, jpj                         ! (used to compute hpgi/j for all the level from 1 to miku/v) 
    240             DO ji = 1, jpi                      ! divided by 2 later 
    241                ikt = mikt(ji,jj) 
    242                ziceload(ji,jj) = ziceload(ji,jj) + (znad + zrhd(ji,jj,1) ) * e3w_n(ji,jj,1) * (1._wp - tmask(ji,jj,1)) 
    243                DO jk = 2, ikt-1 
    244                   ziceload(ji,jj) = ziceload(ji,jj) + (2._wp * znad + zrhd(ji,jj,jk-1) + zrhd(ji,jj,jk)) * e3w_n(ji,jj,jk) & 
    245                      &                              * (1._wp - tmask(ji,jj,jk)) 
    246                END DO 
    247                IF (ikt  >=  2) ziceload(ji,jj) = ziceload(ji,jj) + (2._wp * znad + zrhdtop_isf(ji,jj) + zrhd(ji,jj,ikt-1)) & 
    248                   &                                              * ( risfdep(ji,jj) - gdept_n(ji,jj,ikt-1) ) 
    249             END DO 
    250          END DO 
    251          riceload(:,:) = ziceload(:,:)  ! need to be saved for diaar5 
    252          ! 
    253          DEALLOCATE( zts_top , zrhd , zrhdtop_isf , ziceload )  
    254       ENDIF 
    255       ! 
    256217   END SUBROUTINE dyn_hpg_init 
    257  
    258218 
    259219   SUBROUTINE hpg_zco( kt ) 
     
    572532      !!         ua = ua - 1/e1u * zhpi 
    573533      !!         va = va - 1/e2v * zhpj 
    574       !!      iceload is added and partial cell case are added to the top and bottom 
     534      !!      iceload is added 
    575535      !!       
    576536      !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend 
     
    617577               &                                  - 0.5_wp * e3w_n(ji,jj,ikt)                                         & 
    618578               &                                    * ( 2._wp * znad + rhd(ji,jj,ikt) + zrhdtop_oce(ji,jj) )          & 
    619                &                                  + ( riceload(ji+1,jj) - riceload(ji,jj))                            )  
     579               &                                  + ( risfload(ji+1,jj) - risfload(ji,jj))                            )  
    620580            zhpj(ji,jj,1) = zcoef0 / e2v(ji,jj) * ( 0.5_wp * e3w_n(ji,jj+1,iktp1j)                                    & 
    621581               &                                    * ( 2._wp * znad + rhd(ji,jj+1,iktp1j) + zrhdtop_oce(ji,jj+1) )   & 
    622582               &                                  - 0.5_wp * e3w_n(ji,jj,ikt)                                         &  
    623583               &                                    * ( 2._wp * znad + rhd(ji,jj,ikt) + zrhdtop_oce(ji,jj) )          & 
    624                &                                  + ( riceload(ji,jj+1) - riceload(ji,jj))                            )  
     584               &                                  + ( risfload(ji,jj+1) - risfload(ji,jj))                            )  
    625585            ! s-coordinate pressure gradient correction (=0 if z coordinate) 
    626586            zuap = -zcoef0 * ( rhd    (ji+1,jj,1) + rhd    (ji,jj,1) + 2._wp * znad )   & 
Note: See TracChangeset for help on using the changeset viewer.