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 3901 for branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/LIM_SRC_3/ice.F90 – NEMO

Ignore:
Timestamp:
2013-05-03T14:35:21+02:00 (11 years ago)
Author:
clevy
Message:

Configuration Setting/Step2, see ticket:#1074

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r3853_CNRS9_ConfSetting/NEMOGCM/NEMO/LIM_SRC_3/ice.F90

    r3625 r3901  
    158158   !! * Share Module variables 
    159159   !!-------------------------------------------------------------------------- 
    160    INTEGER , PUBLIC ::   nstart      !: iteration number of the begining of the run  
    161    INTEGER , PUBLIC ::   nlast       !: iteration number of the end of the run  
    162    INTEGER , PUBLIC ::   nitrun      !: number of iteration 
    163    INTEGER , PUBLIC ::   numit       !: iteration number 
    164    REAL(wp), PUBLIC ::   rdt_ice     !: ice time step 
    165    REAL(wp), PUBLIC ::   r1_rdtice   !: = 1. / rdt_ice 
    166  
    167    !                                          !!** ice-dynamic namelist (namicedyn) ** 
    168    INTEGER , PUBLIC ::   nbiter = 1            !: number of sub-time steps for relaxation 
    169    INTEGER , PUBLIC ::   nbitdr = 250          !: maximum number of iterations for relaxation 
    170    INTEGER , PUBLIC ::   nevp   = 400          !: number of iterations for subcycling 
     160   INTEGER , PUBLIC ::   nstart           !: iteration number of the begining of the run  
     161   INTEGER , PUBLIC ::   nlast            !: iteration number of the end of the run  
     162   INTEGER , PUBLIC ::   nitrun           !: number of iteration 
     163   INTEGER , PUBLIC ::   numit            !: iteration number 
     164   REAL(wp), PUBLIC ::   rdt_ice          !: ice time step 
     165   REAL(wp), PUBLIC ::   r1_rdtice        !: = 1. / rdt_ice 
     166 
     167   !                                     !!** ice-dynamic namelist (namicedyn) ** 
     168   INTEGER , PUBLIC ::   nbiter           !: number of sub-time steps for relaxation 
     169   INTEGER , PUBLIC ::   nbitdr           !: maximum number of iterations for relaxation 
     170   INTEGER , PUBLIC ::   nevp             !: number of iterations for subcycling 
    171171   INTEGER , PUBLIC ::   nlay_i = 5            !: number of layers in the ice 
    172172 
    173    !                                          !!** ice-dynamic namelist (namicedyn) ** 
    174    REAL(wp), PUBLIC ::   epsd   = 1.0e-20_wp   !: tolerance parameter for dynamic 
    175    REAL(wp), PUBLIC ::   alpha  = 0.5_wp       !: coefficient for semi-implicit coriolis 
    176    REAL(wp), PUBLIC ::   dm     = 0.6e+03_wp   !: diffusion constant for dynamics 
    177    REAL(wp), PUBLIC ::   om     = 0.5_wp       !: relaxation constant 
    178    REAL(wp), PUBLIC ::   resl   = 5.0e-05_wp   !: maximum value for the residual of relaxation 
    179    REAL(wp), PUBLIC ::   cw     = 5.0e-03_wp   !: drag coefficient for oceanic stress 
    180    REAL(wp), PUBLIC ::   angvg  = 0._wp        !: turning angle for oceanic stress 
    181    REAL(wp), PUBLIC ::   pstar  = 1.0e+04_wp   !: determines ice strength (N/M), Hibler JPO79 
    182    REAL(wp), PUBLIC ::   c_rhg  = 20._wp       !: determines changes in ice strength 
    183    REAL(wp), PUBLIC ::   etamn  = 0.0e+07_wp   !: minimun value for viscosity : has to be 0 
    184    REAL(wp), PUBLIC ::   creepl = 2.0e-08_wp   !: creep limit : has to be under 1.0e-9 
    185    REAL(wp), PUBLIC ::   ecc    = 2._wp        !: eccentricity of the elliptical yield curve 
    186    REAL(wp), PUBLIC ::   ahi0   = 350._wp      !: sea-ice hor. eddy diffusivity coeff. (m2/s) 
    187    REAL(wp), PUBLIC ::   telast = 2880._wp     !: timescale for elastic waves (s) !SB 
    188    REAL(wp), PUBLIC ::   alphaevp = 1._wp      !: coeficient of the internal stresses !SB 
     173   !                                     !!** ice-dynamic namelist (namicedyn) ** 
     174   REAL(wp), PUBLIC ::   epsd             !: tolerance parameter for dynamic 
     175   REAL(wp), PUBLIC ::   alpha            !: coefficient for semi-implicit coriolis 
     176   REAL(wp), PUBLIC ::   dm               !: diffusion constant for dynamics 
     177   REAL(wp), PUBLIC ::   om               !: relaxation constant 
     178   REAL(wp), PUBLIC ::   resl             !: maximum value for the residual of relaxation 
     179   REAL(wp), PUBLIC ::   cw               !: drag coefficient for oceanic stress 
     180   REAL(wp), PUBLIC ::   angvg            !: turning angle for oceanic stress 
     181   REAL(wp), PUBLIC ::   pstar            !: determines ice strength (N/M), Hibler JPO79 
     182   REAL(wp), PUBLIC ::   c_rhg            !: determines changes in ice strength 
     183   REAL(wp), PUBLIC ::   etamn            !: minimun value for viscosity : has to be 0 
     184   REAL(wp), PUBLIC ::   creepl           !: creep limit : has to be under 1.0e-9 
     185   REAL(wp), PUBLIC ::   ecc              !: eccentricity of the elliptical yield curve 
     186   REAL(wp), PUBLIC ::   ahi0             !: sea-ice hor. eddy diffusivity coeff. (m2/s) 
     187   REAL(wp), PUBLIC ::   telast           !: timescale for elastic waves (s) !SB 
     188   REAL(wp), PUBLIC ::   alphaevp         !: coeficient of the internal stresses !SB 
    189189   REAL(wp), PUBLIC ::   unit_fac = 1.e+09_wp  !: conversion factor for ice / snow enthalpy 
    190190 
    191    !                                              !!** ice-salinity namelist (namicesal) ** 
    192    REAL(wp), PUBLIC ::   s_i_max  = 20.0_wp        !: maximum ice salinity [PSU] 
    193    REAL(wp), PUBLIC ::   s_i_min  =  0.1_wp        !: minimum ice salinity [PSU] 
    194    REAL(wp), PUBLIC ::   s_i_0    =  3.5_wp        !: 1st sal. value for the computation of sal .prof. [PSU] 
    195    REAL(wp), PUBLIC ::   s_i_1    =  4.5_wp        !: 2nd sal. value for the computation of sal .prof. [PSU] 
    196    REAL(wp), PUBLIC ::   sal_G    =  5.0_wp        !: restoring salinity for gravity drainage [PSU] 
    197    REAL(wp), PUBLIC ::   sal_F    =  2.5_wp        !: restoring salinity for flushing [PSU] 
    198    REAL(wp), PUBLIC ::   time_G   =  1.728e+06_wp  !: restoring time constant for gravity drainage (= 20 days) [s] 
    199    REAL(wp), PUBLIC ::   time_F   =  8.640e+05_wp  !: restoring time constant for gravity drainage (= 10 days) [s] 
    200    REAL(wp), PUBLIC ::   bulk_sal =  4.0_wp        !: bulk salinity (ppt) in case of constant salinity 
    201  
    202    !                                              !!** ice-salinity namelist (namicesal) ** 
    203    INTEGER , PUBLIC ::   num_sal     = 1           !: salinity configuration used in the model 
    204    !                                               ! 1 - constant salinity in both space and time 
    205    !                                               ! 2 - prognostic salinity (s(z,t)) 
    206    !                                               ! 3 - salinity profile, constant in time 
     191   !                                     !!** ice-salinity namelist (namicesal) ** 
     192   REAL(wp), PUBLIC ::   s_i_max          !: maximum ice salinity [PSU] 
     193   REAL(wp), PUBLIC ::   s_i_min          !: minimum ice salinity [PSU] 
     194   REAL(wp), PUBLIC ::   s_i_0            !: 1st sal. value for the computation of sal .prof. [PSU] 
     195   REAL(wp), PUBLIC ::   s_i_1            !: 2nd sal. value for the computation of sal .prof. [PSU] 
     196   REAL(wp), PUBLIC ::   sal_G            !: restoring salinity for gravity drainage [PSU] 
     197   REAL(wp), PUBLIC ::   sal_F            !: restoring salinity for flushing [PSU] 
     198   REAL(wp), PUBLIC ::   time_G           !: restoring time constant for gravity drainage (= 20 days) [s] 
     199   REAL(wp), PUBLIC ::   time_F           !: restoring time constant for gravity drainage (= 10 days) [s] 
     200   REAL(wp), PUBLIC ::   bulk_sal =       !: bulk salinity (ppt) in case of constant salinity 
     201 
     202   !                                     !!** ice-salinity namelist (namicesal) ** 
     203   INTEGER , PUBLIC ::   num_sal          !: salinity configuration used in the model 
     204   !                                         ! 1 - constant salinity in both space and time 
     205   !                                         ! 2 - prognostic salinity (s(z,t)) 
     206   !                                         ! 3 - salinity profile, constant in time 
    207207   INTEGER , PUBLIC ::   sal_prof    = 1           !: salinity profile or not  
    208    INTEGER , PUBLIC ::   thcon_i_swi = 1           !: thermal conductivity: =1 Untersteiner (1964) ; =2 Pringle et al (2007) 
    209  
    210    !                                              !!** ice-mechanical redistribution namelist (namiceitdme) 
    211    REAL(wp), PUBLIC ::   Cs        = 0.25_wp       !: fraction of shearing energy contributing to ridging             
    212    REAL(wp), PUBLIC ::   Cf        = 17.0_wp       !: ratio of ridging work to PE loss 
    213    REAL(wp), PUBLIC ::   fsnowrdg  = 0.5_wp        !: fractional snow loss to the ocean during ridging 
    214    REAL(wp), PUBLIC ::   fsnowrft  = 0.5_wp        !: fractional snow loss to the ocean during ridging 
    215    REAL(wp), PUBLIC ::   Gstar     = 0.15_wp       !: fractional area of young ice contributing to ridging 
    216    REAL(wp), PUBLIC ::   astar     = 0.05_wp       !: equivalent of G* for an exponential participation function 
    217    REAL(wp), PUBLIC ::   Hstar     = 100.0_wp      !: thickness that determines the maximal thickness of ridged ice 
    218    REAL(wp), PUBLIC ::   hparmeter = 0.75_wp       !: threshold thickness (m) for rafting / ridging  
    219    REAL(wp), PUBLIC ::   Craft     = 5.0_wp        !: coefficient for smoothness of the hyperbolic tangent in rafting 
    220    REAL(wp), PUBLIC ::   ridge_por = 0.0_wp        !: initial porosity of ridges (0.3 regular value) 
    221    REAL(wp), PUBLIC ::   sal_max_ridge = 15.0_wp   !: maximum ridged ice salinity (ppt) 
    222    REAL(wp), PUBLIC ::   betas    = 1.0_wp         !: coef. for partitioning of snowfall between leads and sea ice 
    223    REAL(wp), PUBLIC ::   kappa_i  = 1.0_wp         !: coef. for the extinction of radiation Grenfell et al. (2006) [1/m] 
    224    REAL(wp), PUBLIC ::   nconv_i_thd = 50_wp       !: maximal number of iterations for heat diffusion 
    225    REAL(wp), PUBLIC ::   maxer_i_thd = 1.0e-4_wp   !: maximal tolerated error (C) for heat diffusion 
    226  
    227    !                                              !!** ice-mechanical redistribution namelist (namiceitdme) 
    228    INTEGER , PUBLIC ::   ridge_scheme_swi = 0      !: scheme used for ice ridging 
    229    INTEGER , PUBLIC ::   raftswi          = 1      !: rafting of ice or not                         
    230    INTEGER , PUBLIC ::   partfun_swi      = 1      !: participation function: =0 Thorndike et al. (1975), =1 Lipscomb et al. (2007) 
    231    INTEGER , PUBLIC ::   transfun_swi     = 0      !: transfer function: =0 Hibler 1980, =1 Lipscomb et al. 2007 
    232    INTEGER , PUBLIC ::   brinstren_swi    = 0      !: use brine volume to diminish ice strength 
     208   INTEGER , PUBLIC ::   thcon_i_swi          !: thermal conductivity: =1 Untersteiner (1964) ; =2 Pringle et al (2007) 
     209 
     210   !                                     !!** ice-mechanical redistribution namelist (namiceitdme) 
     211   REAL(wp), PUBLIC ::   Cs               !: fraction of shearing energy contributing to ridging             
     212   REAL(wp), PUBLIC ::   Cf               !: ratio of ridging work to PE loss 
     213   REAL(wp), PUBLIC ::   fsnowrdg         !: fractional snow loss to the ocean during ridging 
     214   REAL(wp), PUBLIC ::   fsnowrft         !: fractional snow loss to the ocean during ridging 
     215   REAL(wp), PUBLIC ::   Gstar            !: fractional area of young ice contributing to ridging 
     216   REAL(wp), PUBLIC ::   astar            !: equivalent of G* for an exponential participation function 
     217   REAL(wp), PUBLIC ::   Hstar            !: thickness that determines the maximal thickness of ridged ice 
     218   REAL(wp), PUBLIC ::   hparmeter        !: threshold thickness (m) for rafting / ridging  
     219   REAL(wp), PUBLIC ::   Craft            !: coefficient for smoothness of the hyperbolic tangent in rafting 
     220   REAL(wp), PUBLIC ::   ridge_por        !: initial porosity of ridges (0.3 regular value) 
     221   REAL(wp), PUBLIC ::   sal_max_ridge    !: maximum ridged ice salinity (ppt) 
     222   REAL(wp), PUBLIC ::   betas            !: coef. for partitioning of snowfall between leads and sea ice 
     223   REAL(wp), PUBLIC ::   kappa_i          !: coef. for the extinction of radiation Grenfell et al. (2006) [1/m] 
     224   REAL(wp), PUBLIC ::   nconv_i_thd      !: maximal number of iterations for heat diffusion 
     225   REAL(wp), PUBLIC ::   maxer_i_thd      !: maximal tolerated error (C) for heat diffusion 
     226 
     227   !                                     !!** ice-mechanical redistribution namelist (namiceitdme) 
     228   INTEGER , PUBLIC ::   ridge_scheme_swi !: scheme used for ice ridging 
     229   INTEGER , PUBLIC ::   raftswi          !: rafting of ice or not                         
     230   INTEGER , PUBLIC ::   partfun_swi      !: participation function: =0 Thorndike et al. (1975), =1 Lipscomb et al. (2007) 
     231   INTEGER , PUBLIC ::   transfun_swi     !: transfer function: =0 Hibler 1980, =1 Lipscomb et al. 2007 
     232   INTEGER , PUBLIC ::   brinstren_swi    !: use brine volume to diminish ice strength 
    233233 
    234234   REAL(wp), PUBLIC ::   usecc2           !:  = 1.0 / ( ecc * ecc ) 
     
    390390   !! * Ice Run 
    391391   !!-------------------------------------------------------------------------- 
    392    !                                                                     !!: ** Namelist namicerun read in iceini ** 
    393    CHARACTER(len=32)     , PUBLIC ::   cn_icerst_in  = "restart_ice_in"   !: suffix of ice restart name (input) 
    394    CHARACTER(len=32)     , PUBLIC ::   cn_icerst_out = "restart_ice"      !: suffix of ice restart name (output) 
    395    LOGICAL               , PUBLIC ::   ln_limdyn     = .TRUE.             !: flag for ice dynamics (T) or not (F) 
    396    LOGICAL               , PUBLIC ::   ln_nicep      = .TRUE.             !: flag for sea-ice points output (T) or not (F) 
    397    REAL(wp)              , PUBLIC ::   hsndif        = 0.e0               !: computation of temp. in snow (0) or not (9999) 
    398    REAL(wp)              , PUBLIC ::   hicdif        = 0.e0               !: computation of temp. in ice (0) or not (9999) 
    399    REAL(wp)              , PUBLIC ::   cai           = 1.40e-3            !: atmospheric drag over sea ice 
    400    REAL(wp)              , PUBLIC ::   cao           = 1.00e-3            !: atmospheric drag over ocean 
    401    REAL(wp), DIMENSION(2), PUBLIC ::   acrit  = (/ 1.e-06 , 1.e-06 /)     !: minimum fraction for leads in 
    402    !                                                                      !: north and south hemisphere 
     392   !                                                  !!: ** Namelist namicerun read in iceini ** 
     393   CHARACTER(len=32)     , PUBLIC ::   cn_icerst_in    !: suffix of ice restart name (input) 
     394   CHARACTER(len=32)     , PUBLIC ::   cn_icerst_out   !: suffix of ice restart name (output) 
     395   LOGICAL               , PUBLIC ::   ln_limdyn       !: flag for ice dynamics (T) or not (F) 
     396   LOGICAL               , PUBLIC ::   ln_nicep        !: flag for sea-ice points output (T) or not (F) 
     397   REAL(wp)              , PUBLIC ::   hsndif          !: computation of temp. in snow (0) or not (9999) 
     398   REAL(wp)              , PUBLIC ::   hicdif          !: computation of temp. in ice (0) or not (9999) 
     399   REAL(wp)              , PUBLIC ::   cai             !: atmospheric drag over sea ice 
     400   REAL(wp)              , PUBLIC ::   cao             !: atmospheric drag over ocean 
     401   REAL(wp), DIMENSION(2), PUBLIC ::   acrit           !: minimum fraction for leads in north and south hemisphere 
     402   ! 
    403403   !!-------------------------------------------------------------------------- 
    404404   !! * Ice diagnostics 
Note: See TracChangeset for help on using the changeset viewer.