Changeset 8409
- Timestamp:
- 2017-08-07T17:29:21+02:00 (8 years ago)
- Location:
- branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3
- Files:
-
- 6 added
- 6 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r8407 r8409 75 75 !! state variables are called | 76 76 !! - ice_rhg : ice dynamics | 77 !! - lim_trp : ice transport|78 !! - lim_itd_me : mechanical redistribution (ridging and rafting)|77 !! - ice_adv : ice advection | 78 !! - ice_rdgrft : ice ridging and rafting | 79 79 !! - lim_thd : ice halo-thermodynamics | 80 80 !! - lim_itd_th : thermodynamic changes in ice thickness distribution | … … 199 199 200 200 ! !!** ice-dynamics namelist (namicedyn) ** 201 ! -- limtrp & limadv -- !201 ! -- iceadv -- ! 202 202 INTEGER , PUBLIC :: nn_limadv !: choose the advection scheme (-1=Prather ; 0=Ultimate-Macho) 203 203 INTEGER , PUBLIC :: nn_limadv_ord !: choose the order of the advection scheme (if Ultimate-Macho) 204 ! -- limitd_me-- !204 ! -- icerdgrft -- ! 205 205 INTEGER , PUBLIC :: nn_icestr !: ice strength parameterization (0=Hibler79 1=Rothrock75) 206 206 REAL(wp), PUBLIC :: rn_pe_rdg !: ridging work divided by pot. energy change in ridging, nn_icestr = 1 … … 208 208 REAL(wp), PUBLIC :: rn_crhg !: determines changes in ice strength 209 209 LOGICAL , PUBLIC :: ln_icestr_bvf !: use brine volume to diminish ice strength 210 ! -- limdyn &icerhg -- !210 ! -- icerhg -- ! 211 211 REAL(wp), PUBLIC :: rn_ishlat !: lateral boundary condition for sea-ice 212 212 REAL(wp), PUBLIC :: rn_cio !: drag coefficient for oceanic stress … … 366 366 367 367 ! heat flux associated with ice-ocean mass exchange 368 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_thd !: ice-ocean heat flux from thermo processes (limthd_dh) 369 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_dyn !: ice-ocean heat flux from mecanical processes (limitd_me)[W.m-2]368 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_thd !: ice-ocean heat flux from thermo processes (limthd_dh) [W.m-2] 369 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_dyn !: ice-ocean heat flux from ridging [W.m-2] 370 370 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hfx_res !: residual heat flux due to correction of ice thickness [W.m-2] 371 371 -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg.F90
r8407 r8409 137 137 WRITE(numout,*)' choose the advection scheme (-1=Prather, 0=Ulimate-Macho) nn_limadv = ', nn_limadv 138 138 WRITE(numout,*)' choose the order of the scheme (if ultimate) nn_limadv_ord = ', nn_limadv_ord 139 ! limitd_me139 ! icerdgrft 140 140 WRITE(numout,*)' ice strength parameterization (0=Hibler 1=Rothrock) nn_icestr = ', nn_icestr 141 141 WRITE(numout,*)' Ratio of ridging work to PotEner change in ridging rn_pe_rdg = ', rn_pe_rdg -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg_evp.F90
r8407 r8409 24 24 USE sbc_ice , ONLY : utau_ice, vtau_ice, snwice_mass, snwice_mass_b 25 25 USE ice ! ice variables 26 USE limitd_me! ice strength26 USE icerdgrft ! ice strength 27 27 ! 28 28 USE lbclnk ! Lateral Boundary Condition / MPP link … … 229 229 230 230 ! Ice strength 231 CALL lim_itd_me_icestrength( nn_icestr )231 CALL ice_rdgrft_icestrength( nn_icestr ) 232 232 233 233 ! scale factors -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icestp.F90
r8407 r8409 32 32 USE phycst ! Define parameters for the routines 33 33 USE eosbn2 ! equation of state 34 USE icerhg ! Ice dynamics35 USE limtrp ! Ice transport34 USE icerhg ! Ice rheology 35 USE iceadv ! Ice advection 36 36 USE limthd ! Ice thermodynamics 37 USE limitd_me ! Mechanics on ice thickness distribution37 USE icerdgrft ! Ice ridging/rafting 38 38 USE limsbc ! sea surface boundary condition 39 39 USE limdiahsb ! Ice budget diagnostics 40 40 USE limwri ! Ice outputs 41 41 USE limrst ! Ice restarts 42 USE limupdate1 ! update of global variables43 USE limupdate2 ! update of global variables42 USE icecor1 ! Ice corrections after dynamics 43 USE icecor2 ! Ice corrections after thermo 44 44 USE limvar ! Ice variables switch 45 45 USE limctl ! … … 153 153 ! --- zap this if no ice dynamics --- ! 154 154 IF( .NOT. lk_c1d .AND. ln_limdyn ) THEN 155 ! 156 IF( nn_limdyn /= 0 ) THEN ! -- Ice dynamics 157 CALL ice_rhg( kt ) ! rheology 158 ELSE 159 u_ice(:,:) = rn_uice * umask(:,:,1) ! or prescribed velocity 160 v_ice(:,:) = rn_vice * vmask(:,:,1) 161 !!CALL RANDOM_NUMBER(u_ice(:,:)) 162 !!CALL RANDOM_NUMBER(v_ice(:,:)) 163 ENDIF 164 CALL lim_trp( kt ) ! -- Ice transport (Advection/diffusion) 165 IF( nn_limdyn == 2 .AND. nn_monocat /= 2 ) & ! -- Mechanical redistribution (ridging/rafting) 166 & CALL lim_itd_me 167 IF( nn_limdyn == 2 ) CALL lim_update1( kt ) ! -- Corrections 155 CALL ice_rhg( kt ) ! -- rheology 156 CALL ice_adv( kt ) ! -- advection 157 IF( nn_limdyn == 2 .AND. nn_monocat /= 2 ) & ! -- ridging/rafting 158 & CALL ice_rdgrft 159 IF( nn_limdyn == 2 ) CALL ice_cor1( kt ) ! -- Corrections 168 160 ! 169 161 ENDIF … … 204 196 ! END MV MP 2016 205 197 206 IF( ln_limthd ) CALL lim_update2( kt )! -- Corrections198 IF( ln_limthd ) CALL ice_cor2( kt ) ! -- Corrections 207 199 ! --- 208 200 # if defined key_agrif … … 270 262 ierr = ierr + sbc_ice_alloc () ! surface forcing 271 263 ierr = ierr + thd_ice_alloc () ! thermodynamics 272 IF( ln_limdyn ) ierr = ierr + lim_itd_me_alloc () ! ice thickness distribution - mechanics264 IF( ln_limdyn ) ierr = ierr + ice_rdgrft_alloc () ! ridging/rafting 273 265 ! 274 266 IF( lk_mpp ) CALL mpp_sum( ierr ) … … 287 279 ! END MV MP 2016 288 280 289 IF( ln_limdyn ) CALL lim_itd_me_init ! ice thickness distribution initialization for mecanical deformation281 IF( ln_limdyn ) CALL ice_rdgrft_init ! ice thickness distribution initialization for ridging/rafting 290 282 ! ! Initial sea-ice state 291 283 IF( .NOT. ln_rstart ) THEN ! start from rest: sea-ice deduced from sst -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limcons.F90
r8355 r8409 134 134 IF ( ABS( zsmv ) > zs_sill ) WRITE(numout,*) 'violation saline [psu*Mt/day] (',cd_routine,') = ',zsmv 135 135 IF ( ABS( zei ) > zh_sill ) WRITE(numout,*) 'violation enthalpy [GW] (',cd_routine,') = ',zei 136 IF ( ABS(zvtrp ) > zv_sill .AND. cd_routine == ' limtrp' ) THEN136 IF ( ABS(zvtrp ) > zv_sill .AND. cd_routine == 'iceadv' ) THEN 137 137 WRITE(numout,*) 'violation vtrp [Mt/day] (',cd_routine,') = ',zvtrp 138 138 WRITE(numout,*) 'violation etrp [GW] (',cd_routine,') = ',zetrp … … 140 140 IF ( zvmin < -epsi10 ) WRITE(numout,*) 'violation v_i<0 [m] (',cd_routine,') = ',zvmin 141 141 IF ( zamax > MAX( rn_amax_n, rn_amax_s ) + epsi10 .AND. & 142 & cd_routine /= ' limtrp' .AND. cd_routine /= 'limitd_me' ) THEN142 & cd_routine /= 'iceadv' .AND. cd_routine /= 'icerdgrft' ) THEN 143 143 WRITE(numout,*) 'violation a_i>amax (',cd_routine,') = ',zamax 144 144 IF ( zamax > 1._wp ) WRITE(numout,*) 'violation a_i>1 (',cd_routine,') = ',zamax -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limitd_th.F90
r8379 r8409 36 36 37 37 PUBLIC lim_itd_th_rem ! called in limthd 38 PUBLIC lim_itd_th_reb ! called in limupdate38 PUBLIC lim_itd_th_reb ! called in icecor 39 39 40 40 !!---------------------------------------------------------------------- -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90
r8378 r8409 169 169 CALL iom_put( "sfxopw" , sfx_opw * rday ) ! salt flux from open water formation 170 170 CALL iom_put( "sfxdyn" , sfx_dyn * rday ) ! salt flux from ridging rafting 171 CALL iom_put( "sfxres" , sfx_res * rday ) ! salt flux from limupdate(resultant)171 CALL iom_put( "sfxres" , sfx_res * rday ) ! salt flux from corrections (resultant) 172 172 CALL iom_put( "sfxbri" , sfx_bri * rday ) ! salt flux from brines 173 173 CALL iom_put( "sfxsub" , sfx_sub * rday ) ! salt flux from sublimation … … 175 175 176 176 ztmp = rday / rhoic 177 CALL iom_put( "vfxres" , wfx_res * ztmp ) ! daily prod./melting due to limupdate177 CALL iom_put( "vfxres" , wfx_res * ztmp ) ! daily prod./melting due to corrections 178 178 CALL iom_put( "vfxopw" , wfx_opw * ztmp ) ! daily lateral thermodynamic ice production 179 179 CALL iom_put( "vfxsni" , wfx_sni * ztmp ) ! daily snowice ice production … … 495 495 CALL histdef( kid, "vfxsni", "Snow ice production " , "m/s" , & 496 496 & jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 497 CALL histdef( kid, "vfxres", "Ice prod from limupdate" , "m/s", &497 CALL histdef( kid, "vfxres", "Ice prod from corrections" , "m/s" , & 498 498 & jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 499 499 CALL histdef( kid, "vfxbom", "Ice bottom melt" , "m/s" , &
Note: See TracChangeset
for help on using the changeset viewer.