Changeset 7813 for trunk/NEMOGCM/NEMO/LIM_SRC_3
- Timestamp:
- 2017-03-20T17:17:45+01:00 (7 years ago)
- Location:
- trunk/NEMOGCM/NEMO/LIM_SRC_3
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r7646 r7813 232 232 LOGICAL , PUBLIC :: ln_it_qnsice !: iterate surface flux with changing surface temperature or not (F) 233 233 INTEGER , PUBLIC :: nn_monocat !: virtual ITD mono-category parameterizations (1) or not (0) 234 REAL(wp), PUBLIC :: rn_cdsn !: thermal conductivity of the snow [W/m/K] 234 235 ! -- limthd_dh -- ! 235 236 LOGICAL , PUBLIC :: ln_limdH !: activate ice thickness change from growing/melting (T) or not (F) … … 458 459 FUNCTION ice_alloc() 459 460 !!----------------------------------------------------------------- 460 !! *** Routine ice_alloc _2***461 !! *** Routine ice_alloc *** 461 462 !!----------------------------------------------------------------- 462 463 INTEGER :: ice_alloc -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90
r7753 r7813 147 147 z2d(:,:) = t_su(:,:,jl) 148 148 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 149 END DO150 151 DO jl = 1, jpl152 WRITE(zchar,'(I2.2)') jl153 149 znam = 'tempt_sl1'//'_htc'//zchar 154 150 z2d(:,:) = e_s(:,:,1,jl) 155 151 CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 156 END DO157 158 DO jl = 1, jpl159 WRITE(zchar,'(I2.2)') jl160 152 DO jk = 1, nlay_i 161 153 WRITE(zchar1,'(I2.2)') jk … … 376 368 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 377 369 t_su(:,:,jl) = z2d(:,:) 378 END DO379 380 DO jl = 1, jpl381 WRITE(zchar,'(I2.2)') jl382 370 znam = 'tempt_sl1'//'_htc'//zchar 383 371 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 384 372 e_s(:,:,1,jl) = z2d(:,:) 385 END DO386 387 DO jl = 1, jpl388 WRITE(zchar,'(I2.2)') jl389 373 DO jk = 1, nlay_i 390 374 WRITE(zchar1,'(I2.2)') jk -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
r7753 r7813 571 571 !!------------------------------------------------------------------- 572 572 INTEGER :: ios ! Local integer output status for namelist read 573 NAMELIST/namicethd/ rn_kappa_i, nn_conv_dif, rn_terr_dif, nn_ice_thcon, ln_it_qnsice,nn_monocat, &574 & ln_limdH, rn_betas, &575 & ln_limdA, rn_beta, rn_dmin, &573 NAMELIST/namicethd/ rn_kappa_i, nn_conv_dif, rn_terr_dif, nn_ice_thcon, ln_it_qnsice, nn_monocat, rn_cdsn, & 574 & ln_limdH, rn_betas, & 575 & ln_limdA, rn_beta, rn_dmin, & 576 576 & ln_limdO, rn_hnewice, ln_frazil, rn_maxfrazb, rn_vfrazb, rn_Cfrazb, rn_himin 577 577 !!------------------------------------------------------------------- … … 585 585 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicethd in configuration namelist', lwp ) 586 586 IF(lwm) WRITE ( numoni, namicethd ) 587 ! 588 IF ( ( jpl > 1 ) .AND. ( nn_monocat == 1 ) ) THEN 589 nn_monocat = 0 590 IF(lwp) WRITE(numout,*) 591 IF(lwp) WRITE(numout,*) ' nn_monocat forced to 0 as jpl>1, i.e. multi-category case is chosen' 592 ENDIF 587 593 ! 588 594 IF(lwp) THEN ! control print … … 596 602 WRITE(numout,*)' iterate the surface non-solar flux (T) or not (F) ln_it_qnsice = ', ln_it_qnsice 597 603 WRITE(numout,*)' virtual ITD mono-category parameterizations (1) or not nn_monocat = ', nn_monocat 604 WRITE(numout,*)' thermal conductivity of the snow rn_cdsn = ', rn_cdsn 598 605 WRITE(numout,*)' -- limthd_dh --' 599 606 WRITE(numout,*)' activate ice thick change from top/bot (T) or not (F) ln_limdH = ', ln_limdH … … 614 621 WRITE(numout,*)' check heat conservation in the ice/snow con_i = ', con_i 615 622 ENDIF 616 IF( jpl > 1 .AND. nn_monocat == 1 ) THEN617 nn_monocat = 0618 IF(lwp) WRITE(numout,*)619 IF(lwp) WRITE(numout,*) ' nn_monocat forced to 0 as jpl>1, i.e. multi-category case is chosen'620 ENDIF621 623 ! 622 624 END SUBROUTINE lim_thd_init -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90
r7646 r7813 376 376 377 377 ! Effective thickness he (zhe) 378 zfac = 1._wp / ( r cdsn + zkimean )379 zratio_s = r cdsn * zfac378 zfac = 1._wp / ( rn_cdsn + zkimean ) 379 zratio_s = rn_cdsn * zfac 380 380 zratio_i = zkimean * zfac 381 381 zhe = zratio_s * ht_i_1d(ji) + zratio_i * ht_s_1d(ji) … … 400 400 DO ji = kideb, kiut 401 401 zfac = 1. / MAX( epsi10 , zh_s(ji) ) 402 zkappa_s(ji,0) = zghe(ji) * r cdsn * zfac403 zkappa_s(ji,nlay_s) = zghe(ji) * r cdsn * zfac402 zkappa_s(ji,0) = zghe(ji) * rn_cdsn * zfac 403 zkappa_s(ji,nlay_s) = zghe(ji) * rn_cdsn * zfac 404 404 END DO 405 405 406 406 DO jk = 1, nlay_s-1 407 407 DO ji = kideb , kiut 408 zkappa_s(ji,jk) = zghe(ji) * 2.0 * r cdsn / MAX( epsi10, 2.0 * zh_s(ji) )408 zkappa_s(ji,jk) = zghe(ji) * 2.0 * rn_cdsn / MAX( epsi10, 2.0 * zh_s(ji) ) 409 409 END DO 410 410 END DO … … 422 422 zkappa_i(ji,0) = zghe(ji) * ztcond_i(ji,0) * zfac 423 423 zkappa_i(ji,nlay_i) = zghe(ji) * ztcond_i(ji,nlay_i) * zfac 424 zkappa_s(ji,nlay_s) = zghe(ji) * zghe(ji) * 2.0 * r cdsn * ztcond_i(ji,0) / &425 & MAX( epsi10, ( zghe(ji) * ztcond_i(ji,0) * zh_s(ji) + zghe(ji) * r cdsn * zh_i(ji) ) )424 zkappa_s(ji,nlay_s) = zghe(ji) * zghe(ji) * 2.0 * rn_cdsn * ztcond_i(ji,0) / & 425 & MAX( epsi10, ( zghe(ji) * ztcond_i(ji,0) * zh_s(ji) + zghe(ji) * rn_cdsn * zh_i(ji) ) ) 426 426 zkappa_i(ji,0) = zkappa_s(ji,nlay_s) * isnow(ji) + zkappa_i(ji,0) * ( 1._wp - isnow(ji) ) 427 427 END DO -
trunk/NEMOGCM/NEMO/LIM_SRC_3/limvar.F90
r7753 r7813 677 677 zht_i(ji,1:jpl) = 0._wp 678 678 za_i (ji,1:jpl) = 0._wp 679 itest(:) = 0 679 itest(:) = 0 680 680 681 681 ! *** case very thin ice: fill only category 1 … … 722 722 723 723 ENDIF ! case ice is thick or thin 724 724 725 725 !--------------------- 726 726 ! Compatibility tests … … 747 747 ENDIF ! if zhti > 0 748 748 END DO ! i loop 749 749 750 750 ! ------------------------------------------------ 751 751 ! Adding Snow in each category where za_i is not 0
Note: See TracChangeset
for help on using the changeset viewer.