Changeset 4147 for branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3
- Timestamp:
- 2013-11-04T12:51:55+01:00 (11 years ago)
- 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 158 158 !! * Share Module variables 159 159 !!-------------------------------------------------------------------------- 160 INTEGER , PUBLIC :: nstart !: iteration number of the begining of the run161 INTEGER , PUBLIC :: nlast !: iteration number of the end of the run162 INTEGER , PUBLIC :: nitrun !: number of iteration163 INTEGER , PUBLIC :: numit !: iteration number164 REAL(wp), PUBLIC :: rdt_ice !: ice time step165 REAL(wp), PUBLIC :: r1_rdtice !: = 1. / rdt_ice166 167 ! 168 INTEGER , PUBLIC :: nbiter = 1!: number of sub-time steps for relaxation169 INTEGER , PUBLIC :: nbitdr = 250!: maximum number of iterations for relaxation170 INTEGER , PUBLIC :: nevp = 400!: number of iterations for subcycling160 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 171 171 INTEGER , PUBLIC :: nlay_i = 5 !: number of layers in the ice 172 172 173 ! 174 REAL(wp), PUBLIC :: epsd = 1.0e-20_wp!: tolerance parameter for dynamic175 REAL(wp), PUBLIC :: alpha = 0.5_wp!: coefficient for semi-implicit coriolis176 REAL(wp), PUBLIC :: dm = 0.6e+03_wp!: diffusion constant for dynamics177 REAL(wp), PUBLIC :: om = 0.5_wp!: relaxation constant178 REAL(wp), PUBLIC :: resl = 5.0e-05_wp!: maximum value for the residual of relaxation179 REAL(wp), PUBLIC :: cw = 5.0e-03_wp!: drag coefficient for oceanic stress180 REAL(wp), PUBLIC :: angvg = 0._wp!: turning angle for oceanic stress181 REAL(wp), PUBLIC :: pstar = 1.0e+04_wp!: determines ice strength (N/M), Hibler JPO79182 REAL(wp), PUBLIC :: c_rhg = 20._wp!: determines changes in ice strength183 REAL(wp), PUBLIC :: etamn = 0.0e+07_wp!: minimun value for viscosity : has to be 0184 REAL(wp), PUBLIC :: creepl = 2.0e-08_wp!: creep limit : has to be under 1.0e-9185 REAL(wp), PUBLIC :: ecc = 2._wp!: eccentricity of the elliptical yield curve186 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) !SB188 REAL(wp), PUBLIC :: alphaevp = 1._wp!: coeficient of the internal stresses !SB173 ! !!** 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 189 189 REAL(wp), PUBLIC :: unit_fac = 1.e+09_wp !: conversion factor for ice / snow enthalpy 190 190 191 ! 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 salinity201 202 ! 203 INTEGER , PUBLIC :: num_sal = 1!: salinity configuration used in the model204 ! 205 ! 206 ! 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 207 207 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 ! 211 REAL(wp), PUBLIC :: Cs = 0.25_wp!: fraction of shearing energy contributing to ridging212 REAL(wp), PUBLIC :: Cf = 17.0_wp!: ratio of ridging work to PE loss213 REAL(wp), PUBLIC :: fsnowrdg = 0.5_wp!: fractional snow loss to the ocean during ridging214 REAL(wp), PUBLIC :: fsnowrft = 0.5_wp!: fractional snow loss to the ocean during ridging215 REAL(wp), PUBLIC :: Gstar = 0.15_wp!: fractional area of young ice contributing to ridging216 REAL(wp), PUBLIC :: astar = 0.05_wp!: equivalent of G* for an exponential participation function217 REAL(wp), PUBLIC :: Hstar = 100.0_wp!: thickness that determines the maximal thickness of ridged ice218 REAL(wp), PUBLIC :: hparmeter = 0.75_wp!: threshold thickness (m) for rafting / ridging219 REAL(wp), PUBLIC :: Craft = 5.0_wp!: coefficient for smoothness of the hyperbolic tangent in rafting220 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 ice223 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 diffusion225 REAL(wp), PUBLIC :: maxer_i_thd = 1.0e-4_wp!: maximal tolerated error (C) for heat diffusion226 227 ! 228 INTEGER , PUBLIC :: ridge_scheme_swi = 0!: scheme used for ice ridging229 INTEGER , PUBLIC :: raftswi = 1!: rafting of ice or not230 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. 2007232 INTEGER , PUBLIC :: brinstren_swi = 0!: use brine volume to diminish ice strength208 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 233 233 234 234 REAL(wp), PUBLIC :: usecc2 !: = 1.0 / ( ecc * ecc ) … … 390 390 !! * Ice Run 391 391 !!-------------------------------------------------------------------------- 392 ! 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 ice400 REAL(wp) , PUBLIC :: cao = 1.00e-3!: atmospheric drag over ocean401 REAL(wp), DIMENSION(2), PUBLIC :: acrit = (/ 1.e-06 , 1.e-06 /) !: minimum fraction for leads in402 ! !: north and south hemisphere392 ! !!: ** 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 ! 403 403 !!-------------------------------------------------------------------------- 404 404 !! * Ice diagnostics -
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/iceini.F90
r3625 r4147 71 71 & 'use more ocean levels or less ice/snow layers/categories.' ) 72 72 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 ) 75 77 ! 76 78 CALL ice_run ! set some ice run parameters … … 127 129 !!------------------------------------------------------------------- 128 130 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 129 132 !!------------------------------------------------------------------- 130 133 ! 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) 136 901 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 ) 140 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicerun in configuration namelist', lwp ) 141 WRITE ( numoni, namicerun ) 133 142 ! 134 143 IF( lk_mpp .AND. ln_nicep ) THEN -
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limdia.F90
r3625 r4147 30 30 PUBLIC lim_dia ! called by ice_step 31 31 32 INTEGER, PUBLIC :: ntmoy = 1!: instantaneous values of ice evolution or averaging ntmoy33 INTEGER, PUBLIC :: ninfo = 1!: frequency of ouputs on file ice_evolu in case of averaging32 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 34 34 35 35 ! !!! Parameters for outputs to files "evolu" … … 38 38 INTEGER, PARAMETER :: jpchsep = jpchinf + 2 ! ??? 39 39 40 INTEGER :: nfrinf = 4! number of variables written in one line40 INTEGER :: nfrinf ! number of variables written in one line 41 41 INTEGER :: nferme ! last time step at which the var. are written on file 42 42 INTEGER :: nvinfo ! number of total variables … … 45 45 REAL(wp) :: epsi06 = 1.e-6_wp ! small number 46 46 47 CHARACTER(len= 8) :: fmtinf = '1PE13.5 '! format of the output values47 CHARACTER(len= 8) :: fmtinf ! format of the output values 48 48 CHARACTER(len=30) :: fmtw ! formats 49 49 CHARACTER(len=30) :: fmtr ! ??? … … 415 415 INTEGER :: jv ! dummy loop indice 416 416 INTEGER :: ierr, ntot , ndeb , irecl ! local integers 417 INTEGER :: ios ! Local integer output status for namelist read 417 418 REAL(wp) :: zxx0, zxx1 ! local scalars 418 419 CHARACTER(len=jpchinf) :: titinf … … 422 423 !!------------------------------------------------------------------- 423 424 ! 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) 427 901 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 ) 431 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedia in configuration namelist', lwp ) 432 WRITE ( numoni, namicedia ) 426 433 ! 427 434 IF(lwp) THEN ! control print -
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limdyn.F90
r3625 r4147 226 226 !! ** input : Namelist namicedyn 227 227 !!------------------------------------------------------------------- 228 INTEGER :: ios ! Local integer output status for namelist read 228 229 NAMELIST/namicedyn/ epsd, alpha, & 229 230 & dm, nbiter, nbitdr, om, resl, cw, angvg, pstar, & … … 232 233 !!------------------------------------------------------------------- 233 234 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) 237 901 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 ) 241 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedyn in configuration namelist', lwp ) 242 WRITE ( numoni, namicedyn ) 236 243 237 244 IF(lwp) THEN ! control print -
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90
r3625 r4147 33 33 PUBLIC lim_istate ! routine called by lim_init.F90 34 34 35 ! 36 REAL(wp) :: ttest = 2.0_wp! threshold water temperature for initial sea ice37 REAL(wp) :: hninn = 0.5_wp! initial snow thickness in the north38 REAL(wp) :: hginn_u = 2.5_wp! initial ice thickness in the north39 REAL(wp) :: aginn_u = 0.7_wp! initial leads area in the north40 REAL(wp) :: hginn_d = 5.0_wp! initial ice thickness in the north41 REAL(wp) :: aginn_d = 0.25_wp! initial leads area in the north42 REAL(wp) :: hnins = 0.1_wp! initial snow thickness in the south43 REAL(wp) :: hgins_u = 1.0_wp! initial ice thickness in the south44 REAL(wp) :: agins_u = 0.7_wp! initial leads area in the south45 REAL(wp) :: hgins_d = 2.0_wp! initial ice thickness in the south46 REAL(wp) :: agins_d = 0.2_wp! initial leads area in the south47 REAL(wp) :: sinn = 6.301_wp! initial salinity48 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 ! 49 49 50 50 !!---------------------------------------------------------------------- … … 536 536 !! ** input : namelist namiceini 537 537 !!----------------------------------------------------------------------------- 538 INTEGER :: ios ! Local integer output status for namelist read 538 539 NAMELIST/namiceini/ ttest, hninn, hginn_u, aginn_u, hginn_d, aginn_d, hnins, & 539 540 & hgins_u, agins_u, hgins_d, agins_d, sinn, sins 540 541 !!----------------------------------------------------------------------------- 541 542 ! 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) 545 901 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 ) 549 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceini in configuration namelist', lwp ) 550 WRITE ( numoni, namiceini ) 544 551 ! 545 552 IF(lwp) THEN ! control print -
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
r3764 r4147 1409 1409 !! ** input : Namelist namiceitdme 1410 1410 !!------------------------------------------------------------------- 1411 INTEGER :: ios ! Local integer output status for namelist read 1411 1412 NAMELIST/namiceitdme/ ridge_scheme_swi, Cs, Cf, fsnowrdg, fsnowrft,& 1412 1413 Gstar, astar, & … … 1416 1417 !!------------------------------------------------------------------- 1417 1418 ! 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) 1421 901 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 ) 1425 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitdme in configuration namelist', lwp ) 1426 WRITE ( numoni, namiceitdme ) 1420 1427 ! 1421 1428 IF (lwp) THEN ! control print -
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
r3625 r4147 791 791 !! ** input : Namelist namicether 792 792 !!------------------------------------------------------------------- 793 INTEGER :: ios ! Local integer output status for namelist read 793 794 NAMELIST/namicethd/ hmelt , hiccrit, fraz_swi, maxfrazb, vfrazb, Cfrazb, & 794 795 & hicmin, hiclim, amax , & … … 804 805 ENDIF 805 806 ! 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) 809 901 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 ) 813 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicethd in configuration namelist', lwp ) 814 WRITE ( numoni, namicethd ) 808 815 ! 809 816 IF(lwp) THEN ! control print -
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90
r3625 r4147 203 203 !! ** input : Namelist namicesal 204 204 !!------------------------------------------------------------------- 205 INTEGER :: ios ! Local integer output status for namelist read 205 206 NAMELIST/namicesal/ num_sal, bulk_sal, sal_G, time_G, sal_F, time_F, & 206 207 & s_i_max, s_i_min, s_i_0, s_i_1 207 208 !!------------------------------------------------------------------- 208 209 ! 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) 212 901 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 ) 216 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicesal in configuration namelist', lwp ) 217 WRITE ( numoni, namicesal ) 211 218 ! 212 219 IF(lwp) THEN ! control print -
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90
r3853 r4147 365 365 !!------------------------------------------------------------------- 366 366 INTEGER :: nf ! ??? 367 INTEGER :: ios ! Local integer output status for namelist read 367 368 368 369 TYPE FIELD … … 395 396 field_37, add_diag_swi 396 397 !!------------------------------------------------------------------- 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) 400 901 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 ) 404 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceout in configuration namelist', lwp ) 405 WRITE ( numoni, namiceout ) 400 406 401 407 zfield(1) = field_1 -
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/thd_ice.F90
r3625 r4147 18 18 !! * Share Module variables 19 19 !!--------------------------- 20 ! 21 REAL(wp), PUBLIC :: hmelt = -0.15!: maximum melting at the bottom; active only for one category22 REAL(wp), PUBLIC :: hicmin = 0.2!: (REMOVE)23 REAL(wp), PUBLIC :: hiclim = 0.05!: minimum ice thickness24 REAL(wp), PUBLIC :: amax = 0.999!: maximum lead fraction25 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 not34 REAL(wp), PUBLIC :: alphs = 1.0!: coef. for snow density when snow-ice formation35 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 bottom37 REAL(wp), PUBLIC :: vfrazb = 0.41667!: threshold drift speed for collection of bottom frazil ice38 REAL(wp), PUBLIC :: Cfrazb = 5.0!: squeezing coefficient for collection of bottom frazil ice39 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) 41 41 42 42 !!-----------------------------
Note: See TracChangeset
for help on using the changeset viewer.