Changeset 8514


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

changes in style - part5 - almost done

Location:
branches/2017/dev_r8183_ICEMODEL/NEMOGCM
Files:
1 added
1 deleted
22 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/SHARED/namelist_ice_lim3_ref

    r8512 r8514  
    4040!------------------------------------------------------------------------------ 
    4141          ! -- ice_rdgrft_strength -- ! 
    42    ln_str_Hib       = .true.          !  ice strength param.: Hibler_79   => P = pstar*<h>*exp(-c_rhg*A)                       
     42   ln_str_H79       = .true.          !  ice strength param.: Hibler_79   => P = pstar*<h>*exp(-c_rhg*A)                       
    4343      rn_pstar      =   2.0e+04       !     ice strength thickness parameter (N/m2)  
    4444      rn_crhg       =   20.0          !     ice strength conc. parameter (-) 
    45    ln_str_Rot       = .false.         !  ice strength param.: Rothrock_75 => P = Cf*coeff*integral(wr.h^2)     
     45   ln_str_R75       = .false.         !  ice strength param.: Rothrock_75 => P = Cf*coeff*integral(wr.h^2)     
    4646      rn_perdg      =   17.0          !     ridging work divided by pot. energy change in ridging 
    4747                   ! -- ice_rdgrft -- ! 
     
    9494   ln_adv_Pra       = .false.         !  Advection scheme (Prather) 
    9595   ln_adv_UMx       = .true.          !  Advection scheme (Ultimate-Macho) 
    96       nn_UMx        =   5             !     order of the scheme for UMx (1-5) 
     96      nn_UMx        =   5             !     order of the scheme for UMx (1-5 ; 20=centered 2nd order) 
    9797/ 
    9898!------------------------------------------------------------------------------ 
    9999&namice_thd     !   Ice thermodynamics 
    100100!------------------------------------------------------------------------------ 
    101    ln_limthd      =  .true.           !  ice thermo   (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
    102                    ! -- limthd_dif -- ! 
    103    rn_kappa_i     = 1.0               !  radiation attenuation coefficient in sea ice (m-1) 
    104    nn_ice_thcon   = 1                 !  sea ice thermal conductivity 
    105                                       !     0: k = k0 + beta.S/T            (Untersteiner, 1964) 
    106                                       !     1: k = k0 + beta1.S/T - beta2.T (Pringle et al., 2007) 
    107    ln_dqnsice     = .true.            !  change the surface non-solar flux with surface temperature (T) or not (F) 
    108    rn_cdsn        = 0.31              !  thermal conductivity of the snow (0.31 W/m/K, Maykut and Untersteiner, 1971) 
    109                                       !     Obs: 0.1-0.5 (Lecomte et al, JAMES 2013) 
    110                     ! -- limthd_dh -- ! 
    111    ln_limdH       = .true.            !  activate ice thickness change from growing/melting (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
    112    rn_betas       = 0.66              !  exponent in lead-ice repratition of snow precipitation 
    113                                       !     betas = 1 -> equipartition, betas < 1 -> more on leads 
    114                     ! -- limthd_da -- ! 
    115    ln_limdA       = .true.            !  activate lateral melting param. (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
    116    rn_beta        = 1.0               !     (ln_latmelt=T) coef. beta for lateral melting param. Recommended range=[0.8-1.2] 
    117                                       !      => decrease = more melt and melt peaks toward higher concentration (A~0.5 for beta=1 ; A~0.8 for beta=0.2) 
    118                                       !         0.3 = best fit for western Fram Strait and Antarctica 
    119                                       !         1.4 = best fit for eastern Fram Strait       
    120    rn_dmin        = 8.                !     (ln_latmelt=T) minimum floe diameter for lateral melting param. Recommended range=[6-10] 
    121                                       !      => 6  vs 8m = +40% melting at the peak (A~0.5) 
    122                                       !         10 vs 8m = -20% melting 
    123                    ! -- limthd_lac -- ! 
    124    ln_limdO       = .true.            !  activate ice growth in open-water (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
    125    rn_hnewice     = 0.1               !  thickness for new ice formation in open water (m) 
    126    ln_frazil      = .false.           !  Frazil ice parameterization (ice collection as a function of wind) 
    127    rn_maxfrazb    = 1.0               !     (ln_frazil=T) maximum fraction of frazil ice collecting at the ice base 
    128    rn_vfrazb      = 0.417             !     (ln_frazil=T) thresold drift speed for frazil ice collecting at the ice bottom (m/s) 
    129    rn_Cfrazb      = 5.0               !     (ln_frazil=T) squeezing coefficient for frazil ice collecting at the ice bottom 
     101   ln_icethd        = .true.            !  ice thermo   (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
     102                     ! -- limthd_dif -- ! 
     103   rn_kappa_i       =   1.0             !  radiation attenuation coefficient in sea ice (m-1) 
     104   ln_cndi_U64      = .false.           !  sea ice thermal conductivity: k = k0 + beta.S/T            (Untersteiner, 1964) 
     105   ln_cndi_P07      = .true.            !  sea ice thermal conductivity: k = k0 + beta1.S/T - beta2.T (Pringle et al., 2007) 
     106   ln_dqns_i        = .true.            !  change the surface non-solar flux with surface temperature (T) or not (F) 
     107   rn_cnd_s         =   0.31            !  thermal conductivity of the snow (0.31 W/m/K, Maykut and Untersteiner, 1971) 
     108                                        !     Obs: 0.1-0.5 (Lecomte et al, JAMES 2013) 
     109                      ! -- limthd_dh -- ! 
     110   ln_icedH         = .true.            !  activate ice thickness change from growing/melting (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
     111   rn_blow_s        =   0.66            !     mesure of snow blowing into the leads 
     112                                        !     = 1 => no snow blowing, < 1 => some snow blowing 
     113                      ! -- limthd_da -- ! 
     114   ln_icedA         = .true.            !  activate lateral melting param. (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
     115      rn_beta       =   1.0             !     coef. beta for lateral melting param. Recommended range=[0.8-1.2] 
     116                                        !      => decrease = more melt and melt peaks toward higher concentration (A~0.5 for beta=1 ; A~0.8 for beta=0.2) 
     117                                        !         0.3 = best fit for western Fram Strait and Antarctica 
     118                                        !         1.4 = best fit for eastern Fram Strait       
     119      rn_dmin       =   8.              !     minimum floe diameter for lateral melting param. Recommended range=[6-10] 
     120                                        !      => 6  vs 8m = +40% melting at the peak (A~0.5) 
     121                                        !         10 vs 8m = -20% melting 
     122                     ! -- limthd_lac -- ! 
     123   ln_icedO         = .true.            !  activate ice growth in open-water (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
     124      rn_hinew      =   0.1             !     thickness for new ice formation in open water (m) 
     125      ln_frazil     = .false.           !     Frazil ice parameterization (ice collection as a function of wind) 
     126         rn_maxfraz =   1.0             !        maximum fraction of frazil ice collecting at the ice base 
     127         rn_vfraz   =   0.417           !        thresold drift speed for frazil ice collecting at the ice bottom (m/s) 
     128         rn_Cfraz   =   5.0             !        squeezing coefficient for frazil ice collecting at the ice bottom 
    130129                    ! -- limitd_th -- ! 
    131    rn_himin       = 0.1               !  minimum ice thickness (m) used in remapping, must be smaller than rn_hnewice 
    132                        ! -- icestp -- ! 
    133    nn_limflx      = -1                !  LIM3 Multi-category heat flux formulation (use -1 if LIM3 is not used) 
    134                                       !  =-1  Use per-category fluxes, bypass redistributor, forced mode only, not yet implemented coupled 
    135                                       !  = 0  Average per-category fluxes (forced and coupled mode) 
    136                                       !  = 1  Average and redistribute per-category fluxes, forced mode only, not yet implemented coupled 
    137                                       !  = 2  Redistribute a single flux over categories (coupled mode only) 
     130   rn_himin         =   0.1             !  minimum ice thickness (m) used in remapping, must be smaller than rn_hnewice 
     131                         ! -- icestp -- ! 
     132   nn_iceflx        =  -1               !  Redistribute heat flux over ice categories 
     133                                        !   =-1  Do nothing (needs N(cat) fluxes) 
     134                                        !        ==> forced mode only 
     135                                        !   = 0  Average N(cat) fluxes then apply the average over the N(cat) ice 
     136                                        !        ==> forced and coupled modes 
     137                                        !   = 1  Average N(cat) fluxes then redistribute over the N(cat) ice using T-ice and albedo sensitivity 
     138                                        !        ==> forced mode only 
     139                                        !   = 2  Redistribute a single flux over categories 
     140                                        !        ==> coupled mode only 
    138141/ 
    139142!------------------------------------------------------------------------------ 
    140143&namice_sal     !   Ice salinity 
    141144!------------------------------------------------------------------------------ 
    142                    ! -- limthd_sal -- ! 
    143    ln_limdS       = .true.            !  activate gravity drainage and flushing (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
    144    nn_icesal      =  2                !  ice salinity option 
    145                                       !     1: constant ice salinity (S=rn_icesal) 
    146                                       !     2: varying salinity parameterization S(z,t) 
    147                                       !     3: prescribed salinity profile S(z), Schwarzacher, 1959 
    148    rn_icesal      =  4.               !    (nn_icesal=1) ice salinity (g/kg) 
    149    rn_sal_gd      =  5.               !  restoring ice salinity, gravity drainage (g/kg) 
    150    rn_time_gd     =  1.73e+6          !  restoring time scale, gravity drainage  (s) 
    151    rn_sal_fl      =  2.               !  restoring ice salinity, flushing (g/kg) 
    152    rn_time_fl     =  8.64e+5          !  restoring time scale, flushing (s) 
    153    rn_simax       = 20.               !  maximum tolerated ice salinity (g/kg) 
    154    rn_simin       =  0.1              !  minimum tolerated ice salinity (g/kg) 
     145                    ! -- limthd_sal -- ! 
     146   ln_icedS       = .true.             !  activate gravity drainage and flushing (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO 
     147   nn_icesal      =   2                !  ice salinity option 
     148                                       !     1: constant ice salinity (S=rn_icesal) 
     149                                       !     2: varying salinity parameterization S(z,t) 
     150                                       !     3: prescribed salinity profile S(z), Schwarzacher, 1959 
     151   rn_icesal      =   4.               !    (nn_icesal=1) ice salinity (g/kg) 
     152   rn_sal_gd      =   5.               !  restoring ice salinity, gravity drainage (g/kg) 
     153   rn_time_gd     =   1.73e+6          !  restoring time scale, gravity drainage  (s) 
     154   rn_sal_fl      =   2.               !  restoring ice salinity, flushing (g/kg) 
     155   rn_time_fl     =   8.64e+5          !  restoring time scale, flushing (s) 
     156   rn_simax       =  20.               !  maximum tolerated ice salinity (g/kg) 
     157   rn_simin       =   0.1              !  minimum tolerated ice salinity (g/kg) 
    155158/ 
    156159!------------------------------------------------------------------------------ 
    157160&namicemp      !   Melt ponds 
    158161!------------------------------------------------------------------------------ 
    159                  ! -- limmp      -- ! 
    160    ln_pnd         = .false.         !  active melt ponds 
    161    ln_pnd_rad     = .false.         !  active melt ponds radiative coupling 
    162    ln_pnd_fw      = .false.         !  active melt ponds freshwater coupling 
    163    nn_pnd_scheme  = 0               !  type of melt pond scheme  : =0 prescribed ( Tsu=0 ), =1 empirical, =2 topographic 
    164    rn_apnd        = 0.2             !  prescribed pond fraction, at Tsu=0  : (0<rn_apnd<1, nn_pnd_scheme = 0) 
    165    rn_hpnd        = 0.05            !  prescribed pond depth, at Tsu=0     : (0<rn_apnd<1, nn_pnd_scheme = 0) 
     162                    ! -- limmp      -- ! 
     163   ln_pnd         = .false.            !  active melt ponds 
     164   ln_pnd_rad     = .false.            !  active melt ponds radiative coupling 
     165   ln_pnd_fw      = .false.            !  active melt ponds freshwater coupling 
     166   nn_pnd_scheme  =   0                !  type of melt pond scheme  : =0 prescribed ( Tsu=0 ), =1 empirical, =2 topographic 
     167   rn_apnd        =   0.2              !  prescribed pond fraction, at Tsu=0  : (0<rn_apnd<1, nn_pnd_scheme = 0) 
     168   rn_hpnd        =   0.05             !  prescribed pond depth, at Tsu=0     : (0<rn_apnd<1, nn_pnd_scheme = 0) 
    166169/ 
    167170!------------------------------------------------------------------------------ 
    168171&namice_ini     !   Ice initialization 
    169172!------------------------------------------------------------------------------ 
    170                   ! -- limistate -- ! 
    171    ln_iceini      = .true.          !  activate ice initialization (T) or not (F) 
    172    ln_iceini_file = .false.         !  netcdf file provided for initialization (T) or not (F) 
    173    rn_thres_sst   =  2.0            !  maximum water temperature with initial ice (degC) 
    174    rn_hts_ini_n   =  0.3            !  initial real snow thickness (m), North 
    175    rn_hts_ini_s   =  0.3            !        "            "             South 
    176    rn_hti_ini_n   =  3.0            !  initial real ice thickness  (m), North 
    177    rn_hti_ini_s   =  1.0            !        "            "             South 
    178    rn_ati_ini_n   =  0.9            !  initial ice concentration   (-), North 
    179    rn_ati_ini_s   =  0.9            !        "            "             South 
    180    rn_smi_ini_n   =  6.3            !  initial ice salinity     (g/kg), North 
    181    rn_smi_ini_s   =  6.3            !        "            "             South 
    182    rn_tmi_ini_n   =  270.           !  initial ice/snw temperature (K), North 
    183    rn_tmi_ini_s   =  270.           !        "            "             South 
     173                     ! -- limistate -- ! 
     174   ln_iceini      = .true.             !  activate ice initialization (T) or not (F) 
     175   ln_iceini_file = .false.            !  netcdf file provided for initialization (T) or not (F) 
     176   rn_thres_sst   =   2.0              !  maximum water temperature with initial ice (degC) 
     177   rn_hts_ini_n   =   0.3              !  initial real snow thickness (m), North 
     178   rn_hts_ini_s   =   0.3              !        "            "             South 
     179   rn_hti_ini_n   =   3.0              !  initial real ice thickness  (m), North 
     180   rn_hti_ini_s   =   1.0              !        "            "             South 
     181   rn_ati_ini_n   =   0.9              !  initial ice concentration   (-), North 
     182   rn_ati_ini_s   =   0.9              !        "            "             South 
     183   rn_smi_ini_n   =   6.3              !  initial ice salinity     (g/kg), North 
     184   rn_smi_ini_s   =   6.3              !        "            "             South 
     185   rn_tmi_ini_n   = 270.               !  initial ice/snw temperature (K), North 
     186   rn_tmi_ini_s   = 270.               !        "            "             South 
    184187 
    185188   sn_hti = 'Ice_initialization'    , -12 ,'hti'   ,  .false.  , .true., 'yearly'  , '' , '', '' 
     
    194197&namice_alb     !   albedo parameters 
    195198!------------------------------------------------------------------------------ 
    196    nn_ice_alb   =    1   !  parameterization of ice/snow albedo 
    197                          !     0: Shine & Henderson-Sellers (JGR 1985), giving clear-sky albedo 
    198                          !     1: "home made" based on Brandt et al. (JClim 2005) and Grenfell & Perovich (JGR 2004), 
    199                          !        giving cloud-sky albedo 
    200    rn_alb_sdry  =  0.85  !  dry snow albedo         : 0.80 (nn_ice_alb = 0); 0.85 (nn_ice_alb = 1); obs 0.85-0.87 (cloud-sky) 
    201    rn_alb_smlt  =  0.75  !  melting snow albedo     : 0.65 ( '' )          ; 0.75 ( '' )          ; obs 0.72-0.82 ( '' ) 
    202    rn_alb_idry  =  0.60  !  dry ice albedo          : 0.72 ( '' )          ; 0.60 ( '' )          ; obs 0.54-0.65 ( '' ) 
    203    rn_alb_imlt  =  0.50  !  bare puddled ice albedo : 0.53 ( '' )          ; 0.50 ( '' )          ; obs 0.49-0.58 ( '' ) 
    204    rn_alb_dpnd  =  0.27  !  ponded ice albedo       : 0.25 ( '' )          ; 0.27 ( '' )          ; obs 0.10-0.30 ( '' ) 
     199   nn_ice_alb     =    1               !  parameterization of ice/snow albedo 
     200                                       !     0: Shine & Henderson-Sellers (JGR 1985), giving clear-sky albedo 
     201                                       !     1: "home made" based on Brandt et al. (JClim 2005) 
     202                                       !                         and Grenfell & Perovich (JGR 2004), giving cloud-sky albedo 
     203                                       !     2: as 1 with melt ponds 
     204   rn_alb_sdry    =   0.85             !  dry snow albedo         : 0.80 (nn_ice_alb = 0); 0.85 (nn_ice_alb = 1); obs 0.85-0.87 (cloud-sky) 
     205   rn_alb_smlt    =   0.75             !  melting snow albedo     : 0.65 ( '' )          ; 0.75 ( '' )          ; obs 0.72-0.82 ( '' ) 
     206   rn_alb_idry    =   0.60             !  dry ice albedo          : 0.72 ( '' )          ; 0.60 ( '' )          ; obs 0.54-0.65 ( '' ) 
     207   rn_alb_imlt    =   0.50             !  bare puddled ice albedo : 0.53 ( '' )          ; 0.50 ( '' )          ; obs 0.49-0.58 ( '' ) 
     208   rn_alb_dpnd    =   0.27             !  ponded ice albedo       : 0.25 ( '' )          ; 0.27 ( '' )          ; obs 0.10-0.30 ( '' ) 
    205209/ 
    206210!------------------------------------------------------------------------------ 
    207211&namice_dia     !   Diagnostics 
    208212!------------------------------------------------------------------------------ 
    209    ln_limdiachk   =  .false.        !  check online the heat, mass & salt budgets (T) or not (F) 
    210    ln_limdiahsb   =  .false.        !  output the heat, mass & salt budgets (T) or not (F) 
    211    ln_limctl      =  .false.        !  ice points output for debug (T or F) 
    212    iiceprt        =    10           !  i-index for debug 
    213    jiceprt        =    10           !  j-index for debug 
    214 / 
     213   ln_icediachk   = .false.            !  check online the heat, mass & salt budgets (T) or not (F) 
     214   ln_icediahsb   = .false.            !  output the heat, mass & salt budgets (T) or not (F) 
     215   ln_icectl      = .false.            !  ice points output for debug (T or F) 
     216   iiceprt        =  10                !  i-index for debug 
     217   jiceprt        =  10                !  j-index for debug 
     218/ 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90

    r8512 r8514  
    165165    
    166166   !                                     !!** ice-diagnostics namelist (namice_dia) ** 
    167    LOGICAL , PUBLIC ::   ln_limdiachk     !: flag for ice diag (T) or not (F) 
    168    LOGICAL , PUBLIC ::   ln_limdiahsb     !: flag for ice diag (T) or not (F) 
    169    LOGICAL , PUBLIC ::   ln_limctl        !: flag for sea-ice points output (T) or not (F) 
     167   LOGICAL , PUBLIC ::   ln_icediachk     !: flag for ice diag (T) or not (F) 
     168   LOGICAL , PUBLIC ::   ln_icediahsb     !: flag for ice diag (T) or not (F) 
     169   LOGICAL , PUBLIC ::   ln_icectl        !: flag for sea-ice points output (T) or not (F) 
    170170   INTEGER , PUBLIC ::   iiceprt          !: debug i-point 
    171171   INTEGER , PUBLIC ::   jiceprt          !: debug j-point 
     
    181181   INTEGER , PUBLIC ::   nn_UMx           !: order of the UMx advection scheme    
    182182                                          ! -- icerdgrft -- ! 
    183    LOGICAL , PUBLIC ::   ln_str_Hib       !: ice strength parameterization (Hibler79) 
     183   LOGICAL , PUBLIC ::   ln_str_H79       !: ice strength parameterization (Hibler79) 
    184184   REAL(wp), PUBLIC ::   rn_pstar         !: determines ice strength, Hibler JPO79 
    185185   REAL(wp), PUBLIC ::   rn_crhg          !: determines changes in ice strength 
    186    LOGICAL , PUBLIC ::   ln_str_Rot       !: ice strength parameterization (Rothrock75) 
     186   LOGICAL , PUBLIC ::   ln_str_R75       !: ice strength parameterization (Rothrock75) 
    187187   REAL(wp), PUBLIC ::   rn_perdg         !: ridging work divided by pot. energy change in ridging 
    188188                                          ! -- icerhg -- ! 
     
    199199 
    200200   !                                     !!** ice-thermodynamics namelist (namice_thd) ** 
    201    LOGICAL , PUBLIC ::   ln_limthd        !: flag for ice thermo (T) or not (F) 
     201   LOGICAL , PUBLIC ::   ln_icethd        !: flag for ice thermo (T) or not (F) 
    202202                                          ! -- icethd_dif -- ! 
    203203   REAL(wp), PUBLIC ::   rn_kappa_i       !: coef. for the extinction of radiation Grenfell et al. (2006) [1/m] 
    204    INTEGER , PUBLIC ::   nn_ice_thcon     !: thermal conductivity: =0 Untersteiner (1964) ; =1 Pringle et al (2007) 
    205    LOGICAL , PUBLIC ::   ln_dqnsice       !: change non-solar surface flux with changing surface temperature (T) or not (F) 
     204   LOGICAL , PUBLIC ::   ln_cndi_U64      !: thermal conductivity: Untersteiner (1964) 
     205   LOGICAL , PUBLIC ::   ln_cndi_P07      !: thermal conductivity: Pringle et al (2007) 
     206   LOGICAL , PUBLIC ::   ln_dqns_i        !: change non-solar surface flux with changing surface temperature (T) or not (F) 
    206207   INTEGER , PUBLIC ::   nn_monocat       !: virtual ITD mono-category parameterizations (1-4) or not (0) 
    207    REAL(wp), PUBLIC ::   rn_cdsn          !: thermal conductivity of the snow [W/m/K] 
     208   REAL(wp), PUBLIC ::   rn_cnd_s         !: thermal conductivity of the snow [W/m/K] 
    208209                                          ! -- icethd_dh -- ! 
    209    LOGICAL , PUBLIC ::   ln_limdH         !: activate ice thickness change from growing/melting (T) or not (F) 
    210    REAL(wp), PUBLIC ::   rn_betas         !: coef. for partitioning of snowfall between leads and sea ice 
     210   LOGICAL , PUBLIC ::   ln_icedH         !: activate ice thickness change from growing/melting (T) or not (F) 
     211   REAL(wp), PUBLIC ::   rn_blow_s        !: coef. for partitioning of snowfall between leads and sea ice 
    211212                                          ! -- icethd_da -- ! 
    212    LOGICAL , PUBLIC ::   ln_limdA         !: activate lateral melting param. (T) or not (F) 
     213   LOGICAL , PUBLIC ::   ln_icedA         !: activate lateral melting param. (T) or not (F) 
    213214   REAL(wp), PUBLIC ::   rn_beta          !: coef. beta for lateral melting param. 
    214215   REAL(wp), PUBLIC ::   rn_dmin          !: minimum floe diameter for lateral melting param. 
    215216                                          ! -- icethd_lac -- ! 
    216    LOGICAL , PUBLIC ::   ln_limdO         !: activate ice growth in open-water (T) or not (F) 
    217    REAL(wp), PUBLIC ::   rn_hnewice       !: thickness for new ice formation (m) 
     217   LOGICAL , PUBLIC ::   ln_icedO         !: activate ice growth in open-water (T) or not (F) 
     218   REAL(wp), PUBLIC ::   rn_hinew         !: thickness for new ice formation (m) 
    218219   LOGICAL , PUBLIC ::   ln_frazil        !: use of frazil ice collection as function of wind (T) or not (F) 
    219    REAL(wp), PUBLIC ::   rn_maxfrazb      !: maximum portion of frazil ice collecting at the ice bottom 
    220    REAL(wp), PUBLIC ::   rn_vfrazb        !: threshold drift speed for collection of bottom frazil ice 
    221    REAL(wp), PUBLIC ::   rn_Cfrazb        !: squeezing coefficient for collection of bottom frazil ice 
     220   REAL(wp), PUBLIC ::   rn_maxfraz       !: maximum portion of frazil ice collecting at the ice bottom 
     221   REAL(wp), PUBLIC ::   rn_vfraz         !: threshold drift speed for collection of bottom frazil ice 
     222   REAL(wp), PUBLIC ::   rn_Cfraz         !: squeezing coefficient for collection of bottom frazil ice 
    222223                                          ! -- iceitd_th -- ! 
    223224   REAL(wp), PUBLIC ::   rn_himin         !: minimum ice thickness 
    224225                                          ! --  -- ! 
    225    INTEGER , PUBLIC ::   nn_limflx        !: LIM3 Multi-category heat flux formulation 
    226    !                                      !   =-1  Use of per-category fluxes 
    227    !                                      !   = 0  Average per-category fluxes 
    228    !                                      !   = 1  Average then redistribute per-category fluxes 
     226   INTEGER , PUBLIC ::   nn_iceflx        !: Redistribute heat flux over ice categories 
     227   !                                      !   =-1  Do nothing (needs N(cat) fluxes) 
     228   !                                      !   = 0  Average N(cat) fluxes then apply the average over the N(cat) ice  
     229   !                                      !   = 1  Average N(cat) fluxes then redistribute over the N(cat) ice 
     230   !                                      !                                   using T-ice and albedo sensitivity 
    229231   !                                      !   = 2  Redistribute a single flux over categories 
    230232 
    231233   !                                     !!** ice-salinity namelist (namice_sal) ** 
    232    LOGICAL , PUBLIC ::   ln_limdS         !: activate gravity drainage and flushing (T) or not (F) 
     234   LOGICAL , PUBLIC ::   ln_icedS         !: activate gravity drainage and flushing (T) or not (F) 
    233235   INTEGER , PUBLIC ::   nn_icesal        !: salinity configuration used in the model 
    234236   !                                      ! 1 - constant salinity in both space and time 
     
    354356   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   sm_i      !: Sea-Ice Bulk salinity (ppt) 
    355357   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   smv_i     !: Sea-Ice Bulk salinity times volume per area (ppt.m) 
    356    !                                                                    !  this is an extensive variable that has to be transported 
    357358   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   o_i       !: Sea-Ice Age (s) 
    358359   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   oa_i      !: Sea-Ice Age times ice area (s) 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv.F90

    r8512 r8514  
    3737   PUBLIC   ice_adv_init   ! called by icestp 
    3838 
    39    INTEGER, PUBLIC ::              nice_dyn   ! choice of the type of advection scheme 
     39   INTEGER, PUBLIC ::              nice_dyn   !: choice of the type of advection scheme 
    4040   !                                  ! associated indices: 
    41    INTEGER, PUBLIC, PARAMETER ::   np_dynNO   = 0   ! no ice dynamics and ice advection 
    42    INTEGER, PUBLIC, PARAMETER ::   np_dynFULL = 1   ! full ice dynamics  (rheology + advection + ridging/rafting + correction) 
    43    INTEGER, PUBLIC, PARAMETER ::   np_dyn     = 2   ! no ridging/rafting (rheology + advection                   + correction) 
    44    INTEGER, PUBLIC, PARAMETER ::   np_dynPURE = 3   ! pure dynamics      (rheology + advection)  
     41   INTEGER, PUBLIC, PARAMETER ::   np_dynNO   = 0   !: no ice dynamics and ice advection 
     42   INTEGER, PUBLIC, PARAMETER ::   np_dynFULL = 1   !: full ice dynamics  (rheology + advection + ridging/rafting + correction) 
     43   INTEGER, PUBLIC, PARAMETER ::   np_dyn     = 2   !: no ridging/rafting (rheology + advection                   + correction) 
     44   INTEGER, PUBLIC, PARAMETER ::   np_dynPURE = 3   !: pure dynamics      (rheology + advection)  
    4545 
    4646   !! * Substitution 
     
    9090 
    9191      ! conservation test 
    92       IF( ln_limdiachk )   CALL ice_cons_hsm(0, 'iceadv', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     92      IF( ln_icediachk )   CALL ice_cons_hsm(0, 'iceadv', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    9393       
    9494      ! store old values for diag 
     
    224224       
    225225      ! conservation test 
    226       IF( ln_limdiachk )   CALL ice_cons_hsm(1, 'iceadv', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     226      IF( ln_icediachk )   CALL ice_cons_hsm(1, 'iceadv', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    227227         
    228228      ! -------------- 
    229229      ! control prints 
    230230      ! -------------- 
    231       IF( ln_limctl )   CALL ice_prt( kt, iiceprt, jiceprt,-1, ' - ice dyn & trp - ' ) 
     231      IF( ln_icectl )   CALL ice_prt( kt, iiceprt, jiceprt,-1, ' - ice dyn & trp - ' ) 
    232232      ! 
    233233      IF( nn_timing == 1 )  CALL timing_stop('iceadv') 
     
    264264      IF(lwp) THEN                     ! control print 
    265265         WRITE(numout,*) 
    266          WRITE(numout,*) 'ice_adv_init : ice parameters for ice dynamics ' 
     266         WRITE(numout,*) 'ice_adv_init: ice parameters for ice dynamics ' 
    267267         WRITE(numout,*) '~~~~~~~~~~~~' 
    268268         WRITE(numout,*) '   Namelist namice_adv' 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icealb.F90

    r8512 r8514  
    328328      IF(lwp) THEN                      ! Control print 
    329329         WRITE(numout,*) 
    330          WRITE(numout,*) 'albedo : set albedo parameters' 
    331          WRITE(numout,*) '~~~~~~~' 
     330         WRITE(numout,*) 'ice_alb_init: set albedo parameters' 
     331         WRITE(numout,*) '~~~~~~~~~~~~' 
    332332         WRITE(numout,*) '   Namelist namice_alb : albedo ' 
    333333         WRITE(numout,*) '      choose the albedo parameterization   nn_ice_alb  = ', nn_ice_alb 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icecor.F90

    r8512 r8514  
    6464      ENDIF 
    6565      !                             !--- conservation test 
    66       IF( ln_limdiachk )   CALL ice_cons_hsm(0, 'icecor', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     66      IF( ln_icediachk )   CALL ice_cons_hsm(0, 'icecor', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    6767      ! 
    6868      ! 
     
    8686     
    8787      !                             !----------------------------------------------------- 
    88       IF (  nn_icesal == 2  ) THEN  !  salinity stays in bounds [Simin,Simax]            ! 
     88      IF ( nn_icesal == 2 ) THEN    !  salinity must stay in bounds [Simin,Simax]        ! 
    8989      !                             !----------------------------------------------------- 
    9090         zzc = rhoic * r1_rdtice 
     
    176176      ! 
    177177      !                                !--- conservation test 
    178       IF( ln_limdiachk )   CALL ice_cons_hsm(1, 'icecor', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     178      IF( ln_icediachk )   CALL ice_cons_hsm(1, 'icecor', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    179179      ! 
    180180      !                                !--- control prints 
    181181      IF( ln_ctl )                    CALL ice_prt3D( 'icecor' ) 
    182       IF( ln_limctl .AND. kn == 2 )   CALL ice_prt( kt, iiceprt, jiceprt, 2, ' - Final state - ' ) 
     182      IF( ln_icectl .AND. kn == 2 )   CALL ice_prt( kt, iiceprt, jiceprt, 2, ' - Final state - ' ) 
    183183      ! 
    184184      IF( nn_timing == 1 )   CALL timing_stop('icecor') 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icectl.F90

    r8498 r8514  
    5454      !!                     + test if ice concentration and volume are > 0 
    5555      !! 
    56       !! ** Method  : This is an online diagnostics which can be activated with ln_limdiachk=true 
     56      !! ** Method  : This is an online diagnostics which can be activated with ln_icediachk=true 
    5757      !!              It prints in ocean.output if there is a violation of conservation at each time-step 
    5858      !!              The thresholds (zv_sill, zs_sill, zh_sill) which determine violations are set to 
     
    167167      !! ** Purpose : Test the conservation of heat, salt and mass at the end of each ice time-step 
    168168      !! 
    169       !! ** Method  : This is an online diagnostics which can be activated with ln_limdiachk=true 
     169      !! ** Method  : This is an online diagnostics which can be activated with ln_icediachk=true 
    170170      !!              It prints in ocean.output if there is a violation of conservation at each time-step 
    171171      !!              The thresholds (zv_sill, zs_sill, zh_sill) which determine the violation are set to 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icedia.F90

    r8512 r8514  
    164164      INTEGER            ::   ios, ierror   ! local integer 
    165165      !! 
    166       NAMELIST/namice_dia/ ln_limdiachk, ln_limdiahsb, ln_limctl, iiceprt, jiceprt   
     166      NAMELIST/namice_dia/ ln_icediachk, ln_icediahsb, ln_icectl, iiceprt, jiceprt   
    167167      !!---------------------------------------------------------------------- 
    168168      ! 
     
    181181         WRITE(numout,*) ' ~~~~~~~~~~~' 
    182182         WRITE(numout,*) '   Namelist namice_dia : ' 
    183          WRITE(numout,*) '      Diagnose online heat/mass/salt budget      ln_limdiachk = ', ln_limdiachk 
    184          WRITE(numout,*) '      Output          heat/mass/salt budget      ln_limdiahsb = ', ln_limdiahsb 
    185          WRITE(numout,*) '      control prints for a given grid point         ln_limctl = ', ln_limctl 
     183         WRITE(numout,*) '      Diagnose online heat/mass/salt budget      ln_icediachk = ', ln_icediachk 
     184         WRITE(numout,*) '      Output          heat/mass/salt budget      ln_icediahsb = ', ln_icediahsb 
     185         WRITE(numout,*) '      control prints for a given grid point         ln_icectl = ', ln_icectl 
    186186         WRITE(numout,*) '         chosen grid point position         (iiceprt,jiceprt) = (', iiceprt,',', jiceprt,')' 
    187187      ENDIF 
    188188      !       
    189       IF( ln_limdiahsb ) THEN 
     189      IF( ln_icediahsb ) THEN 
    190190         ALLOCATE( vol_loc_ini(jpi,jpj), sal_loc_ini(jpi,jpj), tem_loc_ini(jpi,jpj), STAT=ierror ) 
    191191         IF( ierror > 0 )  THEN 
     
    202202   SUBROUTINE ice_dia_rst( cdrw, kt ) 
    203203      !!--------------------------------------------------------------------- 
    204       !!                   ***  ROUTINE limdia_rst  *** 
     204      !!                   ***  ROUTINE icedia_rst  *** 
    205205      !!                      
    206206      !! ** Purpose :   Read or write DIA file in restart file 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90

    r8512 r8514  
    143143                                CALL blk_ice_flx( t_su, alb_ice )    !  
    144144         IF( ln_mixcpl      )   CALL sbc_cpl_ice_flx( picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su ) 
    145          IF( nn_limflx /= 2 )   CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx ) 
     145         IF( nn_iceflx /= 2 )   CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_iceflx ) 
    146146         ! 
    147147      CASE ( jp_purecpl )           !--- coupled formulation 
    148148                                CALL sbc_cpl_ice_flx( picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su ) 
    149          IF( nn_limflx == 2 )   CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx ) 
     149         IF( nn_iceflx == 2 )   CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_iceflx ) 
    150150         ! 
    151151      END SELECT 
     
    168168 
    169169 
    170    SUBROUTINE ice_flx_dist( ptn_ice, palb_ice, pqns_ice, pqsr_ice, pdqn_ice, pevap_ice, pdevap_ice, k_limflx ) 
     170   SUBROUTINE ice_flx_dist( ptn_ice, palb_ice, pqns_ice, pqsr_ice, pdqn_ice, pevap_ice, pdevap_ice, k_iceflx ) 
    171171      !!--------------------------------------------------------------------- 
    172172      !!                  ***  ROUTINE ice_flx_dist  *** 
     
    177177      !! ** Method  :   average then redistribute 
    178178      !! 
    179       !! ** Action  : 
    180       !!--------------------------------------------------------------------- 
    181       INTEGER                   , INTENT(in   ) ::   k_limflx   ! =-1 do nothing; =0 average ; 
    182       !                                                         ! = 1 average and redistribute ; =2 redistribute 
     179      !! ** Action  :   depends on k_iceflx 
     180      !!                = -1  Do nothing (needs N(cat) fluxes) 
     181      !!                =  0  Average N(cat) fluxes then apply the average over the N(cat) ice  
     182      !!                =  1  Average N(cat) fluxes then redistribute over the N(cat) ice 
     183      !!                                                 using T-ice and albedo sensitivity 
     184      !!                =  2  Redistribute a single flux over categories 
     185      !!--------------------------------------------------------------------- 
     186      INTEGER                   , INTENT(in   ) ::   k_iceflx   ! redistributor 
    183187      REAL(wp), DIMENSION(:,:,:), INTENT(in   ) ::   ptn_ice    ! ice surface temperature 
    184188      REAL(wp), DIMENSION(:,:,:), INTENT(in   ) ::   palb_ice   ! ice albedo 
     
    208212      END WHERE 
    209213       
    210       SELECT CASE( k_limflx )       !==  averaged on all ice categories  ==! 
     214      SELECT CASE( k_iceflx )       !==  averaged on all ice categories  ==! 
    211215      ! 
    212216      CASE( 0 , 1 ) 
     
    231235      END SELECT 
    232236      ! 
    233       SELECT CASE( k_limflx )       !==  redistribution on all ice categories  ==! 
     237      SELECT CASE( k_iceflx )       !==  redistribution on all ice categories  ==! 
    234238      ! 
    235239      CASE( 1 , 2 ) 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceitd.F90

    r8512 r8514  
    8181      IF( kt == nit000 .AND. lwp )   WRITE(numout,*) '-- ice_itd_rem: remapping ice thickness distribution'  
    8282 
    83       IF( ln_limdiachk ) CALL ice_cons_hsm(0, 'iceitd_rem', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     83      IF( ln_icediachk ) CALL ice_cons_hsm(0, 'iceitd_rem', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    8484 
    8585      !----------------------------------------------------------------------------------------------- 
     
    291291         CALL tab_2d_1d( nidx, idxice(1:nidx), ht_i_1d (1:nidx), ht_i(:,:,1)   ) 
    292292         CALL tab_2d_1d( nidx, idxice(1:nidx), a_i_1d  (1:nidx), a_i(:,:,1)    ) 
    293          CALL tab_2d_1d( nidx, idxice(1:nidx), a_ip_1d (1:nidx), a_ip(:,:,1)    ) 
     293         CALL tab_2d_1d( nidx, idxice(1:nidx), a_ip_1d (1:nidx), a_ip(:,:,1)   ) 
    294294          
    295295         DO ji = 1, nidx 
     
    307307         CALL tab_1d_2d( nidx, idxice(1:nidx), ht_i_1d (1:nidx), ht_i(:,:,1)   ) 
    308308         CALL tab_1d_2d( nidx, idxice(1:nidx), a_i_1d  (1:nidx), a_i(:,:,1)    ) 
    309          CALL tab_1d_2d( nidx, idxice(1:nidx), a_ip_1d (1:nidx), a_ip(:,:,1)    ) 
     309         CALL tab_1d_2d( nidx, idxice(1:nidx), a_ip_1d (1:nidx), a_ip(:,:,1)   ) 
    310310         ! 
    311311      ENDIF 
    312312      ! 
    313       IF( ln_limdiachk )   CALL ice_cons_hsm(1, 'iceitd_rem', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     313      IF( ln_icediachk )   CALL ice_cons_hsm(1, 'iceitd_rem', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    314314      ! 
    315315   END SUBROUTINE ice_itd_rem 
     
    664664      IF(lwp) THEN                  ! control print 
    665665         WRITE(numout,*) 
    666          WRITE(numout,*) 'ice_itd_init : Initialization of ice cat distribution ' 
     666         WRITE(numout,*) 'ice_itd_init: Initialization of ice cat distribution ' 
    667667         WRITE(numout,*) '~~~~~~~~~~~~' 
    668668         WRITE(numout,*) '   Namelist namice_itd : ' 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerdgrft.F90

    r8512 r8514  
    141141      ENDIF       
    142142      !                    ! conservation test 
    143       IF( ln_limdiachk )   CALL ice_cons_hsm(0, 'icerdgrft', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     143      IF( ln_icediachk )   CALL ice_cons_hsm(0, 'icerdgrft', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    144144 
    145145      !-----------------------------------------------------------------------------! 
     
    288288      !-----------------------------------------------------------------------------! 
    289289      !                    ! conservation test 
    290       IF( ln_limdiachk )   CALL ice_cons_hsm(1, 'icerdgrft', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     290      IF( ln_icediachk )   CALL ice_cons_hsm(1, 'icerdgrft', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    291291 
    292292      !                    ! control prints 
     
    774774 
    775775      !                              !--------------------------------------------------! 
    776       IF( ln_str_Rot ) THEN          ! Ice strength => Rothrock (1975) method           ! 
     776      IF( ln_str_R75 ) THEN          ! Ice strength => Rothrock (1975) method           ! 
    777777      !                              !--------------------------------------------------! 
    778778         z1_3 = 1._wp / 3._wp 
     
    793793         ismooth = 1 
    794794      !                              !--------------------------------------------------! 
    795       ELSEIF( ln_str_Hib ) THEN      ! Ice strength => Hibler (1979) method             ! 
     795      ELSEIF( ln_str_H79 ) THEN      ! Ice strength => Hibler (1979) method             ! 
    796796      !                              !--------------------------------------------------! 
    797797         strength(:,:) = rn_pstar * vt_i(:,:) * EXP( - rn_crhg * ( 1._wp - at_i(:,:) )  ) * tmask(:,:,1) 
     
    865865      INTEGER :: ios                 ! Local integer output status for namelist read 
    866866      !! 
    867       NAMELIST/namice_rdgrft/ ln_str_Hib, rn_pstar, rn_crhg, & 
    868          &                    ln_str_Rot, rn_perdg,          & 
     867      NAMELIST/namice_rdgrft/ ln_str_H79, rn_pstar, rn_crhg, & 
     868         &                    ln_str_R75, rn_perdg,          & 
    869869         &                    rn_cs     ,                    & 
    870870         &                    ln_partf_lin, rn_gstar,        & 
     
    885885      IF (lwp) THEN                          ! control print 
    886886         WRITE(numout,*) 
    887          WRITE(numout,*) 'ice_rdgrft_init : ice parameters for ridging/rafting ' 
     887         WRITE(numout,*) 'ice_rdgrft_init: ice parameters for ridging/rafting ' 
    888888         WRITE(numout,*) '~~~~~~~~~~~~~~~' 
    889889         WRITE(numout,*) '   Namelist namice_rdgrft' 
    890          WRITE(numout,*) '      ice strength parameterization Hibler (1979)              ln_str_Hib   = ', ln_str_Hib  
     890         WRITE(numout,*) '      ice strength parameterization Hibler (1979)              ln_str_H79   = ', ln_str_H79  
    891891         WRITE(numout,*) '            1st bulk-rheology parameter                        rn_pstar     = ', rn_pstar 
    892892         WRITE(numout,*) '            2nd bulk-rhelogy parameter                         rn_crhg      = ', rn_crhg 
    893          WRITE(numout,*) '      ice strength parameterization Rothrock (1975)            ln_str_Rot   = ', ln_str_Rot  
     893         WRITE(numout,*) '      ice strength parameterization Rothrock (1975)            ln_str_R75   = ', ln_str_R75  
    894894         WRITE(numout,*) '            Ratio of ridging work to PotEner change in ridging rn_perdg     = ', rn_perdg  
    895895         WRITE(numout,*) '      Fraction of shear energy contributing to ridging         rn_cs        = ', rn_cs  
     
    910910      ENDIF 
    911911      ! 
    912       IF ( ( ln_str_Hib .AND. ln_str_Rot ) .OR. ( .NOT.ln_str_Hib .AND. .NOT.ln_str_Rot ) ) THEN 
    913          CALL ctl_stop( 'ice_rdgrft_init: choose one and only one formulation for ice strength (ln_str_Hib or ln_str_Rot)' ) 
     912      IF ( ( ln_str_H79 .AND. ln_str_R75 ) .OR. ( .NOT.ln_str_H79 .AND. .NOT.ln_str_R75 ) ) THEN 
     913         CALL ctl_stop( 'ice_rdgrft_init: choose one and only one formulation for ice strength (ln_str_H79 or ln_str_R75)' ) 
    914914      ENDIF 
    915915      ! 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg.F90

    r8512 r8514  
    7070      ! 
    7171      !                             ! -- conservation test 
    72       IF( ln_limdiachk )   CALL ice_cons_hsm(0, 'icerhg', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     72      IF( ln_icediachk )   CALL ice_cons_hsm(0, 'icerhg', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    7373      !                       
    7474      IF( ln_landfast ) THEN        ! -- Landfast ice parameterization: define max bottom friction 
     
    9696      ! 
    9797      !                                                   !- conservation test 
    98       IF( ln_limdiachk   )   CALL ice_cons_hsm(1, 'icerhg', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     98      IF( ln_icediachk   )   CALL ice_cons_hsm(1, 'icerhg', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    9999      IF( ln_ctl         )   CALL ice_prt3D  ('icerhg')   !- Control prints 
    100100      IF( nn_timing == 1 )   CALL timing_stop('icerhg')   !- timing 
     
    132132      IF(lwp) THEN                     ! control print 
    133133         WRITE(numout,*) 
    134          WRITE(numout,*) 'ice_rhg_init : ice parameters for ice dynamics ' 
     134         WRITE(numout,*) 'ice_rhg_init: ice parameters for ice dynamics ' 
    135135         WRITE(numout,*) '~~~~~~~~~~~~' 
    136136         WRITE(numout,*) '   Namelist namice_rhg' 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerst.F90

    r8512 r8514  
    9090      ENDIF 
    9191      ! 
    92       IF( ln_limctl )   CALL ice_prt( kt, iiceprt, jiceprt, 1, ' - Beginning the time step - ' )   ! control print 
     92      IF( ln_icectl )   CALL ice_prt( kt, iiceprt, jiceprt, 1, ' - Beginning the time step - ' )   ! control print 
    9393   END SUBROUTINE ice_rst_opn 
    9494 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icestp.F90

    r8512 r8514  
    4949   USE limmp          ! sea-ice: melt ponds 
    5050   ! END MV MP 2016 
    51    USE iceist         ! sea-ice: initial state 
     51   USE iceistate      ! sea-ice: initial state 
    5252   USE icethd_sal     ! sea-ice: thermodynamics and salinity 
    5353   USE iceitd         ! sea-ice: remapping thickness distribution 
     
    163163         IF( .NOT. Agrif_Root()     )   CALL agrif_interp_lim3('T')   ! -- AGRIF  
    164164#endif 
    165          IF( ln_limthd .AND. ln_bdy )   CALL bdy_ice( kt )            ! -- bdy ice thermo 
     165         IF( ln_icethd .AND. ln_bdy )   CALL bdy_ice( kt )            ! -- bdy ice thermo 
    166166         ! 
    167167         ! 
     
    191191         ! --- ice thermodynamics --- ! 
    192192         !----------------------------! 
    193          IF( ln_limthd )            CALL ice_thd( kt )          ! -- Ice thermodynamics       
     193         IF( ln_icethd )            CALL ice_thd( kt )          ! -- Ice thermodynamics       
    194194 
    195195         ! MV MP 2016 
     
    197197         ! END MV MP 2016 
    198198 
    199          IF( ln_limthd )            CALL ice_cor( kt , 2 )      ! -- Corrections 
     199         IF( ln_icethd )            CALL ice_cor( kt , 2 )      ! -- Corrections 
    200200         ! --- 
    201201# if defined key_agrif 
     
    214214!!         IF( .NOT. Agrif_Root() )   CALL Agrif_ParentGrid_To_ChildGrid() 
    215215!!# endif 
    216          IF( ln_limdiahsb )         CALL ice_dia( kt )        ! -- Diagnostics and outputs  
     216         IF( ln_icediahsb )         CALL ice_dia( kt )        ! -- Diagnostics and outputs  
    217217         ! 
    218218                                    CALL ice_wri( 1 )         ! -- Ice outputs  
     
    223223         IF( lrst_ice )             CALL ice_rst_write( kt )  ! -- Ice restart file  
    224224         ! 
    225          IF( ln_limctl )            CALL ice_ctl( kt )        ! alerts in case of model crash 
     225         IF( ln_icectl )            CALL ice_ctl( kt )        ! alerts in case of model crash 
    226226         ! 
    227227      ENDIF   ! End sea-ice time step only 
     
    249249      !!---------------------------------------------------------------------- 
    250250      IF(lwp) WRITE(numout,*) 
    251       IF(lwp) WRITE(numout,*) 'ice_init : update ocean surface boudary condition'  
    252       IF(lwp) WRITE(numout,*) '~~~~~~~~   via Louvain la Neuve Ice Model (LIM-3) time stepping' 
     251      IF(lwp) WRITE(numout,*) 'ice_init: Arrays allocation & Initialization off all routines & init state'  
     252      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
    253253      ! 
    254254      !                                ! Open the reference and configuration namelist files and namelist output file 
     
    285285      !                                ! Initial sea-ice state 
    286286      IF( .NOT. ln_rstart ) THEN              ! start from rest: sea-ice deduced from sst 
    287          CALL ice_ist 
     287         CALL ice_istate 
    288288      ELSE                                    ! start from a restart file 
    289289         CALL ice_rst_read 
     
    360360      ENDIF 
    361361      ! 
    362       IF( ln_bdy .AND. ln_limdiachk )   CALL ctl_warn('ice_run_init: online conservation check does not work with BDY') 
     362      IF( ln_bdy .AND. ln_icediachk )   CALL ctl_warn('ice_run_init: online conservation check does not work with BDY') 
    363363      ! 
    364364      rdt_ice   = REAL(nn_fsbc) * rdt           !--- sea-ice timestep and inverse 
  • 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      ! 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd_dh.F90

    r8498 r8514  
    2020   USE ice            ! LIM variables 
    2121   USE ice1D          ! LIM thermodynamics 
     22   USE icethd_sal     ! sea-ice: salinity profiles 
    2223   ! 
    2324   USE in_out_manager ! I/O manager 
     
    107108      !!------------------------------------------------------------------ 
    108109 
    109       ! Discriminate between varying salinity (nn_icesal=2) and prescribed cases (other values) 
     110      ! Discriminate between time varying salinity and constant 
    110111      SELECT CASE( nn_icesal )                  ! varying salinity or not 
    111          CASE( 1, 3 )   ;   zswitch_sal = 0._wp   ! prescribed salinity profile 
    112          CASE( 2 )      ;   zswitch_sal = 1._wp   ! varying salinity profile 
     112         CASE( 1 , 3 )   ;   zswitch_sal = 0._wp   ! prescribed salinity profile 
     113         CASE( 2 )       ;   zswitch_sal = 1._wp   ! varying salinity profile 
    113114      END SELECT 
    114115 
     
    406407 
    407408      num_iter_max = 1 
    408       IF( nn_icesal == 2 ) num_iter_max = 5 
    409  
     409      IF( nn_icesal == 2 )   num_iter_max = 5  ! salinity varying in time 
     410       
    410411      ! Iterative procedure 
    411412      DO ji = 1, nidx 
     
    586587         hfx_out_1d(ji)  = hfx_out_1d(ji) + ( zq_rema(ji) * a_i_1d(ji) ) * r1_rdtice 
    587588 
    588          IF( ln_limctl .AND. zq_rema(ji) < 0. .AND. lwp ) WRITE(numout,*) 'ALERTE zq_rema <0 = ', zq_rema(ji) 
     589         IF( ln_icectl .AND. zq_rema(ji) < 0. .AND. lwp ) WRITE(numout,*) 'ALERTE zq_rema <0 = ', zq_rema(ji) 
    589590      END DO 
    590591 
     
    613614         sfx_sni_1d(ji) = sfx_sni_1d(ji) + sss_1d(ji) * a_i_1d(ji) * zfmdt * r1_rdtice  
    614615 
    615          ! virtual salt flux to keep salinity constant 
     616         ! Case constant salinity in time: virtual salt flux to keep salinity constant 
    616617         IF( nn_icesal == 1 .OR. nn_icesal == 3 )  THEN 
    617618            sfx_bri_1d(ji) = sfx_bri_1d(ji) - sss_1d (ji) * a_i_1d(ji) * zfmdt                  * r1_rdtice  & ! put back sss_m     into the ocean 
     
    665666      REAL(wp), DIMENSION(:,:), INTENT(in   ) :: pin   ! previous fraction lead ( 1. - a_i_b ) 
    666667      REAL(wp), DIMENSION(:,:), INTENT(inout) :: pout 
    667       pout = ( 1._wp - ( pin )**rn_betas ) 
     668      pout = ( 1._wp - ( pin )**rn_blow_s ) 
    668669   END SUBROUTINE ice_thd_snwblow_2d 
    669670 
     
    671672      REAL(wp), DIMENSION(:), INTENT(in   ) :: pin 
    672673      REAL(wp), DIMENSION(:), INTENT(inout) :: pout 
    673       pout = ( 1._wp - ( pin )**rn_betas ) 
     674      pout = ( 1._wp - ( pin )**rn_blow_s ) 
    674675   END SUBROUTINE ice_thd_snwblow_1d 
    675676 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd_dif.F90

    r8500 r8514  
    287287         !------------------------------------------------------------------------------| 
    288288         ! 
    289          IF( nn_ice_thcon == 0 ) THEN      ! Untersteiner (1964) formula 
     289         IF( ln_cndi_U64 ) THEN         !-- Untersteiner (1964) formula: k = k0 + beta.S/T 
    290290            DO ji = 1 , nidx 
    291291               ztcond_i(ji,0) = rcdic + zbeta * s_i_1d(ji,1) / MIN( -epsi10, t_i_1d(ji,1) - rt0 ) 
     
    299299               END DO 
    300300            END DO 
    301          ENDIF 
    302  
    303          IF( nn_ice_thcon == 1 ) THEN      ! Pringle et al formula included: 2.11 + 0.09 S/T - 0.011.T 
     301 
     302         ELSEIF( ln_cndi_P07 ) THEN     !-- Pringle et al formula: k = k0 + beta1.S/T - beta2.T 
    304303            DO ji = 1 , nidx 
    305304               ztcond_i(ji,0) = rcdic + 0.090_wp * s_i_1d(ji,1) / MIN( -epsi10, t_i_1d(ji,1) - rt0 )   & 
     
    347346 
    348347               ! Effective thickness he (zhe) 
    349                zfac     = 1._wp / ( rn_cdsn + zkimean ) 
    350                zratio_s = rn_cdsn   * zfac 
     348               zfac     = 1._wp / ( rn_cnd_s + zkimean ) 
     349               zratio_s = rn_cnd_s   * zfac 
    351350               zratio_i = zkimean * zfac 
    352351               zhe      = zratio_s * ht_i_1d(ji) + zratio_i * ht_s_1d(ji) 
     
    371370         DO ji = 1, nidx 
    372371            zfac                  =  1. / MAX( epsi10 , zh_s(ji) ) 
    373             zkappa_s(ji,0)        = zghe(ji) * rn_cdsn * zfac 
    374             zkappa_s(ji,nlay_s)   = zghe(ji) * rn_cdsn * zfac 
     372            zkappa_s(ji,0)        = zghe(ji) * rn_cnd_s * zfac 
     373            zkappa_s(ji,nlay_s)   = zghe(ji) * rn_cnd_s * zfac 
    375374         END DO 
    376375 
    377376         DO jk = 1, nlay_s-1 
    378377            DO ji = 1 , nidx 
    379                zkappa_s(ji,jk)    = zghe(ji) * 2.0 * rn_cdsn / MAX( epsi10, 2.0 * zh_s(ji) ) 
     378               zkappa_s(ji,jk)    = zghe(ji) * 2.0 * rn_cnd_s / MAX( epsi10, 2.0 * zh_s(ji) ) 
    380379            END DO 
    381380         END DO 
     
    393392            zkappa_i(ji,0)        = zghe(ji) * ztcond_i(ji,0) * zfac 
    394393            zkappa_i(ji,nlay_i)   = zghe(ji) * ztcond_i(ji,nlay_i) * zfac 
    395             zkappa_s(ji,nlay_s)   = zghe(ji) * zghe(ji) * 2.0 * rn_cdsn * ztcond_i(ji,0) / &  
    396            &                        MAX( epsi10, ( zghe(ji) * ztcond_i(ji,0) * zh_s(ji) + zghe(ji) * rn_cdsn * zh_i(ji) ) ) 
     394            zkappa_s(ji,nlay_s)   = zghe(ji) * zghe(ji) * 2.0 * rn_cnd_s * ztcond_i(ji,0) / &  
     395           &                        MAX( epsi10, ( zghe(ji) * ztcond_i(ji,0) * zh_s(ji) + zghe(ji) * rn_cnd_s * zh_i(ji) ) ) 
    397396            zkappa_i(ji,0)        = zkappa_s(ji,nlay_s) * isnow(ji) + zkappa_i(ji,0) * ( 1._wp - isnow(ji) ) 
    398397         END DO 
     
    423422         !------------------------------------------------------------------------------| 
    424423         ! 
    425          IF ( ln_dqnsice ) THEN  
     424         IF ( ln_dqns_i ) THEN  
    426425            DO ji = 1 , nidx 
    427426               ! update of the non solar flux according to the update in T_su 
     
    708707      !--- Snow-ice interfacial temperature (diagnostic SIMIP) 
    709708      DO ji = 1, nidx 
    710          zfac        = 1. / MAX( epsi10 , rn_cdsn * zh_i(ji) + ztcond_i(ji,1) * zh_s(ji) ) 
     709         zfac        = 1. / MAX( epsi10 , rn_cnd_s * zh_i(ji) + ztcond_i(ji,1) * zh_s(ji) ) 
    711710         IF( zh_s(ji) >= 1.e-3 ) THEN 
    712             t_si_1d(ji) = ( rn_cdsn        * zh_i(ji) * t_s_1d(ji,1) + & 
     711            t_si_1d(ji) = ( rn_cnd_s       * zh_i(ji) * t_s_1d(ji,1) + & 
    713712               &            ztcond_i(ji,1) * zh_s(ji) * t_i_1d(ji,1) ) * zfac 
    714713         ELSE 
     
    718717      ! END MV SIMIP 2016 
    719718 
    720       IF( ln_limctl .AND. lwp ) THEN 
     719      IF( ln_icectl .AND. lwp ) THEN 
    721720         WRITE(numout,*) ' zdti_max : ', zdti_max 
    722721         WRITE(numout,*) ' iconv    : ', iconv 
     
    748747 
    749748      ! --- diagnose the change in non-solar flux due to surface temperature change --- ! 
    750       IF ( ln_dqnsice ) THEN 
     749      IF ( ln_dqns_i ) THEN 
    751750         DO ji = 1, nidx 
    752751            hfx_err_dif_1d(ji) = hfx_err_dif_1d(ji) - ( qns_ice_1d(ji)  - zqns_ice_b(ji) ) * a_i_1d(ji)  
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd_lac.F90

    r8486 r8514  
    2626   USE icethd_ent     ! sea-ice: thermodynamics, enthalpy 
    2727   USE icevar         ! sea-ice: operations 
     28   USE icethd_sal     ! sea-ice: salinity profiles 
    2829   ! 
    2930   USE in_out_manager ! I/O manager 
     
    112113      !!-----------------------------------------------------------------------! 
    113114 
    114       IF( ln_limdiachk ) CALL ice_cons_hsm(0, 'icethd_lac', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     115      IF( ln_icediachk ) CALL ice_cons_hsm(0, 'icethd_lac', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    115116 
    116117      CALL ice_var_agg(1) 
     
    133134 
    134135      ! Default new ice thickness 
    135       WHERE( qlead(:,:) < 0._wp )   ;   hicol(:,:) = rn_hnewice 
     136      WHERE( qlead(:,:) < 0._wp )   ;   hicol(:,:) = rn_hinew 
    136137      ELSEWHERE                     ;   hicol(:,:) = 0._wp 
    137138      END WHERE 
     
    348349            DO ji = 1, nidx 
    349350               rswitch       = 1._wp - MAX( 0._wp, SIGN( 1._wp , - zat_i_1d(ji) ) ) 
    350                zfrazb        = rswitch * ( TANH( rn_Cfrazb * ( zvrel_1d(ji) - rn_vfrazb ) ) + 1.0 ) * 0.5 * rn_maxfrazb 
     351               zfrazb        = rswitch * ( TANH( rn_Cfraz * ( zvrel_1d(ji) - rn_vfraz ) ) + 1.0 ) * 0.5 * rn_maxfraz 
    351352               zv_frazb(ji)  =         zfrazb   * zv_newice(ji) 
    352353               zv_newice(ji) = ( 1.0 - zfrazb ) * zv_newice(ji) 
     
    478479      ENDIF ! nidx > 0 
    479480      ! 
    480       IF( ln_limdiachk ) CALL ice_cons_hsm(1, 'icethd_lac', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
     481      IF( ln_icediachk ) CALL ice_cons_hsm(1, 'icethd_lac', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    481482      ! 
    482483   END SUBROUTINE ice_thd_lac 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd_sal.F90

    r8512 r8514  
    5555      SELECT CASE ( nn_icesal ) 
    5656      ! 
    57       !              !---------------------------------------------! 
    58       CASE( 2 )      !  time varying salinity with linear profile  ! 
    59       !              !---------------------------------------------! 
     57      !               !---------------------------------------------! 
     58      CASE( 2 )       !  time varying salinity with linear profile  ! 
     59      !               !---------------------------------------------! 
    6060         DO ji = 1, nidx 
    6161 
     
    7171            sm_i_1d(ji) = sm_i_1d(ji) + zsm_i_bg + zsm_i_si 
    7272 
    73             IF( ln_limdS ) THEN 
     73            IF( ln_icedS ) THEN 
    7474               !--------------------------------------------------------- 
    7575               !  Update ice salinity from brine drainage and flushing 
     
    9191         CALL ice_var_salprof1d 
    9292         ! 
    93       !                 !---------------------------------------------! 
    94       CASE( 3 )         ! constant salinity with a fix profile        ! (Schwarzacher (1959) multiyear salinity profile(mean = 2.30) 
    95       !                 !---------------------------------------------! 
     93      !         !---------------------------------------------! 
     94      CASE( 3 ) ! constant salinity with a fixed profile      ! (Schwarzacher (1959) multiyear salinity profile(mean = 2.30) 
     95      !         !---------------------------------------------! 
    9696         CALL ice_var_salprof1d 
    9797      ! 
     
    114114      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    115115      !! 
    116       NAMELIST/namice_sal/ ln_limdS , nn_icesal , rn_icesal, rn_sal_gd, rn_time_gd,   & 
     116      NAMELIST/namice_sal/ ln_icedS , nn_icesal , rn_icesal, rn_sal_gd, rn_time_gd,   & 
    117117         &                rn_sal_fl, rn_time_fl, rn_simax , rn_simin  
    118118      !!------------------------------------------------------------------- 
     
    132132         WRITE(numout,*) '~~~~~~~~~~~~~~~~' 
    133133         WRITE(numout,*) '   Namelist namice_sal' 
    134          WRITE(numout,*) '      activate gravity drainage and flushing (T) or not (F)   ln_limdS   = ', ln_limdS 
     134         WRITE(numout,*) '      activate gravity drainage and flushing (T) or not (F)   ln_icedS   = ', ln_icedS 
    135135         WRITE(numout,*) '      switch for salinity                                     nn_icesal  = ', nn_icesal 
    136136         WRITE(numout,*) '      bulk salinity value if nn_icesal = 1                    rn_icesal  = ', rn_icesal 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceupdate.F90

    r8512 r8514  
    121121 
    122122      ! --- case we bypass ice thermodynamics --- ! 
    123       IF( .NOT. ln_limthd ) THEN   ! we suppose ice is impermeable => ocean is isolated from atmosphere 
     123      IF( .NOT. ln_icethd ) THEN   ! we suppose ice is impermeable => ocean is isolated from atmosphere 
    124124         hfx_in   (:,:)   = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:) 
    125125         hfx_out  (:,:)   = ( 1._wp - at_i_b(:,:) ) *   qns_oce(:,:)                  + qemp_oce(:,:) 
     
    208208 
    209209      !                    ! conservation test 
    210       IF( ln_limdiachk .AND. .NOT. ln_bdy)   CALL ice_cons_final( 'iceupdate' ) 
     210      IF( ln_icediachk .AND. .NOT. ln_bdy)   CALL ice_cons_final( 'iceupdate' ) 
    211211      !                    ! control prints 
    212       IF( ln_limctl )   CALL ice_prt( kt, iiceprt, jiceprt, 3, ' - Final state ice_update - ' ) 
     212      IF( ln_icectl )   CALL ice_prt( kt, iiceprt, jiceprt, 3, ' - Final state ice_update - ' ) 
    213213      IF( ln_ctl    )   CALL ice_prt3D( 'iceupdate' ) 
    214214      ! 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icevar.F90

    r8500 r8514  
    191191      o_i(:,:,:)  = oa_i(:,:,:) * z1_a_i(:,:,:)    !--- ice age 
    192192 
    193       IF( nn_icesal == 2 )THEN                     !--- salinity (with a minimum value imposed everywhere) 
     193      IF( nn_icesal == 2 ) THEN                    !--- salinity (with a minimum value imposed everywhere) 
    194194         WHERE( v_i(:,:,:) > epsi20 )   ;   sm_i(:,:,:) = MAX( rn_simin , smv_i(:,:,:) / v_i(:,:,:) ) 
    195195         ELSEWHERE                      ;   sm_i(:,:,:) = rn_simin 
     
    289289      !!------------------------------------------------------------------ 
    290290 
    291 !!gm  much much more secure to defined when reading nn_icesal in the namelist integers =1, 2, 3  with explicit names 
    292 !!       for example np_Scst_noProfile = 1  ;  np_Svar_linProfile = 2   ;   np_Scst_fixProfile 
    293  
    294291!!gm Question: Remove the option 3 ?  How many years since it last use ?  
    295292 
    296293      SELECT CASE ( nn_icesal ) 
    297294      ! 
    298       !              !---------------------------------------! 
    299       CASE( 1 )      !  constant salinity in time and space  ! 
    300          !           !---------------------------------------! 
     295      !               !---------------------------------------! 
     296      CASE( 1 )       !  constant salinity in time and space  ! 
     297         !            !---------------------------------------! 
    301298         s_i (:,:,:,:) = rn_icesal 
    302299         sm_i(:,:,:)   = rn_icesal 
    303300         ! 
    304          !           !---------------------------------------------! 
    305       CASE( 2 )      !  time varying salinity with linear profile  ! 
    306          !           !---------------------------------------------! 
     301         !            !---------------------------------------------! 
     302      CASE( 2 )       !  time varying salinity with linear profile  ! 
     303         !            !---------------------------------------------! 
    307304         ! 
    308305         ALLOCATE( z_slope_s(jpi,jpj,jpl) , zalpha(jpi,jpj,jpl) ) 
     
    343340         DEALLOCATE( z_slope_s , zalpha ) 
    344341         ! 
    345          !           !-------------------------------------------! 
    346       CASE( 3 )      ! constant salinity with a fix profile      ! (Schwarzacher (1959) multiyear salinity profile 
    347          !           !-------------------------------------------!                                   (mean = 2.30) 
     342         !            !-------------------------------------------! 
     343      CASE( 3 )       ! constant salinity with a fix profile      ! (Schwarzacher (1959) multiyear salinity profile 
     344         !            !-------------------------------------------!                                   (mean = 2.30) 
    348345         ! 
    349346         sm_i(:,:,:) = 2.30_wp 
     
    415412      SELECT CASE ( nn_icesal ) 
    416413      ! 
    417       !              !---------------------------------------! 
    418       CASE( 1 )      !  constant salinity in time and space  ! 
    419          !           !---------------------------------------! 
     414      !               !---------------------------------------! 
     415      CASE( 1 )       !  constant salinity in time and space  ! 
     416         !            !---------------------------------------! 
    420417         s_i_1d(:,:) = rn_icesal 
    421418         ! 
    422          !           !---------------------------------------------! 
    423       CASE( 2 )      !  time varying salinity with linear profile  ! 
    424          !           !---------------------------------------------! 
     419         !            !---------------------------------------------! 
     420      CASE( 2 )       !  time varying salinity with linear profile  ! 
     421         !            !---------------------------------------------! 
    425422         ! 
    426423         ALLOCATE( z_slope_s(jpij) ) 
     
    445442         DEALLOCATE( z_slope_s ) 
    446443 
    447          !           !-------------------------------------------! 
    448       CASE( 3 )      ! constant salinity with a fix profile      ! (Schwarzacher (1959) multiyear salinity profile 
    449          !           !-------------------------------------------!                                   (mean = 2.30) 
     444         !            !-------------------------------------------! 
     445      CASE( 3 )       ! constant salinity with a fix profile      ! (Schwarzacher (1959) multiyear salinity profile 
     446         !            !-------------------------------------------!                                   (mean = 2.30) 
    450447         ! 
    451448         sm_i_1d(:) = 2.30_wp 
     
    572569      !!                  ice thickness distribution follows a gaussian law 
    573570      !!               around the concentration of the most likely ice thickness 
    574       !!                           (similar as iceist.F90) 
     571      !!                           (similar as iceistate.F90) 
    575572      !! 
    576573      !! ** Method:   Iterative procedure 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/BDY/bdyice.F90

    r8424 r8514  
    7373                        CALL ice_var_zapsmall 
    7474                        CALL ice_var_agg(1) 
    75       IF( ln_limctl )   CALL ice_prt( kt, iiceprt, jiceprt, 1, ' - ice thermo bdy - ' ) 
     75      IF( ln_icectl )   CALL ice_prt( kt, iiceprt, jiceprt, 1, ' - ice thermo bdy - ' ) 
    7676      ! 
    7777   END SUBROUTINE bdy_ice 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/SETTE/sette.sh

    r8292 r8514  
    143143#                     15 & 16  
    144144 
    145 for config in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
     145for config in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  
    146146 
    147147do 
     
    312312    set_namelist namelist_cfg jpnj 8 
    313313    set_namelist namelist_cfg jpnij 32 
    314     set_namelist namelist_ice_cfg ln_limdiachk .true. 
     314    set_namelist namelist_ice_cfg ln_icediachk .true. 
     315##    set_namelist namelist_ice_cfg ln_icediahsb .true. 
    315316    set_namelist namelist_top_cfg ln_trcdta .false. 
    316317    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false 
     
    351352    set_namelist namelist_cfg jpnj 8 
    352353    set_namelist namelist_cfg jpnij 32 
    353     set_namelist namelist_ice_cfg ln_limdiachk .true. 
     354    set_namelist namelist_ice_cfg ln_icediachk .true. 
     355##    set_namelist namelist_ice_cfg ln_icediahsb .true. 
    354356    set_namelist namelist_top_cfg ln_rsttr .true. 
    355357    set_namelist namelist_top_cfg nn_rsttr 2 
     
    413415    set_namelist namelist_cfg jpnj 8 
    414416    set_namelist namelist_cfg jpnij 32 
    415     set_namelist namelist_ice_cfg ln_limdiachk .true. 
     417    set_namelist namelist_ice_cfg ln_icediachk .true. 
     418    set_namelist namelist_ice_cfg ln_icediahsb .true. 
    416419    set_namelist namelist_top_cfg ln_trcdta .false. 
    417420    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false 
     
    455458    set_namelist namelist_cfg jpnj 4 
    456459    set_namelist namelist_cfg jpnij 32 
    457     set_namelist namelist_ice_cfg ln_limdiachk .true. 
     460    set_namelist namelist_ice_cfg ln_icediachk .true. 
     461    set_namelist namelist_ice_cfg ln_icediahsb .true. 
    458462    set_namelist namelist_top_cfg ln_trcdta .false. 
    459463    # put ln_ironsed, ln_river, ln_ndepo, ln_dust to false 
     
    814818    set_namelist namelist_cfg jpnj 8 
    815819    set_namelist namelist_cfg jpnij 32 
    816     set_namelist namelist_ice_cfg ln_limdiachk .true. 
     820    set_namelist namelist_ice_cfg ln_icediachk .true. 
    817821    if [ ${USING_MPMD} == "yes" ] ; then 
    818822       set_xio_using_server iodef.xml true 
     
    840844    set_namelist namelist_cfg ln_rstart .true. 
    841845    set_namelist namelist_cfg nn_rstctl 2 
    842     set_namelist namelist_ice_cfg ln_limdiachk .true. 
     846    set_namelist namelist_ice_cfg ln_icediachk .true. 
    843847    set_namelist namelist_ice_cfg cn_icerst_in \"SAS_00000050_restart_ice\" 
    844848    if [ ${USING_MPMD} == "yes" ] ; then 
Note: See TracChangeset for help on using the changeset viewer.