Changeset 4042 for branches/2013/dev_r4028_CNRS_LIM3
- Timestamp:
- 2013-09-25T15:40:39+02:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90
r3625 r4042 11 11 !! 3.3 ! 2010-11 (G. Madec) ice-ocean stress always computed at each ocean time-step 12 12 !! 3.4 ! 2011-01 (A Porter) dynamical allocation 13 !! - ! 2012-10 (C. Rousset) add lim_diahsb 13 14 !!---------------------------------------------------------------------- 14 15 #if defined key_lim3 … … 42 43 USE limsbc ! sea surface boundary condition 43 44 USE limdia ! Ice diagnostics 45 USE limdiahsb ! Ice budget diagnostics 44 46 USE limwri ! Ice outputs 45 47 USE limrst ! Ice restarts 46 USE limupdate ! update of global variables 48 USE limupdate1 ! update of global variables 49 USE limupdate2 ! update of global variables 47 50 USE limvar ! Ice variables switch 48 51 … … 51 54 USE lib_mpp ! MPP library 52 55 USE wrk_nemo ! work arrays 56 USE timing ! Timing 53 57 USE iom ! I/O manager library 54 58 USE in_out_manager ! I/O manager 55 59 USE prtctl ! Print control 60 61 #if defined key_bdy 62 USE bdyice_lim ! unstructured open boundary data (bdy_ice_lim routine) 63 #endif 56 64 57 65 IMPLICIT NONE … … 98 106 !!---------------------------------------------------------------------- 99 107 108 IF( nn_timing == 1 ) CALL timing_start('sbc_ice_lim') 109 100 110 CALL wrk_alloc( jpi,jpj,jpl, zalb_ice_os, zalb_ice_cs ) 101 111 … … 108 118 ! 109 119 IF( ln_nicep ) THEN ! control print at a given point 110 jiindx = 44 ; jjindx = 140120 jiindx = 15 ; jjindx = 46 111 121 WRITE(numout,*) ' The debugging point is : jiindx : ',jiindx, ' jjindx : ',jjindx 112 122 ENDIF … … 178 188 d_oa_i_thd (:,:,:) = 0._wp ; d_oa_i_trp (:,:,:) = 0._wp 179 189 ! 180 sfx (:,:) = 0._wp 190 sfx (:,:) = 0._wp ; sfx_thd (:,:) = 0._wp 181 191 sfx_bri(:,:) = 0._wp ; sfx_mec (:,:) = 0._wp ; sfx_res (:,:) = 0._wp 182 192 fhbri (:,:) = 0._wp ; fheat_mec(:,:) = 0._wp ; fheat_res(:,:) = 0._wp … … 185 195 focea2D(:,:) = 0._wp 186 196 fsup2D (:,:) = 0._wp 187 ! 197 198 ! used in limthd.F90 199 rdvosif(:,:) = 0._wp ! variation of ice volume at surface 200 rdvobif(:,:) = 0._wp ! variation of ice volume at bottom 201 fdvolif(:,:) = 0._wp ! total variation of ice volume 202 rdvonif(:,:) = 0._wp ! lateral variation of ice volume 203 fstric (:,:) = 0._wp ! part of solar radiation transmitted through the ice 204 ffltbif(:,:) = 0._wp ! linked with fstric 205 qfvbq (:,:) = 0._wp ! linked with fstric 206 rdm_snw(:,:) = 0._wp ! variation of snow mass per unit area 207 rdm_ice(:,:) = 0._wp ! variation of ice mass per unit area 208 hicifp (:,:) = 0._wp ! daily thermodynamic ice production. 209 ! 188 210 diag_sni_gr(:,:) = 0._wp ; diag_lat_gr(:,:) = 0._wp 189 211 diag_bot_gr(:,:) = 0._wp ; diag_dyn_gr(:,:) = 0._wp 190 212 diag_bot_me(:,:) = 0._wp ; diag_sur_me(:,:) = 0._wp 213 diag_res_pr(:,:) = 0._wp ; diag_trp_vi(:,:) = 0._wp 191 214 ! dynamical invariants 192 215 delta_i(:,:) = 0._wp ; divu_i(:,:) = 0._wp ; shear_i(:,:) = 0._wp … … 199 222 CALL lim_dyn( kt ) ! Ice dynamics ( rheology/dynamics ) 200 223 CALL lim_trp( kt ) ! Ice transport ( Advection/diffusion ) 201 CALL lim_var_agg(1) ! aggregate categories, requested202 224 CALL lim_var_glo2eqv ! equivalent variables, requested for rafting 203 225 IF( ln_nicep ) CALL lim_prt_state( jiindx, jjindx,-1, ' - ice dyn & trp - ' ) ! control print 204 226 CALL lim_itd_me ! Mechanical redistribution ! (ridging/rafting) 227 CALL lim_var_agg( 1 ) 228 CALL lim_update1 205 229 ENDIF 230 ! !- Change old values for new values 231 old_u_ice(:,:) = u_ice (:,:) 232 old_v_ice(:,:) = v_ice (:,:) 233 old_a_i(:,:,:) = a_i (:,:,:) 234 old_v_s(:,:,:) = v_s (:,:,:) 235 old_v_i(:,:,:) = v_i (:,:,:) 236 old_e_s(:,:,:,:) = e_s (:,:,:,:) 237 old_e_i(:,:,:,:) = e_i (:,:,:,:) 238 old_oa_i(:,:,:) = oa_i(:,:,:) 239 old_smv_i(:,:,:) = smv_i (:,:,:) 206 240 ! ! Ice thermodynamics 207 241 CALL lim_var_glo2eqv ! equivalent variables … … 217 251 ! ! Global variables update 218 252 CALL lim_var_agg( 1 ) ! requested by limupdate 219 CALL lim_update ! Global variables update 253 CALL lim_update2 ! Global variables update 254 #if defined key_bdy 255 CALL bdy_ice_lim( kt ) ! clem modif: bdy ice 256 #endif 220 257 CALL lim_var_glo2eqv ! equivalent variables (outputs) 221 258 CALL lim_var_agg(2) ! aggregate ice thickness categories … … 229 266 IF( ( MOD( kt+nn_fsbc-1, ninfo ) == 0 .OR. ntmoy == 1 ) .AND. .NOT. lk_mpp ) & 230 267 & CALL lim_dia 268 IF (ln_limdiahsb) CALL lim_diahsb 231 269 CALL lim_wri( 1 ) ! Ice outputs 270 IF( kt == nit000 ) CALL iom_close( numrir ) ! clem: close input ice restart file 232 271 IF( lrst_ice ) CALL lim_rst_write( kt ) ! Ice restart file 233 272 CALL lim_var_glo2eqv ! ??? … … 248 287 ! 249 288 CALL wrk_dealloc( jpi,jpj,jpl, zalb_ice_os, zalb_ice_cs ) 289 ! 290 IF( nn_timing == 1 ) CALL timing_stop('sbc_ice_lim') 250 291 ! 251 292 END SUBROUTINE sbc_ice_lim … … 607 648 ! WRITE(numout,*) ' sfx_bri : ', sfx_bri (ki,kj) 608 649 ! WRITE(numout,*) ' sfx : ', sfx (ki,kj) 609 ! WRITE(numout,*) ' fsalt_res : ', fsalt_res(ki,kj)650 ! WRITE(numout,*) ' sfx_res : ', sfx_res(ki,kj) 610 651 WRITE(numout,*) ' fmmec : ', fmmec (ki,kj) 611 652 WRITE(numout,*) ' fhmec : ', fhmec (ki,kj)
Note: See TracChangeset
for help on using the changeset viewer.