Changeset 14004
- Timestamp:
- 2020-12-02T15:12:26+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/SI3_martin_ponds
- Files:
-
- 8 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/SI3_martin_ponds/cfgs/SHARED/field_def_nemo-ice.xml
r13957 r14004 81 81 <field id="sig1_pnorm" long_name="P-normalized 1st principal stress component" unit="" /> 82 82 <field id="sig2_pnorm" long_name="P-normalized 2nd principal stress component" unit="" /> 83 <field id="icedlt" long_name="delta" standard_name="delta" unit="" /> 83 84 <field id="normstr" long_name="Average normal stress in sea ice" standard_name="average_normal_stress" unit="N/m" /> 84 85 <field id="sheastr" long_name="Maximum shear stress in sea ice" standard_name="maximum_shear_stress" unit="N/m" /> … … 86 87 <field id="icediv" long_name="Divergence of the sea-ice velocity field" standard_name="divergence_of_sea_ice_velocity" unit="s-1" /> 87 88 <field id="iceshe" long_name="Maximum shear of sea-ice velocity field" standard_name="maximum_shear_of_sea_ice_velocity" unit="s-1" /> 89 <field id="aniso" long_name="anisotropy of sea ice floe orientation (0.5 - 1)" standard_name="anisotropy" unit="" /> 90 <field id="yield11" long_name="yield surface tensor component 11" standard_name="yield11" unit="N/m" /> 91 <field id="yield22" long_name="yield surface tensor component 22" standard_name="yield22" unit="N/m" /> 92 <field id="yield12" long_name="yield surface tensor component 12" standard_name="yield12" unit="N/m" /> 88 93 <field id="beta_evp" long_name="Relaxation parameter of ice rheology (beta)" standard_name="relaxation_parameter_of_ice_rheology" unit="" /> 89 94 … … 410 415 <field field_ref="sig1_pnorm" name="sig1_pnorm"/> 411 416 <field field_ref="sig2_pnorm" name="sig2_pnorm"/> 417 <field field_ref="icedlt" name="sidelta" /> 412 418 413 419 <!-- heat fluxes --> -
NEMO/branches/2020/SI3_martin_ponds/cfgs/SHARED/namelist_ice_ref
r13962 r14004 98 98 !------------------------------------------------------------------------------ 99 99 ln_rhg_EVP = .true. ! EVP rheology 100 ln_rhg_EAP = .false. ! EAP rheology 100 101 ln_aEVP = .true. ! adaptive rheology (Kimmritz et al. 2016 & 2017) 101 102 rn_creepl = 2.0e-9 ! creep limit [1/s] -
NEMO/branches/2020/SI3_martin_ponds/doc/namelists/namdyn_rhg
r13472 r14004 3 3 !------------------------------------------------------------------------------ 4 4 ln_rhg_EVP = .true. ! EVP rheology 5 ln_rhg_EAP = .false. ! EAP rheology 5 6 ln_aEVP = .false. ! adaptive rheology (Kimmritz et al. 2016 & 2017) 6 7 rn_creepl = 2.0e-9 ! creep limit [1/s] -
NEMO/branches/2020/SI3_martin_ponds/src/ICE/ice.F90
r13962 r14004 150 150 ! 151 151 ! !!** ice-rheology namelist (namdyn_rhg) ** 152 LOGICAL , PUBLIC :: ln_rhg_EVP ! EVP rheology switch, used for rdgrft and rheology 153 LOGICAL , PUBLIC :: ln_rhg_EAP ! EAP rheology switch, used for rdgrft and rheology 152 154 LOGICAL , PUBLIC :: ln_aEVP !: using adaptive EVP (T or F) 153 155 REAL(wp), PUBLIC :: rn_creepl !: creep limit : has to be under 1.0e-9 … … 248 250 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: divu_i !: Divergence of the velocity field [s-1] 249 251 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: shear_i !: Shear of the velocity field [s-1] 252 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: aniso_11, aniso_12 !: structure tensor elements 253 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rdg_conv 250 254 ! 251 255 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: t_bo !: Sea-Ice bottom temperature [Kelvin] … … 445 449 ALLOCATE( u_oce (jpi,jpj) , v_oce (jpi,jpj) , ht_i_new (jpi,jpj) , strength(jpi,jpj) , & 446 450 & stress1_i(jpi,jpj) , stress2_i(jpi,jpj) , stress12_i(jpi,jpj) , & 447 & delta_i (jpi,jpj) , divu_i (jpi,jpj) , shear_i (jpi,jpj) , STAT=ierr(ii) ) 451 & delta_i (jpi,jpj) , divu_i (jpi,jpj) , shear_i (jpi,jpj) , & 452 & aniso_11 (jpi,jpj) , aniso_12 (jpi,jpj) , rdg_conv (jpi,jpj) , STAT=ierr(ii) ) 448 453 449 454 ii = ii + 1 -
NEMO/branches/2020/SI3_martin_ponds/src/ICE/icedyn_rdgrft.F90
r13908 r14004 140 140 INTEGER , DIMENSION(jpij) :: iptidx ! compute ridge/raft or not 141 141 REAL(wp), DIMENSION(jpij) :: zdivu, zdelt ! 1D divu_i & delta_i 142 REAL(wp), DIMENSION(jpij) :: zconv ! 1D rdg_conv (if EAP rheology) 142 143 ! 143 144 INTEGER, PARAMETER :: jp_itermax = 20 … … 175 176 ! just needed here 176 177 CALL tab_2d_1d( npti, nptidx(1:npti), zdelt (1:npti) , delta_i ) 178 CALL tab_2d_1d( npti, nptidx(1:npti), zconv (1:npti) , rdg_conv ) 177 179 ! needed here and in the iteration loop 178 180 CALL tab_2d_1d( npti, nptidx(1:npti), zdivu (1:npti) , divu_i) ! zdivu is used as a work array here (no change in divu_i) … … 184 186 ! closing_net = rate at which open water area is removed + ice area removed by ridging 185 187 ! - ice area added in new ridges 186 closing_net(ji) = rn_csrdg * 0.5_wp * ( zdelt(ji) - ABS( zdivu(ji) ) ) - MIN( zdivu(ji), 0._wp ) 188 IF( ln_rhg_EVP ) closing_net(ji) = rn_csrdg * 0.5_wp * ( zdelt(ji) - ABS( zdivu(ji) ) ) - MIN( zdivu(ji), 0._wp ) 189 IF( ln_rhg_EAP ) closing_net(ji) = zconv(ji) 187 190 ! 188 191 IF( zdivu(ji) < 0._wp ) closing_net(ji) = MAX( closing_net(ji), -zdivu(ji) ) ! make sure the closing rate is large enough … … 776 779 ! !--------------------------------------------------! 777 780 strength(:,:) = rn_pstar * SUM( v_i(:,:,:), dim=3 ) * EXP( -rn_crhg * ( 1._wp - SUM( a_i(:,:,:), dim=3 ) ) ) 778 ismooth = 1 781 ismooth = 1 ! original code 782 ! ismooth = 0 ! try for EAP stability 779 783 ! !--------------------------------------------------! 780 784 ELSE ! Zero strength ! -
NEMO/branches/2020/SI3_martin_ponds/src/ICE/icedyn_rhg.F90
r13472 r14004 17 17 USE ice ! sea-ice: variables 18 18 USE icedyn_rhg_evp ! sea-ice: EVP rheology 19 USE icedyn_rhg_eap ! sea-ice: EAP rheology 19 20 USE icectl ! sea-ice: control prints 20 21 ! … … 33 34 ! ! associated indices: 34 35 INTEGER, PARAMETER :: np_rhgEVP = 1 ! EVP rheology 35 !!INTEGER, PARAMETER :: np_rhgEAP = 2 ! EAP rheology36 INTEGER, PARAMETER :: np_rhgEAP = 2 ! EAP rheology 36 37 37 38 ! ** namelist (namrhg) ** 38 LOGICAL :: ln_rhg_EVP ! EVP rheology39 39 ! 40 40 !!---------------------------------------------------------------------- … … 78 78 CALL ice_dyn_rhg_evp( kt, Kmm, stress1_i, stress2_i, stress12_i, shear_i, divu_i, delta_i ) 79 79 ! 80 ! !----------------------------! 81 CASE( np_rhgEAP ) ! Elasto-Anisotropic-Plastic ! 82 ! !----------------------------! 83 CALL ice_dyn_rhg_eap( kt, Kmm, stress1_i, stress2_i, stress12_i, shear_i, divu_i, delta_i, aniso_11, aniso_12, rdg_conv ) 80 84 END SELECT 81 85 ! 82 86 IF( lrst_ice ) THEN !* write EVP fields in the restart file 83 87 IF( ln_rhg_EVP ) CALL rhg_evp_rst( 'WRITE', kt ) 88 IF( ln_rhg_EAP ) CALL rhg_eap_rst( 'WRITE', kt ) !* write EAP fields in the restart file 84 89 ENDIF 85 90 ! … … 108 113 INTEGER :: ios, ioptio ! Local integer output status for namelist read 109 114 !! 110 NAMELIST/namdyn_rhg/ ln_rhg_EVP, ln_aEVP, rn_creepl, rn_ecc , nn_nevp, rn_relast, nn_rhg_chkcvg115 NAMELIST/namdyn_rhg/ ln_rhg_EVP, ln_aEVP, ln_rhg_EAP, rn_creepl, rn_ecc , nn_nevp, rn_relast, nn_rhg_chkcvg 111 116 !!------------------------------------------------------------------- 112 117 ! … … 133 138 ELSEIF( nn_rhg_chkcvg == 2 ) THEN ; WRITE(numout,*) ' check cvg at both main and rheology time steps' 134 139 ENDIF 140 WRITE(numout,*) ' rheology EAP (icedyn_rhg_eap) ln_rhg_EAP = ', ln_rhg_EAP 135 141 ENDIF 136 142 ! … … 138 144 ioptio = 0 139 145 IF( ln_rhg_EVP ) THEN ; ioptio = ioptio + 1 ; nice_rhg = np_rhgEVP ; ENDIF 140 !!IF( ln_rhg_EAP ) THEN ; ioptio = ioptio + 1 ; nice_rhg = np_rhgEAP ; ENDIF146 IF( ln_rhg_EAP ) THEN ; ioptio = ioptio + 1 ; nice_rhg = np_rhgEAP ; ENDIF 141 147 IF( ioptio /= 1 ) CALL ctl_stop( 'ice_dyn_rhg_init: choose one and only one ice rheology' ) 142 148 ! 143 149 IF( ln_rhg_EVP ) CALL rhg_evp_rst( 'READ' ) !* read or initialize all required files 150 IF( ln_rhg_EAP ) CALL rhg_eap_rst( 'READ' ) !* read or initialize all required files 144 151 ! 145 152 END SUBROUTINE ice_dyn_rhg_init -
NEMO/branches/2020/SI3_martin_ponds/tests/ICE_ADV2D/MY_SRC/usrdef_sbc.F90
r13472 r14004 18 18 USE sbc_ice ! Surface boundary condition: ice fields 19 19 USE phycst ! physical constants 20 USE ice, ONLY : at_i_b, a_i_b20 USE ice, ONLY : jpl, at_i_b, a_i_b 21 21 USE icethd_dh ! for CALL ice_thd_snwblow 22 22 ! -
NEMO/branches/2020/SI3_martin_ponds/tests/demo_cfgs.txt
r13207 r14004 12 12 STATION_ASF OCE 13 13 CPL_OASIS OCE TOP ICE NST 14 ICE_RHEO OCE SAS ICE
Note: See TracChangeset
for help on using the changeset viewer.