New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 8514 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd.F90 – NEMO

Ignore:
Timestamp:
2017-09-08T17:09:25+02:00 (7 years ago)
Author:
clem
Message:

changes in style - part5 - almost done

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd.F90

    r8512 r8514  
    9797       
    9898      ! conservation test 
    99       IF( ln_limdiachk )   CALL ice_cons_hsm( 0, 'icethd', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b ) 
     99      IF( ln_icediachk )   CALL ice_cons_hsm( 0, 'icethd', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b ) 
    100100 
    101101      CALL ice_var_glo2eqv 
     
    179179       
    180180      ! In case we bypass open-water ice formation 
    181       IF( .NOT. ln_limdO )  qlead(:,:) = 0._wp 
     181      IF( .NOT. ln_icedO )  qlead(:,:) = 0._wp 
    182182      ! In case we bypass growing/melting from top and bottom: we suppose ice is impermeable => ocean is isolated from atmosphere 
    183       IF( .NOT. ln_limdH ) THEN 
     183      IF( .NOT. ln_icedH ) THEN 
    184184         hfx_in(:,:) = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:) 
    185185         fhtur (:,:) = 0._wp 
     
    225225            dh_snowice(1:nidx) = 0._wp ; dh_i_sub (1:nidx) = 0._wp 
    226226            ! 
    227             IF( ln_limdH ) THEN                                     ! --- growing/melting --- ! 
     227            IF( ln_icedH ) THEN                                     ! --- growing/melting --- ! 
    228228                              CALL ice_thd_dif                             ! Ice/Snow Temperature profile 
    229229                              CALL ice_thd_dh                              ! Ice/Snow thickness    
     
    236236            ! 
    237237!!gm please create a new logical (l_thd_lam or a better explicit name) set one for all in icestp.F90 module 
    238 !!gm        l_thd_lam = ln_limdH .AND. ( ( nn_monocat == 1 .OR. nn_monocat == 4 ) .AND. jpl == 1 ) 
     238!!gm        l_thd_lam = ln_icedH .AND. ( ( nn_monocat == 1 .OR. nn_monocat == 4 ) .AND. jpl == 1 ) 
    239239!!gm        by the way, the different options associated with nn_monocat =1 to 4  are quite impossible to identify 
    240240!!gm        more comment to add when ready the namelist, with an explicit print in the ocean.output 
    241             IF( ln_limdH ) THEN 
     241            IF( ln_icedH ) THEN 
    242242               IF ( ( nn_monocat == 1 .OR. nn_monocat == 4 ) .AND. jpl == 1 ) THEN 
    243243                              CALL ice_thd_lam                      ! --- extra lateral melting if monocat --- ! 
     
    245245            END IF 
    246246            ! 
    247             IF( ln_limdA )    CALL ice_thd_da                       ! --- lateral melting --- ! 
     247            IF( ln_icedA )    CALL ice_thd_da                       ! --- lateral melting --- ! 
    248248            ! 
    249249                              CALL ice_thd_1d2d( jl, 2 )            ! --- Change units of e_i, e_s from J/m3 to J/m2 --- ! 
     
    257257      oa_i(:,:,:) = o_i(:,:,:) * a_i(:,:,:) 
    258258 
    259       IF( ln_limdiachk )   CALL ice_cons_hsm( 1, 'icethd', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b ) 
     259      IF( ln_icediachk )   CALL ice_cons_hsm( 1, 'icethd', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b ) 
    260260      ! 
    261261                           CALL ice_var_zapsmall           ! --- remove very small ice concentration (<1e-10) --- ! 
     
    264264      IF( jpl > 1 )        CALL ice_itd_rem( kt )          ! --- Transport ice between thickness categories --- ! 
    265265      ! 
    266       IF( ln_limdO )       CALL ice_thd_lac                ! --- frazil ice growing in leads --- ! 
    267       ! 
    268       IF( ln_limctl )      CALL ice_prt( kt, iiceprt, jiceprt, 1, ' - ice thermodyn. - ' )   ! control print 
     266      IF( ln_icedO )       CALL ice_thd_lac                ! --- frazil ice growing in leads --- ! 
     267      ! 
     268      IF( ln_icectl )      CALL ice_prt( kt, iiceprt, jiceprt, 1, ' - ice thermodyn. - ' )   ! control print 
    269269      IF( ln_ctl )         CALL ice_prt3D( 'icethd' )      ! Control print 
    270270      ! 
     
    539539      INTEGER  ::   ios   ! Local integer output status for namelist read 
    540540      !! 
    541       NAMELIST/namice_thd/ ln_limthd, rn_kappa_i, nn_ice_thcon, ln_dqnsice, rn_cdsn,                       & 
    542          &                ln_limdH, rn_betas,                                                             & 
    543          &                ln_limdA, rn_beta, rn_dmin,                                                     & 
    544          &                ln_limdO, rn_hnewice, ln_frazil, rn_maxfrazb, rn_vfrazb, rn_Cfrazb, rn_himin,   & 
    545          &                nn_limflx 
     541      NAMELIST/namice_thd/ ln_icethd, rn_kappa_i, ln_cndi_U64, ln_cndi_P07, ln_dqns_i, rn_cnd_s,          & 
     542         &                ln_icedH, rn_blow_s,                                                             & 
     543         &                ln_icedA, rn_beta, rn_dmin,                                                     & 
     544         &                ln_icedO, rn_hinew, ln_frazil, rn_maxfraz, rn_vfraz, rn_Cfraz, rn_himin,   & 
     545         &                nn_iceflx 
    546546      !!------------------------------------------------------------------- 
    547547      ! 
     
    560560         WRITE(numout,*) '~~~~~~~~~~~~~' 
    561561         WRITE(numout,*) '   Namelist namice_thd' 
    562          WRITE(numout,*) '      Ice thermodynamics (T) or not (F)                       ln_limthd    = ', ln_limthd 
     562         WRITE(numout,*) '      Ice thermodynamics (T) or not (F)                       ln_icethd    = ', ln_icethd 
    563563         WRITE(numout,*) '   -- icethd_dif --' 
    564564         WRITE(numout,*) '      extinction radiation parameter in sea ice               rn_kappa_i   = ', rn_kappa_i 
    565          WRITE(numout,*) '      switch for comp. of thermal conductivity in the ice     nn_ice_thcon = ', nn_ice_thcon 
    566          WRITE(numout,*) '      change the surface non-solar flux with Tsu or not       ln_dqnsice   = ', ln_dqnsice 
    567          WRITE(numout,*) '      thermal conductivity of the snow                        rn_cdsn      = ', rn_cdsn 
     565         WRITE(numout,*) '      thermal conductivity in the ice (Untersteiner 1964)     ln_cndi_U64  = ', ln_cndi_U64 
     566         WRITE(numout,*) '      thermal conductivity in the ice (Pringle et al 2007)    ln_cndi_P07  = ', ln_cndi_P07 
     567         WRITE(numout,*) '      change the surface non-solar flux with Tsu or not       ln_dqns_i    = ', ln_dqns_i 
     568         WRITE(numout,*) '      thermal conductivity of the snow                        rn_cnd_s     = ', rn_cnd_s 
    568569         WRITE(numout,*) '   -- icethd_dh --' 
    569          WRITE(numout,*) '      activate ice thick change from top/bot (T) or not (F)   ln_limdH     = ', ln_limdH 
    570          WRITE(numout,*) '      coefficient for ice-lead partition of snowfall          rn_betas     = ', rn_betas 
     570         WRITE(numout,*) '      activate ice thick change from top/bot (T) or not (F)   ln_icedH     = ', ln_icedH 
     571         WRITE(numout,*) '      coefficient for ice-lead partition of snowfall          rn_blow_s    = ', rn_blow_s 
    571572         WRITE(numout,*) '   -- icethd_da --' 
    572          WRITE(numout,*) '      activate lateral melting (T) or not (F)                 ln_limdA     = ', ln_limdA 
     573         WRITE(numout,*) '      activate lateral melting (T) or not (F)                 ln_icedA     = ', ln_icedA 
    573574         WRITE(numout,*) '      Coef. beta for lateral melting param.                   rn_beta      = ', rn_beta 
    574575         WRITE(numout,*) '      Minimum floe diameter for lateral melting param.        rn_dmin      = ', rn_dmin 
    575576         WRITE(numout,*) '   -- icethd_lac --' 
    576          WRITE(numout,*) '      activate ice growth in open-water (T) or not (F)        ln_limdO     = ', ln_limdO 
    577          WRITE(numout,*) '      ice thickness for lateral accretion                     rn_hnewice   = ', rn_hnewice 
     577         WRITE(numout,*) '      activate ice growth in open-water (T) or not (F)        ln_icedO     = ', ln_icedO 
     578         WRITE(numout,*) '      ice thickness for lateral accretion                     rn_hinew     = ', rn_hinew 
    578579         WRITE(numout,*) '      Frazil ice thickness as a function of wind or not       ln_frazil    = ', ln_frazil 
    579          WRITE(numout,*) '      Maximum proportion of frazil ice collecting at bottom   rn_maxfrazb  = ', rn_maxfrazb 
    580          WRITE(numout,*) '      Threshold relative drift speed for collection of frazil rn_vfrazb    = ', rn_vfrazb 
    581          WRITE(numout,*) '      Squeezing coefficient for collection of frazil          rn_Cfrazb    = ', rn_Cfrazb 
     580         WRITE(numout,*) '      Maximum proportion of frazil ice collecting at bottom   rn_maxfraz   = ', rn_maxfraz 
     581         WRITE(numout,*) '      Threshold relative drift speed for collection of frazil rn_vfraz     = ', rn_vfraz 
     582         WRITE(numout,*) '      Squeezing coefficient for collection of frazil          rn_Cfraz     = ', rn_Cfraz 
    582583         WRITE(numout,*) '   -- iceitd --' 
    583584         WRITE(numout,*) '      minimum ice thickness                                   rn_himin     = ', rn_himin  
    584585         WRITE(numout,*) '   -- icestp --' 
    585          WRITE(numout,*) '      Multicategory heat flux formulation                     nn_limflx    = ', nn_limflx 
     586         WRITE(numout,*) '      Multicategory heat flux formulation                     nn_iceflx    = ', nn_iceflx 
    586587      ENDIF 
    587588      ! 
    588       IF ( rn_hnewice < rn_himin )   CALL ctl_stop( 'STOP', 'ice_thd_init : rn_hnewice should be >= rn_himin' ) 
     589      IF ( ( ln_cndi_U64 .AND. ln_cndi_P07 ) .OR. ( .NOT.ln_cndi_U64 .AND. .NOT.ln_cndi_P07 ) ) THEN 
     590         CALL ctl_stop( 'ice_thd_init: choose one and only one formulation for thermal conductivity (ln_cndi_U64 or ln_cndi_P07)' ) 
     591      ENDIF 
     592      ! 
     593      IF ( rn_hinew < rn_himin )   CALL ctl_stop( 'STOP', 'ice_thd_init : rn_hinew should be >= rn_himin' ) 
    589594      ! 
    590595      IF(lwp) WRITE(numout,*) 
    591       SELECT CASE( nn_limflx )         ! LIM3 Multi-category heat flux formulation 
     596      SELECT CASE( nn_iceflx )         ! LIM3 Multi-category heat flux formulation 
    592597      CASE( -1  ) 
    593          IF(lwp) WRITE(numout,*) '   LIM3: use per-category fluxes (nn_limflx = -1) ' 
    594          IF( ln_cpl )   CALL ctl_stop( 'ice_thd_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' ) 
     598         IF(lwp) WRITE(numout,*) '   LIM3: use per-category fluxes (nn_iceflx = -1) ' 
     599         IF( ln_cpl )   CALL ctl_stop( 'ice_thd_init : the chosen nn_iceflx for LIM3 in coupled mode must be 0 or 2' ) 
    595600      CASE(  0  ) 
    596          IF(lwp) WRITE(numout,*) '   LIM3: use average per-category fluxes (nn_limflx = 0) ' 
     601         IF(lwp) WRITE(numout,*) '   LIM3: use average per-category fluxes (nn_iceflx = 0) ' 
    597602      CASE(  1  ) 
    598          IF(lwp) WRITE(numout,*) '   LIM3: use average then redistribute per-category fluxes (nn_limflx = 1) ' 
    599          IF( ln_cpl )   CALL ctl_stop( 'ice_thd_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' ) 
     603         IF(lwp) WRITE(numout,*) '   LIM3: use average then redistribute per-category fluxes (nn_iceflx = 1) ' 
     604         IF( ln_cpl )   CALL ctl_stop( 'ice_thd_init : the chosen nn_iceflx for LIM3 in coupled mode must be 0 or 2' ) 
    600605      CASE(  2  ) 
    601          IF(lwp) WRITE(numout,*) '   LIM3: Redistribute a single flux over categories (nn_limflx = 2) ' 
    602          IF( .NOT. ln_cpl )   CALL ctl_stop( 'ice_thd_init : the chosen nn_limflx for LIM3 in forced mode cannot be 2' ) 
     606         IF(lwp) WRITE(numout,*) '   LIM3: Redistribute a single flux over categories (nn_iceflx = 2) ' 
     607         IF( .NOT. ln_cpl )   CALL ctl_stop( 'ice_thd_init : the chosen nn_iceflx for LIM3 in forced mode cannot be 2' ) 
    603608      CASE DEFAULT 
    604          CALL ctl_stop( 'ice_thd_init: LIM3 option, nn_limflx, should be between -1 and 2' ) 
     609         CALL ctl_stop( 'ice_thd_init: LIM3 option, nn_iceflx, should be between -1 and 2' ) 
    605610      END SELECT 
    606611      ! 
Note: See TracChangeset for help on using the changeset viewer.