- Timestamp:
- 2018-07-12T17:55:41+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r9838_ENHANCE04_MLF/src/OCE/SBC/sbcisf.F90
r9923 r9937 52 52 LOGICAL, PUBLIC :: l_isfcpl = .false. !: isf recieved from oasis 53 53 54 REAL(wp) , PUBLIC, SAVE :: rcpi= 2000.0_wp !: specific heat of ice shelf [J/kg/K]54 REAL(wp) , SAVE :: rcp_isf = 2000.0_wp !: specific heat of ice shelf [J/kg/K] 55 55 REAL(wp), PUBLIC, SAVE :: rkappa = 1.54e-6_wp !: heat diffusivity through the ice-shelf [m2/s] 56 56 REAL(wp), PUBLIC, SAVE :: rho_isf = 920.0_wp !: volumic mass of ice shelf [kg/m3] 57 57 REAL(wp), PUBLIC, SAVE :: tsurf = -20.0_wp !: air temperature on top of ice shelf [C] 58 REAL(wp), PUBLIC, SAVE :: rlfusisf = 0.334e6_wp !: latent heat of fusion of ice shelf [J/kg]59 58 60 59 !: Variable used in fldread to read the forcing file (nn_isf == 4 .OR. nn_isf == 3) … … 114 113 ! compute fwf and heat flux 115 114 IF( .NOT.l_isfcpl ) THEN ; CALL sbc_isf_cav (kt) 116 ELSE ; qisf(:,:) = fwfisf(:,:) * r lfusisf ! heatflux115 ELSE ; qisf(:,:) = fwfisf(:,:) * rLfus ! heat flux 117 116 ENDIF 118 117 ! … … 127 126 fwfisf(:,:) = - sf_rnfisf(1)%fnow(:,:,1) ! fresh water flux from the isf (fwfisf <0 mean melting) 128 127 ENDIF 129 qisf(:,:) = fwfisf(:,:) * r lfusisf! heat flux128 qisf(:,:) = fwfisf(:,:) * rLfus ! heat flux 130 129 stbl(:,:) = soce 131 130 ! … … 137 136 fwfisf(:,:) = -sf_fwfisf(1)%fnow(:,:,1) ! fwf 138 137 ENDIF 139 qisf(:,:) = fwfisf(:,:) * r lfusisf! heat flux138 qisf(:,:) = fwfisf(:,:) * rLfus ! heat flux 140 139 stbl(:,:) = soce 141 140 ! … … 308 307 qisf (:,:) = 0._wp ; fwfisf (:,:) = 0._wp 309 308 risf_tsc(:,:,:) = 0._wp ; fwfisf_b(:,:) = 0._wp 310 ! 311 ! define isf tbl tickness, top and bottom indice312 SELECT CASE ( nn_isf )309 310 SELECT CASE ( nn_isf ) ! define isf tbl tickness, top and bottom indice 311 ! 313 312 CASE ( 1 ) 314 313 IF(lwp) WRITE(numout,*) … … 455 454 & * r1_e1e2t(ji,jj) * tmask(ji,jj,jk) 456 455 457 fwfisf(ji,jj) = qisf(ji,jj) / rlfusisf !fresh water flux kg/(m2s)456 fwfisf(ji,jj) = qisf(ji,jj) * r1_Lfus ! fresh water flux kg/(m2s) 458 457 fwfisf(ji,jj) = fwfisf(ji,jj) * ( soce / stbl(ji,jj) ) 459 458 !add to salinity trend … … 527 526 DO ji = 1, jpi 528 527 zhtflx(ji,jj) = zgammat(ji,jj)*rcp*rho0*(ttbl(ji,jj)-zfrz(ji,jj)) 529 zfwflx(ji,jj) = - zhtflx(ji,jj) /rlfusisf528 zfwflx(ji,jj) = - zhtflx(ji,jj) * r1_Lfus 530 529 END DO 531 530 END DO … … 545 544 ! compute coeficient to solve the 2nd order equation 546 545 zeps1 = rcp*rho0*zgammat(ji,jj) 547 zeps2 = r lfusisf*rho0*zgammas(ji,jj)548 zeps3 = rho_isf*rcp i*rkappa/MAX(risfdep(ji,jj),zeps)546 zeps2 = rLfus*rho0*zgammas(ji,jj) 547 zeps3 = rho_isf*rcp_isf*rkappa/MAX(risfdep(ji,jj),zeps) 549 548 zeps4 = zlamb2+zlamb3*risfdep(ji,jj) 550 549 zeps6 = zeps4-ttbl(ji,jj)
Note: See TracChangeset
for help on using the changeset viewer.