Changeset 8312 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM
- Timestamp:
- 2017-07-10T16:56:45+02:00 (7 years ago)
- Location:
- branches/2017/dev_r8183_ICEMODEL/NEMOGCM
- Files:
-
- 2 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/ORCA2_LIM3_PISCES/EXP00/namelist_ice_cfg
r7823 r8312 6 6 !! 4 - Ice discretization (namiceitd) 7 7 !! 5 - Ice dynamics and transport (namicedyn) 8 !! 6 - Ice diffusion (namicehdf) 9 !! 7 - Ice thermodynamics (namicethd) 10 !! 8 - Ice salinity (namicesal) 11 !! 9 - Ice mechanical redistribution (namiceitdme) 8 !! 6 - Ice thermodynamics (namicethd) 9 !! 7 - Ice salinity (namicesal) 10 !! 8 - Ice mechanical redistribution (namiceitdme) 12 11 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 13 12 !------------------------------------------------------------------------------ … … 32 31 / 33 32 !------------------------------------------------------------------------------ 34 &namicehdf ! Ice horizontal diffusion35 !------------------------------------------------------------------------------36 /37 !------------------------------------------------------------------------------38 33 &namicethd ! Ice thermodynamics 39 34 !------------------------------------------------------------------------------ -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/ORCA2_SAS_LIM3/EXP00/namelist_ice_cfg
r7404 r8312 6 6 !! 4 - Ice discretization (namiceitd) 7 7 !! 5 - Ice dynamics and transport (namicedyn) 8 !! 6 - Ice diffusion (namicehdf) 9 !! 7 - Ice thermodynamics (namicethd) 10 !! 8 - Ice salinity (namicesal) 11 !! 9 - Ice mechanical redistribution (namiceitdme) 8 !! 6 - Ice thermodynamics (namicethd) 9 !! 7 - Ice salinity (namicesal) 10 !! 8 - Ice mechanical redistribution (namiceitdme) 12 11 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 13 12 !------------------------------------------------------------------------------ … … 32 31 / 33 32 !------------------------------------------------------------------------------ 34 &namicehdf ! Ice horizontal diffusion35 !------------------------------------------------------------------------------36 /37 !------------------------------------------------------------------------------38 33 &namicethd ! Ice thermodynamics 39 34 !------------------------------------------------------------------------------ -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/SHARED/namelist_ice_lim3_ref
r8294 r8312 6 6 !! 4 - Ice discretization (namiceitd) 7 7 !! 5 - Ice dynamics and transport (namicedyn) 8 !! 6 - Ice diffusion (namicehdf) 9 !! 7 - Ice thermodynamics (namicethd) 10 !! 8 - Ice salinity (namicesal) 11 !! 9 - Ice mechanical redistribution (namiceitdme) 8 !! 6 - Ice thermodynamics (namicethd) 9 !! 7 - Ice salinity (namicesal) 10 !! 8 - Ice mechanical redistribution (namiceitdme) 12 11 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 13 12 ! … … 107 106 / 108 107 !------------------------------------------------------------------------------ 109 &namicehdf ! Ice horizontal diffusion110 !------------------------------------------------------------------------------111 ! -- limhdf -- !112 nn_ahi0 = -1 ! horizontal diffusivity computation113 ! -1: no diffusion (bypass limhdf)114 ! 0: use rn_ahi0_ref115 ! 1: use rn_ahi0_ref x mean grid cell length / ( 2deg mean grid cell length )116 ! 2: use rn_ahi0_ref x grid cell length / ( 2deg mean grid cell length )117 rn_ahi0_ref = 350.0 ! horizontal sea ice diffusivity (m2/s)118 ! if nn_ahi0 > 0, rn_ahi0_ref is the reference value at a nominal 2 deg resolution119 /120 !------------------------------------------------------------------------------121 108 &namicethd ! Ice thermodynamics 122 109 !------------------------------------------------------------------------------ -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/TEST_CASES/SAS_BIPER/EXP00/namelist_ice_cfg
r7820 r8312 6 6 !! 4 - Ice discretization (namiceitd) 7 7 !! 5 - Ice dynamics and transport (namicedyn) 8 !! 6 - Ice diffusion (namicehdf) 9 !! 7 - Ice thermodynamics (namicethd) 10 !! 8 - Ice salinity (namicesal) 11 !! 9 - Ice mechanical redistribution (namiceitdme) 8 !! 6 - Ice thermodynamics (namicethd) 9 !! 7 - Ice salinity (namicesal) 10 !! 8 - Ice mechanical redistribution (namiceitdme) 12 11 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 13 12 ! … … 56 55 / 57 56 !------------------------------------------------------------------------------ 58 &namicehdf ! Ice horizontal diffusion59 !------------------------------------------------------------------------------60 /61 !------------------------------------------------------------------------------62 57 &namicethd ! Ice thermodynamics 63 58 !------------------------------------------------------------------------------ -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r8291 r8312 220 220 REAL(wp), PUBLIC :: rn_lfrelax !: relaxation time scale (s-1) to reach static friction (landfast ice) 221 221 222 ! !!** ice-diffusion namelist (namicehdf) **223 INTEGER , PUBLIC :: nn_ahi0 !: sea-ice hor. eddy diffusivity coeff. (3 ways of calculation)224 REAL(wp), PUBLIC :: rn_ahi0_ref !: sea-ice hor. eddy diffusivity coeff. (m2/s)225 226 222 ! !!** ice-thermodynamics namelist (namicethd) ** 227 223 ! -- limthd_dif -- ! … … 306 302 ! !!** define arrays 307 303 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: u_oce, v_oce !: surface ocean velocity used in ice dynamics 308 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ahiu , ahiv !: hor. diffusivity coeff. at U- and V-points [m2/s]309 304 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hicol !: ice collection thickness accreted in leads 310 305 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: strength !: ice strength … … 384 379 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rn_amax_2d !: maximum ice concentration 2d array 385 380 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ftr_ice !: transmitted solar radiation under ice 386 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: pahu3D, pahv3D !: ice hor. eddy diffusivity coef. at U- and V-points387 381 388 382 !!-------------------------------------------------------------------------- … … 535 529 ! stay within Fortran's max-line length limit. 536 530 ii = 1 537 ALLOCATE( u_oce (jpi,jpj) , v_oce (jpi,jpj) , & 538 & ahiu (jpi,jpj) , ahiv (jpi,jpj) , hicol (jpi,jpj) , & 531 ALLOCATE( u_oce (jpi,jpj) , v_oce (jpi,jpj) , hicol (jpi,jpj) , & 539 532 & strength(jpi,jpj) , stress1_i(jpi,jpj) , stress2_i(jpi,jpj) , stress12_i(jpi,jpj) , & 540 533 & delta_i (jpi,jpj) , divu_i (jpi,jpj) , shear_i (jpi,jpj) , STAT=ierr(ii) ) … … 561 554 ! * Ice global state variables 562 555 ii = ii + 1 563 ALLOCATE( ftr_ice(jpi,jpj,jpl) , pahu3D(jpi,jpj,jpl+1) , pahv3D(jpi,jpj,jpl+1) ,&556 ALLOCATE( ftr_ice(jpi,jpj,jpl) , & 564 557 & ht_i (jpi,jpj,jpl) , a_i (jpi,jpj,jpl) , v_i (jpi,jpj,jpl) , & 565 558 & v_s (jpi,jpj,jpl) , ht_s (jpi,jpj,jpl) , t_su (jpi,jpj,jpl) , & -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90
r8234 r8312 18 18 USE sbc_oce ! ocean surface boundary condition 19 19 USE ice ! ice variables 20 USE limhdf ! ice horizontal diffusion21 20 USE limvar ! 22 21 USE limadv_prather ! advection scheme (Prather) … … 65 64 INTEGER, INTENT(in) :: kt ! number of iteration 66 65 ! 67 INTEGER :: ji, jj, jk, j m, jl, jt! dummy loop indices66 INTEGER :: ji, jj, jk, jl, jt ! dummy loop indices 68 67 INTEGER :: initad ! number of sub-timestep for the advection 69 68 REAL(wp) :: zcfl , zusnit ! - - … … 74 73 REAL(wp), POINTER, DIMENSION(:,:) :: zatold, zeiold, zesold, zsmvold 75 74 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhimax, zviold, zvsold 76 ! --- diffusion --- !77 REAL(wp), POINTER, DIMENSION(:,:,:) :: zhdfptab78 ! MV MP 201679 ! With melt ponds, we have to diffuse them80 ! We hard code the number of variables to diffuse81 ! since we can't put an IF ( nn_pnd_scheme ) for a declaration82 ! ideally, the ihdf_vars should probably be passed as an argument and83 ! defined somewhere depending on nn_pnd_scheme84 ! END MV MP 201685 INTEGER , PARAMETER :: ihdf_vars = 8 ! Number of variables in which we apply horizontal diffusion86 ! inside limtrp for each ice category , not counting the87 ! variables corresponding to ice_layers88 75 ! --- ultimate macho only --- ! 89 76 REAL(wp) :: zdt … … 104 91 CALL wrk_alloc( jpi,jpj, zatold, zeiold, zesold, zsmvold ) 105 92 CALL wrk_alloc( jpi,jpj,jpl, zhimax, zviold, zvsold ) 106 CALL wrk_alloc( jpi,jpj,jpl*(ihdf_vars + nlay_i)+1, zhdfptab)107 93 108 94 IF( kt == nit000 .AND. lwp ) THEN … … 417 403 END SELECT 418 404 419 !------------------------------!420 ! Diffusion of Ice fields421 !------------------------------!422 IF( nn_ahi0 /= -1 .AND. nn_limdyn == 2 ) THEN423 !424 ! --- Prepare diffusion for variables with categories --- !425 ! mask eddy diffusivity coefficient at ocean U- and V-points426 jm=1427 DO jl = 1, jpl428 DO jj = 1, jpjm1 ! NB: has not to be defined on jpj line and jpi row429 DO ji = 1 , fs_jpim1430 pahu3D(ji,jj,jl) = ( 1._wp - MAX( 0._wp, SIGN( 1._wp, -a_i(ji ,jj, jl ) ) ) ) &431 & * ( 1._wp - MAX( 0._wp, SIGN( 1._wp, -a_i(ji+1,jj, jl ) ) ) ) * ahiu(ji,jj)432 pahv3D(ji,jj,jl) = ( 1._wp - MAX( 0._wp, SIGN( 1._wp, -a_i(ji, jj, jl ) ) ) ) &433 & * ( 1._wp - MAX( 0._wp, SIGN( 1._wp,- a_i(ji, jj+1,jl ) ) ) ) * ahiv(ji,jj)434 END DO435 END DO436 437 zhdfptab(:,:,jm)= a_i (:,:, jl); jm = jm + 1438 zhdfptab(:,:,jm)= v_i (:,:, jl); jm = jm + 1439 zhdfptab(:,:,jm)= v_s (:,:, jl); jm = jm + 1440 zhdfptab(:,:,jm)= smv_i(:,:, jl); jm = jm + 1441 zhdfptab(:,:,jm)= oa_i (:,:, jl); jm = jm + 1442 zhdfptab(:,:,jm)= e_s (:,:,1,jl); jm = jm + 1443 ! MV MP 2016444 IF ( nn_pnd_scheme > 0 ) THEN445 zhdfptab(:,:,jm)= a_ip (:,:, jl); jm = jm + 1446 zhdfptab(:,:,jm)= v_ip (:,:, jl); jm = jm + 1447 ENDIF448 ! END MV MP 2016449 ! Sample of adding more variables to apply lim_hdf (ihdf_vars must be increased)450 ! zhdfptab(:,:,jm) = variable_1 (:,:,1,jl); jm = jm + 1451 ! zhdfptab(:,:,jm) = variable_2 (:,:,1,jl); jm = jm + 1452 DO jk = 1, nlay_i453 zhdfptab(:,:,jm)=e_i(:,:,jk,jl); jm= jm+1454 END DO455 END DO456 457 ! --- Prepare diffusion for open water area --- !458 ! mask eddy diffusivity coefficient at ocean U- and V-points459 DO jj = 1, jpjm1 ! NB: has not to be defined on jpj line and jpi row460 DO ji = 1 , fs_jpim1461 pahu3D(ji,jj,jpl+1) = ( 1._wp - MAX( 0._wp, SIGN( 1._wp, -at_i(ji ,jj) ) ) ) &462 & * ( 1._wp - MAX( 0._wp, SIGN( 1._wp, -at_i(ji+1,jj) ) ) ) * ahiu(ji,jj)463 pahv3D(ji,jj,jpl+1) = ( 1._wp - MAX( 0._wp, SIGN( 1._wp, -at_i(ji,jj ) ) ) ) &464 & * ( 1._wp - MAX( 0._wp, SIGN( 1._wp,- at_i(ji,jj+1) ) ) ) * ahiv(ji,jj)465 END DO466 END DO467 !468 zhdfptab(:,:,jm)= ato_i (:,:);469 470 ! --- Apply diffusion --- !471 CALL lim_hdf( zhdfptab, ihdf_vars )472 473 ! --- Recover properties --- !474 jm=1475 DO jl = 1, jpl476 a_i (:,:, jl) = zhdfptab(:,:,jm); jm = jm + 1477 v_i (:,:, jl) = zhdfptab(:,:,jm); jm = jm + 1478 v_s (:,:, jl) = zhdfptab(:,:,jm); jm = jm + 1479 smv_i(:,:, jl) = zhdfptab(:,:,jm); jm = jm + 1480 oa_i (:,:, jl) = zhdfptab(:,:,jm); jm = jm + 1481 e_s (:,:,1,jl) = zhdfptab(:,:,jm); jm = jm + 1482 ! MV MP 2016483 IF ( nn_pnd_scheme > 0 ) THEN484 a_ip (:,:, jl) = zhdfptab(:,:,jm); jm = jm + 1485 v_ip (:,:, jl) = zhdfptab(:,:,jm); jm = jm + 1486 ENDIF487 ! Sample of adding more variables to apply lim_hdf488 ! variable_1 (:,:,1,jl) = zhdfptab(:,:, jm ) ; jm + 1489 ! variable_2 (:,:,1,jl) = zhdfptab(:,:, jm ) ; jm + 1490 DO jk = 1, nlay_i491 e_i(:,:,jk,jl) = zhdfptab(:,:,jm);jm= jm + 1492 END DO493 END DO494 ato_i (:,:) = zhdfptab(:,:,jm)495 496 ENDIF497 498 405 ! --- diags --- 499 406 DO jj = 1, jpj … … 618 525 CALL wrk_dealloc( jpi,jpj, zatold, zeiold, zesold, zsmvold ) 619 526 CALL wrk_dealloc( jpi,jpj,jpl, zhimax, zviold, zvsold ) 620 CALL wrk_dealloc( jpi,jpj,jpl*(ihdf_vars + nlay_i)+1, zhdfptab)621 527 ! 622 528 IF( nn_timing == 1 ) CALL timing_stop('limtrp') -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90
r8291 r8312 37 37 USE limdyn ! Ice dynamics 38 38 USE limtrp ! Ice transport 39 USE limhdf ! Ice horizontal diffusion40 39 USE limthd ! Ice thermodynamics 41 40 USE limitd_me ! Mechanics on ice thickness distribution … … 317 316 ! 318 317 CALL lim_itd_init ! ice thickness distribution initialization 319 !320 CALL lim_hdf_init ! set ice horizontal diffusion computation parameters321 318 ! 322 319 CALL lim_thd_init ! set ice thermodynics parameters
Note: See TracChangeset
for help on using the changeset viewer.