- Timestamp:
- 2015-02-11T16:32:03+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90
r5078 r5079 289 289 ztsub (ji) = t_su_1d(ji) ! temperature at the beg of iter pr. 290 290 ztsubit(ji) = t_su_1d(ji) ! temperature at the previous iter 291 t_su_1d(ji) = MIN( t_su_1d(ji), rt t- ztsu_err ) ! necessary291 t_su_1d(ji) = MIN( t_su_1d(ji), rt0 - ztsu_err ) ! necessary 292 292 zerrit (ji) = 1000._wp ! initial value of error 293 293 END DO … … 318 318 IF( nn_ice_thcon == 0 ) THEN ! Untersteiner (1964) formula 319 319 DO ji = kideb , kiut 320 ztcond_i(ji,0) = rcdic + zbeta * s_i_1d(ji,1) / MIN( -epsi10, t_i_1d(ji,1) - rt t)320 ztcond_i(ji,0) = rcdic + zbeta * s_i_1d(ji,1) / MIN( -epsi10, t_i_1d(ji,1) - rt0 ) 321 321 ztcond_i(ji,0) = MAX( ztcond_i(ji,0), zkimin ) 322 322 END DO … … 324 324 DO ji = kideb , kiut 325 325 ztcond_i(ji,jk) = rcdic + zbeta * ( s_i_1d(ji,jk) + s_i_1d(ji,jk+1) ) / & 326 MIN(-2.0_wp * epsi10, t_i_1d(ji,jk) + t_i_1d(ji,jk+1) - 2.0_wp * rt t)326 MIN(-2.0_wp * epsi10, t_i_1d(ji,jk) + t_i_1d(ji,jk+1) - 2.0_wp * rt0) 327 327 ztcond_i(ji,jk) = MAX( ztcond_i(ji,jk), zkimin ) 328 328 END DO … … 332 332 IF( nn_ice_thcon == 1 ) THEN ! Pringle et al formula included: 2.11 + 0.09 S/T - 0.011.T 333 333 DO ji = kideb , kiut 334 ztcond_i(ji,0) = rcdic + 0.090_wp * s_i_1d(ji,1) / MIN( -epsi10, t_i_1d(ji,1) - rt t) &335 & - 0.011_wp * ( t_i_1d(ji,1) - rt t)334 ztcond_i(ji,0) = rcdic + 0.090_wp * s_i_1d(ji,1) / MIN( -epsi10, t_i_1d(ji,1) - rt0 ) & 335 & - 0.011_wp * ( t_i_1d(ji,1) - rt0 ) 336 336 ztcond_i(ji,0) = MAX( ztcond_i(ji,0), zkimin ) 337 337 END DO … … 340 340 ztcond_i(ji,jk) = rcdic + & 341 341 & 0.09_wp * ( s_i_1d(ji,jk) + s_i_1d(ji,jk+1) ) & 342 & / MIN( -2._wp * epsi10, t_i_1d(ji,jk) + t_i_1d(ji,jk+1) - 2.0_wp * rt t) &343 & - 0.0055_wp * ( t_i_1d(ji,jk) + t_i_1d(ji,jk+1) - 2.0 * rt t)342 & / MIN( -2._wp * epsi10, t_i_1d(ji,jk) + t_i_1d(ji,jk+1) - 2.0_wp * rt0 ) & 343 & - 0.0055_wp * ( t_i_1d(ji,jk) + t_i_1d(ji,jk+1) - 2.0 * rt0 ) 344 344 ztcond_i(ji,jk) = MAX( ztcond_i(ji,jk), zkimin ) 345 345 END DO 346 346 END DO 347 347 DO ji = kideb , kiut 348 ztcond_i(ji,nlay_i) = rcdic + 0.090_wp * s_i_1d(ji,nlay_i) / MIN( -epsi10, t_bo_1d(ji) - rt t) &349 & - 0.011_wp * ( t_bo_1d(ji) - rt t)348 ztcond_i(ji,nlay_i) = rcdic + 0.090_wp * s_i_1d(ji,nlay_i) / MIN( -epsi10, t_bo_1d(ji) - rt0 ) & 349 & - 0.011_wp * ( t_bo_1d(ji) - rt0 ) 350 350 ztcond_i(ji,nlay_i) = MAX( ztcond_i(ji,nlay_i), zkimin ) 351 351 END DO … … 435 435 DO ji = kideb , kiut 436 436 ztitemp(ji,jk) = t_i_1d(ji,jk) 437 zspeche_i(ji,jk) = cpic + zgamma * s_i_1d(ji,jk) / MAX( ( t_i_1d(ji,jk) - rt t ) * ( ztib(ji,jk) - rtt), epsi10 )437 zspeche_i(ji,jk) = cpic + zgamma * s_i_1d(ji,jk) / MAX( ( t_i_1d(ji,jk) - rt0 ) * ( ztib(ji,jk) - rt0 ), epsi10 ) 438 438 zeta_i(ji,jk) = rdt_ice / MAX( rhoic * zspeche_i(ji,jk) * zh_i(ji), epsi10 ) 439 439 END DO … … 532 532 ENDIF 533 533 534 IF ( t_su_1d(ji) < rt t) THEN534 IF ( t_su_1d(ji) < rt0 ) THEN 535 535 536 536 !------------------------------------------------------------------------------| … … 576 576 !------------------------------------------------------------------------------| 577 577 ! 578 IF ( t_su_1d(ji) < rt t) THEN578 IF ( t_su_1d(ji) < rt0 ) THEN 579 579 ! 580 580 !------------------------------------------------------------------------------| … … 693 693 isnow(ji) = 1._wp - MAX( 0._wp , SIGN( 1._wp , -ht_s_1d(ji) ) ) 694 694 ztsubit(ji) = t_su_1d(ji) 695 IF( t_su_1d(ji) < rt t) &695 IF( t_su_1d(ji) < rt0 ) & 696 696 t_su_1d(ji) = ( zindtbis(ji,numeqmin(ji)) - ztrid(ji,numeqmin(ji),3) * & 697 697 & ( isnow(ji) * t_s_1d(ji,1) + ( 1._wp - isnow(ji) ) * t_i_1d(ji,1) ) ) / zdiagbis(ji,numeqmin(ji)) … … 705 705 ! zerrit(ji) is a measure of error, it has to be under terr_dif 706 706 DO ji = kideb , kiut 707 t_su_1d(ji) = MAX( MIN( t_su_1d(ji) , rt t) , 190._wp )707 t_su_1d(ji) = MAX( MIN( t_su_1d(ji) , rt0 ) , 190._wp ) 708 708 zerrit(ji) = ABS( t_su_1d(ji) - ztsubit(ji) ) 709 709 END DO … … 711 711 DO jk = 1, nlay_s 712 712 DO ji = kideb , kiut 713 t_s_1d(ji,jk) = MAX( MIN( t_s_1d(ji,jk), rt t), 190._wp )713 t_s_1d(ji,jk) = MAX( MIN( t_s_1d(ji,jk), rt0 ), 190._wp ) 714 714 zerrit(ji) = MAX( zerrit(ji), ABS( t_s_1d(ji,jk) - ztstemp(ji,jk) ) ) 715 715 END DO … … 718 718 DO jk = 1, nlay_i 719 719 DO ji = kideb , kiut 720 ztmelt_i = -tmut * s_i_1d(ji,jk) + rt t720 ztmelt_i = -tmut * s_i_1d(ji,jk) + rt0 721 721 t_i_1d(ji,jk) = MAX( MIN( t_i_1d(ji,jk), ztmelt_i ), 190._wp ) 722 722 zerrit(ji) = MAX( zerrit(ji), ABS( t_i_1d(ji,jk) - ztitemp(ji,jk) ) ) … … 762 762 zdq(ji) = - zq_ini(ji) + ( SUM( q_i_1d(ji,1:nlay_i) ) * ht_i_1d(ji) * r1_nlay_i + & 763 763 & SUM( q_s_1d(ji,1:nlay_s) ) * ht_s_1d(ji) * r1_nlay_s ) 764 IF( t_su_1d(ji) < rt t) THEN ! case T_su < 0degC764 IF( t_su_1d(ji) < rt0 ) THEN ! case T_su < 0degC 765 765 zhfx_err(ji) = qns_ice_1d(ji) + qsr_ice_1d(ji) - zradtr_i(ji,nlay_i) - fc_bo_i(ji) + zdq(ji) * r1_rdtice 766 766 ELSE ! case T_su = 0degC … … 790 790 !----------------------------------------- 791 791 DO ji = kideb, kiut 792 IF( t_su_1d(ji) < rt t) THEN ! case T_su < 0degC792 IF( t_su_1d(ji) < rt0 ) THEN ! case T_su < 0degC 793 793 hfx_dif_1d(ji) = hfx_dif_1d(ji) + & 794 794 & ( qns_ice_1d(ji) + qsr_ice_1d(ji) - zradtr_i(ji,nlay_i) - fc_bo_i(ji) ) * a_i_1d(ji) … … 834 834 DO jk = 1, nlay_i ! Sea ice energy of melting 835 835 DO ji = kideb, kiut 836 ztmelts = - tmut * s_i_1d(ji,jk) + rt t837 rswitch = MAX( 0._wp , SIGN( 1._wp , -(t_i_1d(ji,jk) - rt t) - epsi20 ) )836 ztmelts = - tmut * s_i_1d(ji,jk) + rt0 837 rswitch = MAX( 0._wp , SIGN( 1._wp , -(t_i_1d(ji,jk) - rt0) - epsi20 ) ) 838 838 q_i_1d(ji,jk) = rhoic * ( cpic * ( ztmelts - t_i_1d(ji,jk) ) & 839 & + lfus * ( 1.0 - rswitch * ( ztmelts-rt t ) / MIN( t_i_1d(ji,jk) - rtt, -epsi20 ) ) &840 & - rcp * ( ztmelts-rt t) )839 & + lfus * ( 1.0 - rswitch * ( ztmelts-rt0 ) / MIN( t_i_1d(ji,jk) - rt0, -epsi20 ) ) & 840 & - rcp * ( ztmelts-rt0 ) ) 841 841 END DO 842 842 END DO 843 843 DO jk = 1, nlay_s ! Snow energy of melting 844 844 DO ji = kideb, kiut 845 q_s_1d(ji,jk) = rhosn * ( cpic * ( rt t- t_s_1d(ji,jk) ) + lfus )845 q_s_1d(ji,jk) = rhosn * ( cpic * ( rt0 - t_s_1d(ji,jk) ) + lfus ) 846 846 END DO 847 847 END DO
Note: See TracChangeset
for help on using the changeset viewer.