- Timestamp:
- 2017-09-06T19:02:43+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceitd.F90
r8500 r8505 34 34 PRIVATE 35 35 36 PUBLIC ice_itd_init ! called in icestp 36 37 PUBLIC ice_itd_rem ! called in icethd 37 38 PUBLIC ice_itd_reb ! called in iceerr 39 40 ! ** ice-thickness distribution namelist (namiceitd) ** 41 REAL(wp) :: rn_himean ! mean thickness of the domain (used to compute the distribution) 38 42 39 43 !!---------------------------------------------------------------------- … … 181 185 ENDIF 182 186 183 184 187 !----------------------------------------------------------------------------------------------- 185 188 ! 4) Compute g(h) … … 636 639 END SUBROUTINE ice_itd_reb 637 640 641 SUBROUTINE ice_itd_init 642 !!------------------------------------------------------------------ 643 !! *** ROUTINE ice_itd_init *** 644 !! 645 !! ** Purpose : Initializes the ice thickness distribution 646 !! ** Method : ... 647 !! ** input : Namelist namiceitd 648 !!------------------------------------------------------------------- 649 INTEGER :: jl ! dummy loop index 650 INTEGER :: ios ! Local integer output status for namelist read 651 REAL(wp) :: zhmax, znum, zden, zalpha ! - - 652 !! 653 NAMELIST/namiceitd/ rn_himean 654 !!------------------------------------------------------------------ 655 ! 656 REWIND( numnam_ice_ref ) ! Namelist namiceitd in reference namelist : Parameters for ice 657 READ ( numnam_ice_ref, namiceitd, IOSTAT = ios, ERR = 901) 658 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitd in reference namelist', lwp ) 659 660 REWIND( numnam_ice_cfg ) ! Namelist namiceitd in configuration namelist : Parameters for ice 661 READ ( numnam_ice_cfg, namiceitd, IOSTAT = ios, ERR = 902 ) 662 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitd in configuration namelist', lwp ) 663 IF(lwm) WRITE ( numoni, namiceitd ) 664 ! 665 IF(lwp) THEN ! control print 666 WRITE(numout,*) 667 WRITE(numout,*) 'ice_itd_init : Initialization of ice cat distribution ' 668 WRITE(numout,*) '~~~~~~~~~~~~' 669 WRITE(numout,*) ' Namelist namicerun : ' 670 WRITE(numout,*) ' mean ice thickness in the domain rn_himean = ', rn_himean 671 ENDIF 672 ! 673 !-----------------------------------! 674 ! Thickness categories boundaries ! 675 !-----------------------------------! 676 ! 677 zalpha = 0.05_wp ! max of each category (from h^(-alpha) function) 678 zhmax = 3._wp * rn_himean 679 DO jl = 1, jpl 680 znum = jpl * ( zhmax+1 )**zalpha 681 zden = REAL( jpl-jl , wp ) * ( zhmax + 1._wp )**zalpha + REAL( jl , wp ) 682 hi_max(jl) = ( znum / zden )**(1./zalpha) - 1 683 END DO 684 ! 685 DO jl = 1, jpl ! mean thickness by category 686 hi_mean(jl) = ( hi_max(jl) + hi_max(jl-1) ) * 0.5_wp 687 END DO 688 ! 689 hi_max(jpl) = 99._wp ! set to a big value to ensure that all ice is thinner than hi_max(jpl) 690 ! 691 IF(lwp) WRITE(numout,*) 692 IF(lwp) WRITE(numout,*) ' ===>>> resulting thickness category boundaries :' 693 IF(lwp) WRITE(numout,*) ' hi_max(:)= ', hi_max(0:jpl) 694 ! 695 END SUBROUTINE ice_itd_init 696 638 697 #else 639 698 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.