Changeset 12721 for NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo/src/OCE/DYN/dynhpg.F90
- Timestamp:
- 2020-04-08T20:42:57+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo/src/OCE/DYN/dynhpg.F90
r12658 r12721 31 31 !!---------------------------------------------------------------------- 32 32 USE oce ! ocean dynamics and tracers 33 USE isf_oce , ONLY : risfload ! ice shelf (risfload variable) 34 USE isfload , ONLY : isf_load ! ice shelf (isf_load routine ) 33 35 USE sbc_oce ! surface variable (only for the flag with ice shelf) 34 36 USE dom_oce ! ocean space and time domain … … 213 215 ENDIF 214 216 ! 215 IF ( .NOT. ln_isfcav ) THEN !--- no ice shelf load216 riceload(:,:) = 0._wp217 !218 ELSE !--- set an ice shelf load219 !220 IF(lwp) WRITE(numout,*)221 IF(lwp) WRITE(numout,*) ' ice shelf case: set the ice-shelf load'222 ALLOCATE( zts_top(jpi,jpj,jpts) , zrhd(jpi,jpj,jpk) , zrhdtop_isf(jpi,jpj) , ziceload(jpi,jpj) )223 !224 znad = 1._wp !- To use density and not density anomaly225 !226 ! !- assume water displaced by the ice shelf is at T=-1.9 and S=34.4 (rude)227 zts_top(:,:,jp_tem) = -1.9_wp ; zts_top(:,:,jp_sal) = 34.4_wp228 !229 DO jk = 1, jpk !- compute density of the water displaced by the ice shelf230 CALL eos( zts_top(:,:,:), gdept_n(:,:,jk), zrhd(:,:,jk) )231 END DO232 !233 ! !- compute rhd at the ice/oce interface (ice shelf side)234 CALL eos( zts_top , risfdep, zrhdtop_isf )235 !236 ! !- Surface value + ice shelf gradient237 ziceload = 0._wp ! compute pressure due to ice shelf load238 DO jj = 1, jpj ! (used to compute hpgi/j for all the level from 1 to miku/v)239 DO ji = 1, jpi ! divided by 2 later240 ikt = mikt(ji,jj)241 ziceload(ji,jj) = ziceload(ji,jj) + (znad + zrhd(ji,jj,1) ) * e3w_n(ji,jj,1) * (1._wp - tmask(ji,jj,1))242 DO jk = 2, ikt-1243 ziceload(ji,jj) = ziceload(ji,jj) + (2._wp * znad + zrhd(ji,jj,jk-1) + zrhd(ji,jj,jk)) * e3w_n(ji,jj,jk) &244 & * (1._wp - tmask(ji,jj,jk))245 END DO246 IF (ikt >= 2) ziceload(ji,jj) = ziceload(ji,jj) + (2._wp * znad + zrhdtop_isf(ji,jj) + zrhd(ji,jj,ikt-1)) &247 & * ( risfdep(ji,jj) - gdept_n(ji,jj,ikt-1) )248 END DO249 END DO250 riceload(:,:) = ziceload(:,:) ! need to be saved for diaar5251 !252 DEALLOCATE( zts_top , zrhd , zrhdtop_isf , ziceload )253 ENDIF254 !255 217 END SUBROUTINE dyn_hpg_init 256 257 218 258 219 SUBROUTINE hpg_zco( kt ) … … 572 533 !! ua = ua - 1/e1u * zhpi 573 534 !! va = va - 1/e2v * zhpj 574 !! iceload is added and partial cell case are added to the top and bottom535 !! iceload is added 575 536 !! 576 537 !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend … … 617 578 & - 0.5_wp * e3w_n(ji,jj,ikt) & 618 579 & * ( 2._wp * znad + rhd(ji,jj,ikt) + zrhdtop_oce(ji,jj) ) & 619 & + ( ri ceload(ji+1,jj) - riceload(ji,jj)) )580 & + ( risfload(ji+1,jj) - risfload(ji,jj)) ) 620 581 zhpj(ji,jj,1) = zcoef0 / e2v(ji,jj) * ( 0.5_wp * e3w_n(ji,jj+1,iktp1j) & 621 582 & * ( 2._wp * znad + rhd(ji,jj+1,iktp1j) + zrhdtop_oce(ji,jj+1) ) & 622 583 & - 0.5_wp * e3w_n(ji,jj,ikt) & 623 584 & * ( 2._wp * znad + rhd(ji,jj,ikt) + zrhdtop_oce(ji,jj) ) & 624 & + ( ri ceload(ji,jj+1) - riceload(ji,jj)) )585 & + ( risfload(ji,jj+1) - risfload(ji,jj)) ) 625 586 ! s-coordinate pressure gradient correction (=0 if z coordinate) 626 587 zuap = -zcoef0 * ( rhd (ji+1,jj,1) + rhd (ji,jj,1) + 2._wp * znad ) &
Note: See TracChangeset
for help on using the changeset viewer.