Changeset 14072 for NEMO/trunk/src/ICE/icedyn.F90
- Timestamp:
- 2020-12-04T08:48:38+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/icedyn.F90
r14005 r14072 2 2 !!====================================================================== 3 3 !! *** MODULE icedyn *** 4 !! Sea-Ice dynamics : master routine for sea ice dynamics 4 !! Sea-Ice dynamics : master routine for sea ice dynamics 5 5 !!====================================================================== 6 6 !! history : 4.0 ! 2018 (C. Rousset) original code SI3 [aka Sea Ice cube] … … 36 36 PUBLIC ice_dyn ! called by icestp.F90 37 37 PUBLIC ice_dyn_init ! called by icestp.F90 38 38 39 39 INTEGER :: nice_dyn ! choice of the type of dynamics 40 40 ! ! associated indices: 41 41 INTEGER, PARAMETER :: np_dynALL = 1 ! full ice dynamics (rheology + advection + ridging/rafting + correction) 42 INTEGER, PARAMETER :: np_dynRHGADV = 2 ! pure dynamics (rheology + advection) 42 INTEGER, PARAMETER :: np_dynRHGADV = 2 ! pure dynamics (rheology + advection) 43 43 INTEGER, PARAMETER :: np_dynADV1D = 3 ! only advection 1D - test case from Schar & Smolarkiewicz 1996 44 44 INTEGER, PARAMETER :: np_dynADV2D = 4 ! only advection 2D w prescribed vel.(rn_uvice + advection) … … 51 51 REAL(wp) :: rn_uice ! prescribed u-vel (case np_dynADV1D & np_dynADV2D) 52 52 REAL(wp) :: rn_vice ! prescribed v-vel (case np_dynADV1D & np_dynADV2D) 53 53 54 54 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_icbmsk ! structure of input grounded icebergs mask (file informations, fields read) 55 55 … … 66 66 !!------------------------------------------------------------------- 67 67 !! *** ROUTINE ice_dyn *** 68 !! 68 !! 69 69 !! ** Purpose : this routine manages sea ice dynamics 70 70 !! … … 91 91 WRITE(numout,*)'~~~~~~~' 92 92 ENDIF 93 ! 93 ! 94 94 ! retrieve thickness from volume for landfast param. and UMx advection scheme 95 95 WHERE( a_i(:,:,:) >= epsi20 ) … … 118 118 CASE ( np_dynALL ) !== all dynamical processes ==! 119 119 ! 120 CALL ice_dyn_rhg ( kt, Kmm ) ! -- rheology 120 CALL ice_dyn_rhg ( kt, Kmm ) ! -- rheology 121 121 CALL ice_dyn_adv ( kt ) ! -- advection of ice 122 CALL ice_dyn_rdgrft( kt ) ! -- ridging/rafting 122 CALL ice_dyn_rdgrft( kt ) ! -- ridging/rafting 123 123 CALL ice_cor ( kt , 1 ) ! -- Corrections 124 124 ! 125 125 CASE ( np_dynRHGADV ) !== no ridge/raft & no corrections ==! 126 126 ! 127 CALL ice_dyn_rhg ( kt, Kmm ) ! -- rheology 127 CALL ice_dyn_rhg ( kt, Kmm ) ! -- rheology 128 128 CALL ice_dyn_adv ( kt ) ! -- advection of ice 129 129 CALL Hpiling ! -- simple pile-up (replaces ridging/rafting) … … 134 134 ! --- monotonicity test from Schar & Smolarkiewicz 1996 --- ! 135 135 ! CFL = 0.5 at a distance from the bound of 1/6 of the basin length 136 ! Then for dx = 2m and dt = 1s => rn_uice = u (1/6th) = 1m/s 136 ! Then for dx = 2m and dt = 1s => rn_uice = u (1/6th) = 1m/s 137 137 DO_2D( 1, 1, 1, 1 ) 138 138 zcoefu = ( REAL(jpiglo+1)*0.5_wp - REAL(ji+nimpp-1) ) / ( REAL(jpiglo+1)*0.5_wp - 1._wp ) … … 156 156 ! 157 157 ! 158 ! diagnostics: divergence at T points 158 ! diagnostics: divergence at T points 159 159 IF( iom_use('icediv') ) THEN 160 160 ! … … 259 259 ENDIF 260 260 ! !== set the choice of ice dynamics ==! 261 ioptio = 0 261 ioptio = 0 262 262 ! !--- full dynamics (rheology + advection + ridging/rafting + correction) 263 263 IF( ln_dynALL ) THEN ; ioptio = ioptio + 1 ; nice_dyn = np_dynALL ; ENDIF … … 292 292 ALLOCATE( sf_icbmsk(1)%fnow(jpi,jpj,1) ) 293 293 IF( sf_icbmsk(1)%ln_tint ) ALLOCATE( sf_icbmsk(1)%fdta(jpi,jpj,1,2) ) 294 IF( TRIM(sf_icbmsk(1)%clrootname) == 'NOT USED' ) sf_icbmsk(1)%fnow(:,:,1) = 0._wp ! not used field (set to 0) 294 IF( TRIM(sf_icbmsk(1)%clrootname) == 'NOT USED' ) sf_icbmsk(1)%fnow(:,:,1) = 0._wp ! not used field (set to 0) 295 295 ELSE 296 296 icb_mask(:,:) = 0._wp 297 297 ENDIF 298 ! !--- other init 298 ! !--- other init 299 299 CALL ice_dyn_rdgrft_init ! set ice ridging/rafting parameters 300 300 CALL ice_dyn_rhg_init ! set ice rheology parameters … … 307 307 !! Default option Empty module NO SI3 sea-ice model 308 308 !!---------------------------------------------------------------------- 309 #endif 309 #endif 310 310 311 311 !!======================================================================
Note: See TracChangeset
for help on using the changeset viewer.