Changeset 5123 for trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
- Timestamp:
- 2015-03-04T17:06:03+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
r5020 r5123 25 25 USE par_oce ! ocean parameters 26 26 USE phycst ! physical constants 27 USE par_ice ! ice parameters28 27 USE dom_oce ! ocean domain 29 USE dom_ice, ONLY : tms, area30 28 USE ice ! LIM sea-ice variables 31 29 USE sbc_ice ! Surface boundary condition: sea-ice fields … … 40 38 USE prtctl ! Print control 41 39 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 42 USE traqsr ! clem: add penetration of solar flux intothe calculation of heat budget40 USE traqsr ! add penetration of solar flux in the calculation of heat budget 43 41 USE iom 44 42 USE domvvl ! Variable volume 43 USE limctl 45 44 46 45 IMPLICIT NONE 47 46 PRIVATE 48 47 49 PUBLIC lim_sbc_init ! called by ice_init48 PUBLIC lim_sbc_init ! called by sbc_lim_init 50 49 PUBLIC lim_sbc_flx ! called by sbc_ice_lim 51 50 PUBLIC lim_sbc_tau ! called by sbc_ice_lim … … 99 98 !! Tartinville et al. 2001 Ocean Modelling, 3, 95-108. 100 99 !! These refs are now obsolete since everything has been revised 101 !! The ref should be Rousset et al., 2015 ?100 !! The ref should be Rousset et al., 2015 102 101 !!--------------------------------------------------------------------- 103 102 INTEGER, INTENT(in) :: kt ! number of iteration 104 !105 103 INTEGER :: ji, jj, jl, jk ! dummy loop indices 106 ! 107 REAL(wp) :: zemp ! local scalars 104 REAL(wp) :: zemp ! local scalars 108 105 REAL(wp) :: zf_mass ! Heat flux associated with mass exchange ice->ocean (W.m-2) 109 106 REAL(wp) :: zfcm1 ! New solar flux received by the ocean … … 172 169 zemp = emp(ji,jj) * pfrld(ji,jj) & ! evaporation over oceanic fraction 173 170 & - tprecip(ji,jj) * ( 1._wp - pfrld(ji,jj) ) & ! all precipitation reach the ocean 174 & + sprecip(ji,jj) * ( 1._wp - pfrld(ji,jj)** betas ) ! except solid precip intercepted by sea-ice171 & + sprecip(ji,jj) * ( 1._wp - pfrld(ji,jj)**rn_betas ) ! except solid precip intercepted by sea-ice 175 172 ENDIF 176 173 … … 199 196 snwice_mass_b(:,:) = snwice_mass(:,:) 200 197 ! new mass per unit area 201 snwice_mass (:,:) = tm s(:,:) * ( rhosn * vt_s(:,:) + rhoic * vt_i(:,:) )198 snwice_mass (:,:) = tmask(:,:,1) * ( rhosn * vt_s(:,:) + rhoic * vt_i(:,:) ) 202 199 ! time evolution of snow+ice mass 203 200 snwice_fmass (:,:) = ( snwice_mass(:,:) - snwice_mass_b(:,:) ) * r1_rdtice … … 225 222 ENDIF 226 223 224 IF( ln_nicep ) CALL lim_prt( kt, jiindx, jjindx, 3, ' - Final state lim_sbc - ' ) ! control print 227 225 228 226 IF(ln_ctl) THEN … … 270 268 ! 271 269 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN !== Ice time-step only ==! (i.e. surface module time-step) 272 !CDIR NOVERRCHK273 270 DO jj = 2, jpjm1 !* update the modulus of stress at ocean surface (T-point) 274 !CDIR NOVERRCHK275 271 DO ji = fs_2, fs_jpim1 276 272 ! ! 2*(U_ice-U_oce) at T-point … … 322 318 !! ** input : Namelist namicedia 323 319 !!------------------------------------------------------------------- 324 REAL(wp) :: zsum, zarea325 !326 320 INTEGER :: ji, jj, jk ! dummy loop indices 327 321 REAL(wp) :: zcoefu, zcoefv, zcoeff ! local scalar … … 343 337 END WHERE 344 338 ENDIF 345 ! clem modif339 346 340 IF( .NOT. ln_rstart ) THEN 347 341 fraqsr_1lev(:,:) = 1._wp 348 342 ENDIF 349 343 ! 350 ! clem: snwice_mass in the restart file now351 344 IF( .NOT. ln_rstart ) THEN 352 345 ! ! embedded sea ice 353 346 IF( nn_ice_embd /= 0 ) THEN ! mass exchanges between ice and ocean (case 1 or 2) set the snow+ice mass 354 snwice_mass (:,:) = tm s(:,:) * ( rhosn * vt_s(:,:) + rhoic * vt_i(:,:) )347 snwice_mass (:,:) = tmask(:,:,1) * ( rhosn * vt_s(:,:) + rhoic * vt_i(:,:) ) 355 348 snwice_mass_b(:,:) = snwice_mass(:,:) 356 349 ELSE
Note: See TracChangeset
for help on using the changeset viewer.