- Timestamp:
- 2013-12-11T15:38:42+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90
r4099 r4332 32 32 PUBLIC lim_thd_dh ! called by lim_thd 33 33 34 REAL(wp) :: epsi20 = 1 e-20 ! constant values35 REAL(wp) :: epsi1 3 = 1e-13!36 REAL(wp) :: epsi1 6 = 1e-16!37 REAL(wp) :: zzero = 0. e0!38 REAL(wp) :: zone = 1. e0!34 REAL(wp) :: epsi20 = 1.e-20 ! constant values 35 REAL(wp) :: epsi10 = 1.e-10 ! 36 REAL(wp) :: epsi13 = 1.e-13 ! 37 REAL(wp) :: zzero = 0._wp ! 38 REAL(wp) :: zone = 1._wp ! 39 39 40 40 !!---------------------------------------------------------------------- … … 125 125 INTEGER :: num_iter_max, numce_dh 126 126 REAL(wp) :: meance_dh 127 REAL(wp) :: zinda 127 128 REAL(wp), POINTER, DIMENSION(:) :: zinnermelt 128 129 REAL(wp), POINTER, DIMENSION(:) :: zfbase, zdq_i … … 288 289 END DO 289 290 290 ! !-------------------291 IF( con_i ) THEN ! Conservation test292 ! !-------------------291 ! !------------------- 292 IF( con_i .AND. jiindex_1d > 0 ) THEN ! Conservation test 293 ! !------------------- 293 294 numce_dh = 0 294 295 meance_dh = 0._wp … … 494 495 END DO ! jk 495 496 496 ! !-------------------497 IF( con_i ) THEN ! Conservation test498 ! !-------------------497 ! !------------------- 498 IF( con_i .AND. jiindex_1d > 0 ) THEN ! Conservation test 499 ! !------------------- 499 500 DO ji = kideb, kiut 500 501 IF( ( fc_bo_i(ji) + fbif_1d(ji) + qlbbq_1d(ji) ) >= 0.e0 ) THEN … … 544 545 sfx_thd_1d(ji) = sfx_thd_1d(ji) - sm_i_b(ji) * a_i_b(ji) * zdvres * rhoic * r1_rdtice 545 546 ! ! excessive energy is sent to lateral ablation 546 fsup (ji) = rhoic * lfus * at_i_b(ji) / MAX( 1.0 - at_i_b(ji) , epsi13 ) * zdvres * r1_rdtice 547 zinda = MAX( 0._wp, SIGN( 1._wp , 1.0 - at_i_b(ji) - epsi10 ) ) 548 fsup(ji) = zinda * rhoic * lfus * at_i_b(ji) / MAX( 1.0 - at_i_b(ji) , epsi10 ) * zdvres * r1_rdtice 547 549 END DO 548 550 … … 577 579 578 580 ! energy of melting of remaining snow 579 zqt_s(ji) = ( 1. - zihg ) * zqt_s(ji) / MAX( zhni, epsi13 ) 581 zinda = MAX( 0._wp, SIGN( 1._wp , zhni - epsi10 ) ) 582 zqt_s(ji) = ( 1. - zihg ) * zqt_s(ji) / MAX( zhni, epsi10 ) * zinda 580 583 zdhnm = - ( 1. - zihg ) * ( 1. - zihgnew ) * zfdt_final(ji) / MAX( zqt_s(ji) , epsi13 ) 581 584 zhnfi = zhni + zdhnm … … 613 616 ENDIF 614 617 ! 615 ! diagnostic ( bottom ice growth )618 ! diagnostic 616 619 ii = MOD( npb(ji) - 1, jpi ) + 1 617 620 ij = ( npb(ji) - 1 ) / jpi + 1 … … 689 692 ! clem: new salinity difference stored (to be used in limthd_ent.F90) 690 693 IF ( num_sal == 2 ) THEN 691 i_ice_switch = 1.0 - MAX( 0.e0 , SIGN( 1.0 , - zhgnew(ji) + epsi13) )694 i_ice_switch = MAX( 0._wp , SIGN( 1._wp , zhgnew(ji) - epsi10 ) ) 692 695 ! salinity dif due to snow-ice formation 693 dsm_i_si_1d(ji) = ( zsm_snowice - sm_i_b(ji) ) * dh_snowice(ji) / MAX( zhgnew(ji), epsi1 3) * i_ice_switch696 dsm_i_si_1d(ji) = ( zsm_snowice - sm_i_b(ji) ) * dh_snowice(ji) / MAX( zhgnew(ji), epsi10 ) * i_ice_switch 694 697 ! salinity dif due to bottom growth 695 698 IF ( fc_bo_i(ji) + fbif_1d(ji) + qlbbq_1d(ji) < 0._wp ) THEN 696 dsm_i_se_1d(ji) = ( s_i_new(ji) - sm_i_b(ji) ) * dh_i_bott(ji) / MAX( zhgnew(ji), epsi1 3) * i_ice_switch699 dsm_i_se_1d(ji) = ( s_i_new(ji) - sm_i_b(ji) ) * dh_i_bott(ji) / MAX( zhgnew(ji), epsi10 ) * i_ice_switch 697 700 ENDIF 698 701 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.