- Timestamp:
- 2013-12-11T18:34:00+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/LIM_SRC_3/limthd_ent.F90
r4161 r4333 36 36 PUBLIC lim_thd_ent ! called by lim_thd 37 37 38 REAL(wp) :: epsi20 = 1e-20_wp ! constant values 39 REAL(wp) :: epsi13 = 1e-13_wp ! 40 REAL(wp) :: epsi10 = 1e-10_wp ! 41 REAL(wp) :: epsi06 = 1e-06_wp ! 38 REAL(wp) :: epsi20 = 1.e-20_wp ! constant values 39 REAL(wp) :: epsi10 = 1.e-10_wp ! 42 40 REAL(wp) :: zzero = 0._wp ! 43 41 REAL(wp) :: zone = 1._wp ! … … 122 120 REAL(wp), POINTER, DIMENSION(:,:) :: zhl0 ! old and new layer thicknesses 123 121 REAL(wp), POINTER, DIMENSION(:,:) :: zrl01 122 123 REAL(wp) :: zinda 124 124 !!------------------------------------------------------------------- 125 125 … … 391 391 DO layer1 = ntop1, nbot1 392 392 DO ji = kideb, kiut 393 zrl01(layer1,layer0) = MAX(0.0,( MIN(zm0(ji,layer0),z_s(ji,layer1)) & 393 zinda = MAX( 0._wp, SIGN( 1._wp , zhl0(ji,layer0) - epsi10 ) ) 394 zrl01(layer1,layer0) = zinda * MAX(0.0,( MIN(zm0(ji,layer0),z_s(ji,layer1)) & 394 395 & - MAX(zm0(ji,layer0-1), z_s(ji,layer1-1))) / MAX(zhl0(ji,layer0),epsi10)) 395 396 q_s_b(ji,layer1) = q_s_b(ji,layer1) + zrl01(layer1,layer0)*qm0(ji,layer0) & … … 407 408 END DO 408 409 409 IF ( con_i ) THEN410 IF ( con_i .AND. jiindex_1d > 0 ) THEN 410 411 DO ji = kideb, kiut 411 412 IF ( ABS ( zqts_in(ji) - zqts_fin(ji) ) * r1_rdtice > 1.0e-6 ) THEN … … 429 430 DO jk = 1, nlay_s 430 431 DO ji = kideb, kiut 431 q_s_b(ji,jk) = q_s_b(ji,jk) / MAX( zh_s(ji) , epsi20 ) 432 zinda = MAX( 0._wp, SIGN( 1._wp , zh_s(ji) - epsi10 ) ) 433 q_s_b(ji,jk) = zinda * q_s_b(ji,jk) / MAX( zh_s(ji) , epsi10 ) 432 434 END DO !ji 433 435 END DO !jk … … 555 557 DO ji = kideb, kiut 556 558 ! Heat conservation 557 zqti_in(ji) = zqti_in(ji) + qm0(ji,jk) * MAX( 0.0 , SIGN(1.0,ht_i_b(ji)-epsi 06) ) &559 zqti_in(ji) = zqti_in(ji) + qm0(ji,jk) * MAX( 0.0 , SIGN(1.0,ht_i_b(ji)-epsi10) ) & 558 560 & * MAX( 0.0 , SIGN( 1. , REAL(nbot0(ji) - jk) ) ) 559 561 END DO … … 601 603 DO layer1 = ntop1, nbot1 602 604 DO ji = kideb, kiut 603 zrl01(layer1,layer0) = MAX(0.0,( MIN(zm0(ji,layer0),z_i(ji,layer1)) & 605 zinda = MAX( 0._wp, SIGN( 1._wp , zhl0(ji,layer0) - epsi10 ) ) 606 zrl01(layer1,layer0) = zinda * MAX(0.0,( MIN(zm0(ji,layer0),z_i(ji,layer1)) & 604 607 - MAX(zm0(ji,layer0-1), z_i(ji,layer1-1)))/MAX(zhl0(ji,layer0),epsi10)) 605 608 q_i_b(ji,layer1) = q_i_b(ji,layer1) & 606 609 + zrl01(layer1,layer0)*qm0(ji,layer0) & 607 * MAX(0.0,SIGN(1.0,ht_i_b(ji)-epsi 06)) &610 * MAX(0.0,SIGN(1.0,ht_i_b(ji)-epsi10)) & 608 611 * MAX(0.0,SIGN(1.0,REAL(nbot0(ji)-layer0))) 609 612 END DO … … 621 624 END DO 622 625 ! 623 IF ( con_i ) THEN626 IF ( con_i .AND. jiindex_1d > 0 ) THEN 624 627 DO ji = kideb, kiut 625 628 IF ( ABS ( zqti_in(ji) - zqti_fin(ji) ) * r1_rdtice > 1.0e-6 ) THEN … … 646 649 DO jk = 1, nlay_i 647 650 DO ji = kideb, kiut 648 q_i_b(ji,jk) = q_i_b(ji,jk) / MAX( zh_i(ji) , epsi20 ) 651 zinda = MAX( 0._wp, SIGN( 1._wp , zh_i(ji) - epsi10 ) ) 652 q_i_b(ji,jk) = zinda * q_i_b(ji,jk) / MAX( zh_i(ji) , epsi10 ) 649 653 END DO !ji 650 654 END DO !jk
Note: See TracChangeset
for help on using the changeset viewer.