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 4147 for branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3 – NEMO

Ignore:
Timestamp:
2013-11-04T12:51:55+01:00 (11 years ago)
Author:
cetlod
Message:

merge in dev_LOCEAN_2013, the 1st development branch dev_r3853_CNRS9_Confsetting, from its starting point ( r3853 ) on the trunk: see ticket #1169

Location:
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3
Files:
10 edited

Legend:

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

    r3625 r4147  
    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 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/iceini.F90

    r3625 r4147  
    7171         &     'use more ocean levels or less ice/snow layers/categories.' ) 
    7272 
    73       !                                ! Open the namelist file  
    74       CALL ctl_opn( numnam_ice, 'namelist_ice', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
     73                                       ! Open the reference and configuration namelist files and namelist output file  
     74      CALL ctl_opn( numnam_ice_ref, 'namelist_ice_ref',    'OLD',     'FORMATTED', 'SEQUENTIAL', -1, numout, lwp )  
     75      CALL ctl_opn( numnam_ice_cfg, 'namelist_ice_cfg',    'OLD',     'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
     76      CALL ctl_opn( numoni,         'output.namelist.ice', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    7577      ! 
    7678      CALL ice_run                     ! set some ice run parameters 
     
    127129      !!------------------------------------------------------------------- 
    128130      NAMELIST/namicerun/ cn_icerst_in, cn_icerst_out, ln_limdyn, acrit, hsndif, hicdif, cai, cao, ln_nicep 
     131      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    129132      !!------------------------------------------------------------------- 
    130133      !                     
    131       REWIND( numnam_ice )                ! Read Namelist namicerun  
    132       READ  ( numnam_ice , namicerun ) 
     134      REWIND( numnam_ice_ref )              ! Namelist namicerun in reference namelist : Parameters for ice 
     135      READ  ( numnam_ice_ref, namicerun, IOSTAT = ios, ERR = 901) 
     136901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicerun in reference namelist', lwp ) 
     137 
     138      REWIND( numnam_ice_cfg )              ! Namelist namicerun in configuration namelist : Parameters for ice 
     139      READ  ( numnam_ice_cfg, namicerun, IOSTAT = ios, ERR = 902 ) 
     140902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicerun in configuration namelist', lwp ) 
     141      WRITE ( numoni, namicerun ) 
    133142      ! 
    134143      IF( lk_mpp .AND. ln_nicep ) THEN 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limdia.F90

    r3625 r4147  
    3030   PUBLIC lim_dia       ! called by ice_step 
    3131 
    32    INTEGER, PUBLIC  ::   ntmoy   = 1  !: instantaneous values of ice evolution or averaging ntmoy 
    33    INTEGER, PUBLIC  ::   ninfo   = 1  !: frequency of ouputs on file ice_evolu in case of averaging 
     32   INTEGER, PUBLIC  ::   ntmoy    !: instantaneous values of ice evolution or averaging ntmoy 
     33   INTEGER, PUBLIC  ::   ninfo    !: frequency of ouputs on file ice_evolu in case of averaging 
    3434 
    3535   !                                              !!! Parameters for outputs to files "evolu" 
     
    3838   INTEGER, PARAMETER ::   jpchsep = jpchinf + 2   ! ??? 
    3939 
    40    INTEGER  ::   nfrinf  = 4         ! number of variables written in one line  
     40   INTEGER  ::   nfrinf    ! number of variables written in one line  
    4141   INTEGER  ::   nferme              ! last time step at which the var. are written on file 
    4242   INTEGER  ::   nvinfo              ! number of total variables  
     
    4545   REAL(wp) ::   epsi06 = 1.e-6_wp   ! small number 
    4646 
    47    CHARACTER(len= 8) ::   fmtinf = '1PE13.5 '   ! format of the output values   
     47   CHARACTER(len= 8) ::   fmtinf     ! format of the output values   
    4848   CHARACTER(len=30) ::   fmtw                  ! formats 
    4949   CHARACTER(len=30) ::   fmtr                  ! ??? 
     
    415415      INTEGER  ::   jv    ! dummy loop indice 
    416416      INTEGER  ::   ierr, ntot , ndeb , irecl   ! local integers 
     417      INTEGER  ::   ios                         ! Local integer output status for namelist read 
    417418      REAL(wp) ::   zxx0, zxx1    ! local scalars 
    418419      CHARACTER(len=jpchinf) ::   titinf 
     
    422423      !!------------------------------------------------------------------- 
    423424      ! 
    424       REWIND( numnam_ice )             ! read namicedia namelist 
    425       READ  ( numnam_ice, namicedia ) 
     425      REWIND( numnam_ice_ref )              ! Namelist namicedia in reference namelist : Ice diagnostics in ice_evolu 
     426      READ  ( numnam_ice_ref, namicedia, IOSTAT = ios, ERR = 901) 
     427901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedia in reference namelist', lwp ) 
     428 
     429      REWIND( numnam_ice_cfg )              ! Namelist namicedia in configuration namelist : Ice diagnostics in ice_evolu  
     430      READ  ( numnam_ice_cfg, namicedia, IOSTAT = ios, ERR = 902 ) 
     431902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedia in configuration namelist', lwp ) 
     432      WRITE ( numoni, namicedia ) 
    426433      ! 
    427434      IF(lwp) THEN                     ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limdyn.F90

    r3625 r4147  
    226226      !! ** input   :   Namelist namicedyn 
    227227      !!------------------------------------------------------------------- 
     228      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    228229      NAMELIST/namicedyn/ epsd, alpha,     & 
    229230         &                dm, nbiter, nbitdr, om, resl, cw, angvg, pstar,   & 
     
    232233      !!------------------------------------------------------------------- 
    233234 
    234       REWIND( numnam_ice )                ! Read Namelist namicedyn 
    235       READ  ( numnam_ice  , namicedyn ) 
     235      REWIND( numnam_ice_ref )              ! Namelist namicedyn in reference namelist : Ice dynamics 
     236      READ  ( numnam_ice_ref, namicedyn, IOSTAT = ios, ERR = 901) 
     237901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedyn in reference namelist', lwp ) 
     238 
     239      REWIND( numnam_ice_cfg )              ! Namelist namicedyn in configuration namelist : Ice dynamics 
     240      READ  ( numnam_ice_cfg, namicedyn, IOSTAT = ios, ERR = 902 ) 
     241902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedyn in configuration namelist', lwp ) 
     242      WRITE ( numoni, namicedyn ) 
    236243       
    237244      IF(lwp) THEN                        ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90

    r3625 r4147  
    3333   PUBLIC   lim_istate      ! routine called by lim_init.F90 
    3434 
    35    !                                  !!** init namelist (namiceini) ** 
    36    REAL(wp) ::   ttest    = 2.0_wp     ! threshold water temperature for initial sea ice 
    37    REAL(wp) ::   hninn    = 0.5_wp     ! initial snow thickness in the north 
    38    REAL(wp) ::   hginn_u  = 2.5_wp     ! initial ice thickness in the north 
    39    REAL(wp) ::   aginn_u  = 0.7_wp     ! initial leads area in the north 
    40    REAL(wp) ::   hginn_d  = 5.0_wp     ! initial ice thickness in the north 
    41    REAL(wp) ::   aginn_d  = 0.25_wp    ! initial leads area in the north 
    42    REAL(wp) ::   hnins    = 0.1_wp     ! initial snow thickness in the south 
    43    REAL(wp) ::   hgins_u  = 1.0_wp     ! initial ice thickness in the south 
    44    REAL(wp) ::   agins_u  = 0.7_wp     ! initial leads area in the south 
    45    REAL(wp) ::   hgins_d  = 2.0_wp     ! initial ice thickness in the south 
    46    REAL(wp) ::   agins_d  = 0.2_wp     ! initial leads area in the south 
    47    REAL(wp) ::   sinn     = 6.301_wp   ! initial salinity  
    48    REAL(wp) ::   sins     = 6.301_wp   ! 
     35   !                       !!** init namelist (namiceini) ** 
     36   REAL(wp) ::   ttest      ! threshold water temperature for initial sea ice 
     37   REAL(wp) ::   hninn      ! initial snow thickness in the north 
     38   REAL(wp) ::   hginn_u    ! initial ice thickness in the north 
     39   REAL(wp) ::   aginn_u    ! initial leads area in the north 
     40   REAL(wp) ::   hginn_d    ! initial ice thickness in the north 
     41   REAL(wp) ::   aginn_d    ! initial leads area in the north 
     42   REAL(wp) ::   hnins      ! initial snow thickness in the south 
     43   REAL(wp) ::   hgins_u    ! initial ice thickness in the south 
     44   REAL(wp) ::   agins_u    ! initial leads area in the south 
     45   REAL(wp) ::   hgins_d    ! initial ice thickness in the south 
     46   REAL(wp) ::   agins_d    ! initial leads area in the south 
     47   REAL(wp) ::   sinn       ! initial salinity  
     48   REAL(wp) ::   sins       ! 
    4949 
    5050   !!---------------------------------------------------------------------- 
     
    536536      !! ** input  :   namelist namiceini 
    537537      !!----------------------------------------------------------------------------- 
     538      INTEGER :: ios                 ! Local integer output status for namelist read 
    538539      NAMELIST/namiceini/ ttest, hninn, hginn_u, aginn_u, hginn_d, aginn_d, hnins,   & 
    539540         &                hgins_u, agins_u, hgins_d, agins_d, sinn, sins 
    540541      !!----------------------------------------------------------------------------- 
    541542      ! 
    542       REWIND ( numnam_ice )               ! Read Namelist namiceini  
    543       READ   ( numnam_ice , namiceini ) 
     543      REWIND( numnam_ice_ref )              ! Namelist namiceini in reference namelist : Ice initial state 
     544      READ  ( numnam_ice_ref, namiceini, IOSTAT = ios, ERR = 901) 
     545901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceini in reference namelist', lwp ) 
     546 
     547      REWIND( numnam_ice_cfg )              ! Namelist namiceini in configuration namelist : Ice initial state 
     548      READ  ( numnam_ice_cfg, namiceini, IOSTAT = ios, ERR = 902 ) 
     549902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceini in configuration namelist', lwp ) 
     550      WRITE ( numoni, namiceini ) 
    544551      ! 
    545552      IF(lwp) THEN                        ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90

    r3764 r4147  
    14091409      !! ** input   :   Namelist namiceitdme 
    14101410      !!------------------------------------------------------------------- 
     1411      INTEGER :: ios                 ! Local integer output status for namelist read 
    14111412      NAMELIST/namiceitdme/ ridge_scheme_swi, Cs, Cf, fsnowrdg, fsnowrft,&  
    14121413         Gstar, astar,                                & 
     
    14161417      !!------------------------------------------------------------------- 
    14171418      ! 
    1418       REWIND( numnam_ice )                   ! read namiceitdme namelist 
    1419       READ  ( numnam_ice , namiceitdme) 
     1419      REWIND( numnam_ice_ref )              ! Namelist namicetdme in reference namelist : Ice mechanical ice redistribution 
     1420      READ  ( numnam_ice_ref, namiceitdme, IOSTAT = ios, ERR = 901) 
     1421901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitdme in reference namelist', lwp ) 
     1422 
     1423      REWIND( numnam_ice_cfg )              ! Namelist namiceitdme in configuration namelist : Ice mechanical ice redistribution 
     1424      READ  ( numnam_ice_cfg, namiceitdme, IOSTAT = ios, ERR = 902 ) 
     1425902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitdme in configuration namelist', lwp ) 
     1426      WRITE ( numoni, namiceitdme ) 
    14201427      ! 
    14211428      IF (lwp) THEN                          ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90

    r3625 r4147  
    791791      !! ** input   :   Namelist namicether 
    792792      !!------------------------------------------------------------------- 
     793      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    793794      NAMELIST/namicethd/ hmelt , hiccrit, fraz_swi, maxfrazb, vfrazb, Cfrazb,   & 
    794795         &                hicmin, hiclim, amax  ,                                & 
     
    804805      ENDIF 
    805806      ! 
    806       REWIND( numnam_ice )                  ! read Namelist numnam_ice 
    807       READ  ( numnam_ice , namicethd ) 
     807      REWIND( numnam_ice_ref )              ! Namelist namicethd in reference namelist : Ice thermodynamics 
     808      READ  ( numnam_ice_ref, namicethd, IOSTAT = ios, ERR = 901) 
     809901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicethd in reference namelist', lwp ) 
     810 
     811      REWIND( numnam_ice_cfg )              ! Namelist namicethd in configuration namelist : Ice thermodynamics 
     812      READ  ( numnam_ice_cfg, namicethd, IOSTAT = ios, ERR = 902 ) 
     813902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicethd in configuration namelist', lwp ) 
     814      WRITE ( numoni, namicethd ) 
    808815      ! 
    809816      IF(lwp) THEN                          ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90

    r3625 r4147  
    203203      !! ** input   :   Namelist namicesal 
    204204      !!------------------------------------------------------------------- 
     205      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    205206      NAMELIST/namicesal/ num_sal, bulk_sal, sal_G, time_G, sal_F, time_F,   & 
    206207         &                s_i_max, s_i_min, s_i_0, s_i_1 
    207208      !!------------------------------------------------------------------- 
    208209      ! 
    209       REWIND( numnam_ice )                   ! Read Namelist namicesal 
    210       READ  ( numnam_ice  , namicesal ) 
     210      REWIND( numnam_ice_ref )              ! Namelist namicesal in reference namelist : Ice salinity 
     211      READ  ( numnam_ice_ref, namicesal, IOSTAT = ios, ERR = 901) 
     212901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicesal in reference namelist', lwp ) 
     213 
     214      REWIND( numnam_ice_cfg )              ! Namelist namicesal in configuration namelist : Ice salinity 
     215      READ  ( numnam_ice_cfg, namicesal, IOSTAT = ios, ERR = 902 ) 
     216902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicesal in configuration namelist', lwp ) 
     217      WRITE ( numoni, namicesal ) 
    211218      ! 
    212219      IF(lwp) THEN                           ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90

    r3853 r4147  
    365365      !!------------------------------------------------------------------- 
    366366      INTEGER ::   nf      ! ??? 
     367      INTEGER ::   ios     ! Local integer output status for namelist read 
    367368 
    368369      TYPE FIELD  
     
    395396         field_37, add_diag_swi 
    396397      !!------------------------------------------------------------------- 
    397  
    398       REWIND( numnam_ice )                ! Read Namelist namicewri 
    399       READ  ( numnam_ice  , namiceout ) 
     398      REWIND( numnam_ice_ref )              ! Namelist namiceout in reference namelist : Ice outputs 
     399      READ  ( numnam_ice_ref, namiceout, IOSTAT = ios, ERR = 901) 
     400901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceout in reference namelist', lwp ) 
     401 
     402      REWIND( numnam_ice_cfg )              ! Namelist namiceout in configuration namelist : Ice outputs 
     403      READ  ( numnam_ice_cfg, namiceout, IOSTAT = ios, ERR = 902 ) 
     404902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceout in configuration namelist', lwp ) 
     405      WRITE ( numoni, namiceout ) 
    400406 
    401407      zfield(1)  = field_1 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/thd_ice.F90

    r3625 r4147  
    1818   !! * Share Module variables 
    1919   !!--------------------------- 
    20    !                                         !!! ** ice-thermo namelist (namicethd) ** 
    21    REAL(wp), PUBLIC ::   hmelt   = -0.15     !: maximum melting at the bottom; active only for one category 
    22    REAL(wp), PUBLIC ::   hicmin  = 0.2       !: (REMOVE) 
    23    REAL(wp), PUBLIC ::   hiclim  = 0.05      !: minimum ice thickness 
    24    REAL(wp), PUBLIC ::   amax    = 0.999     !: maximum lead fraction 
    25    REAL(wp), PUBLIC ::   sbeta   = 1.0       !: numerical scheme for diffusion in ice  (REMOVE) 
    26    REAL(wp), PUBLIC ::   parlat  = 0.0       !: (REMOVE) 
    27    REAL(wp), PUBLIC ::   hakspl  = 0.5       !: (REMOVE) 
    28    REAL(wp), PUBLIC ::   hibspl  = 0.5       !: (REMOVE) 
    29    REAL(wp), PUBLIC ::   exld    = 2.0       !: (REMOVE) 
    30    REAL(wp), PUBLIC ::   hakdif  = 1.0       !: (REMOVE) 
    31    REAL(wp), PUBLIC ::   thth    = 0.2       !: (REMOVE) 
    32    REAL(wp), PUBLIC ::   hnzst   = 0.1       !: thick. of the surf. layer in temp. comp. 
    33    REAL(wp), PUBLIC ::   parsub  = 1.0       !: switch for snow sublimation or not 
    34    REAL(wp), PUBLIC ::   alphs   = 1.0       !: coef. for snow density when snow-ice formation 
    35    REAL(wp), PUBLIC ::   fraz_swi= 1.0       !: use of frazil ice collection in function of wind (1.0) or not (0.0) 
    36    REAL(wp), PUBLIC ::   maxfrazb= 0.7       !: maximum portion of frazil ice collecting at the ice bottom 
    37    REAL(wp), PUBLIC ::   vfrazb  = 0.41667   !: threshold drift speed for collection of bottom frazil ice 
    38    REAL(wp), PUBLIC ::   Cfrazb  = 5.0       !: squeezing coefficient for collection of bottom frazil ice 
    39  
    40    REAL(wp), PUBLIC, DIMENSION(2) ::   hiccrit = (/0.3,0.3/)  !: ice th. for lateral accretion in the NH (SH) (m) 
     20   !                               !!! ** ice-thermo namelist (namicethd) ** 
     21   REAL(wp), PUBLIC ::   hmelt       !: maximum melting at the bottom; active only for one category 
     22   REAL(wp), PUBLIC ::   hicmin      !: (REMOVE) 
     23   REAL(wp), PUBLIC ::   hiclim      !: minimum ice thickness 
     24   REAL(wp), PUBLIC ::   amax        !: maximum lead fraction 
     25   REAL(wp), PUBLIC ::   sbeta       !: numerical scheme for diffusion in ice  (REMOVE) 
     26   REAL(wp), PUBLIC ::   parlat      !: (REMOVE) 
     27   REAL(wp), PUBLIC ::   hakspl      !: (REMOVE) 
     28   REAL(wp), PUBLIC ::   hibspl      !: (REMOVE) 
     29   REAL(wp), PUBLIC ::   exld        !: (REMOVE) 
     30   REAL(wp), PUBLIC ::   hakdif      !: (REMOVE) 
     31   REAL(wp), PUBLIC ::   thth        !: (REMOVE) 
     32   REAL(wp), PUBLIC ::   hnzst       !: thick. of the surf. layer in temp. comp. 
     33   REAL(wp), PUBLIC ::   parsub      !: switch for snow sublimation or not 
     34   REAL(wp), PUBLIC ::   alphs       !: coef. for snow density when snow-ice formation 
     35   REAL(wp), PUBLIC ::   fraz_swi    !: use of frazil ice collection in function of wind (1.0) or not (0.0) 
     36   REAL(wp), PUBLIC ::   maxfrazb    !: maximum portion of frazil ice collecting at the ice bottom 
     37   REAL(wp), PUBLIC ::   vfrazb      !: threshold drift speed for collection of bottom frazil ice 
     38   REAL(wp), PUBLIC ::   Cfrazb      !: squeezing coefficient for collection of bottom frazil ice 
     39 
     40   REAL(wp), PUBLIC, DIMENSION(2) ::   hiccrit   !: ice th. for lateral accretion in the NH (SH) (m) 
    4141 
    4242   !!----------------------------- 
Note: See TracChangeset for help on using the changeset viewer.