- Timestamp:
- 2018-07-30T12:24:36+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/dev_r9950_GO6_mixing/src/OCE/ICB/icbdia.F90
r9950 r10013 51 51 52 52 REAL(wp), DIMENSION(:,:) , ALLOCATABLE, PUBLIC :: berg_melt ! Melting+erosion rate of icebergs [kg/s/m2] 53 REAL(wp), DIMENSION(:,:) , ALLOCATABLE, PUBLIC :: berg_melt_hcflx ! Heat flux to ocean due to heat content of melting icebergs [J/s/m2] 54 REAL(wp), DIMENSION(:,:) , ALLOCATABLE, PUBLIC :: berg_melt_qlat ! Heat flux to ocean due to latent heat of melting icebergs [J/s/m2] 53 55 REAL(wp), DIMENSION(:,:) , ALLOCATABLE, PUBLIC :: buoy_melt ! Buoyancy component of melting rate [kg/s/m2] 54 56 REAL(wp), DIMENSION(:,:) , ALLOCATABLE, PUBLIC :: eros_melt ! Erosion component of melting rate [kg/s/m2] … … 101 103 102 104 ALLOCATE( berg_melt (jpi,jpj) ) ; berg_melt (:,:) = 0._wp 105 ALLOCATE( berg_melt_hcflx(jpi,jpj) ) ; berg_melt_hcflx(:,:) = 0._wp 106 ALLOCATE( berg_melt_qlat(jpi,jpj) ) ; berg_melt_qlat(:,:) = 0._wp 103 107 ALLOCATE( buoy_melt (jpi,jpj) ) ; buoy_melt (:,:) = 0._wp 104 108 ALLOCATE( eros_melt (jpi,jpj) ) ; eros_melt (:,:) = 0._wp … … 364 368 IF( .NOT.ln_bergdia ) RETURN 365 369 berg_melt (:,:) = 0._wp 370 berg_melt_hcflx(:,:) = 0._wp 371 berg_melt_qlat(:,:) = 0._wp 366 372 buoy_melt (:,:) = 0._wp 367 373 eros_melt (:,:) = 0._wp … … 384 390 ! 385 391 CALL iom_put( "berg_melt" , berg_melt (:,:) ) ! Melt rate of icebergs [kg/m2/s] 392 !! NB. The berg_melt_hcflx field is currently always zero - see comment in icbthm.F90 393 CALL iom_put( "berg_melt_hcflx" , berg_melt_hcflx(:,:)) ! Heat flux to ocean due to heat content of melting icebergs [J/m2/s] 394 CALL iom_put( "berg_melt_qlat" , berg_melt_qlat(:,:) ) ! Heat flux to ocean due to latent heat of melting icebergs [J/m2/s] 386 395 CALL iom_put( "berg_buoy_melt" , buoy_melt (:,:) ) ! Buoyancy component of iceberg melt rate [kg/m2/s] 387 396 CALL iom_put( "berg_eros_melt" , eros_melt (:,:) ) ! Erosion component of iceberg melt rate [kg/m2/s] … … 471 480 472 481 473 SUBROUTINE icb_dia_melt(ki, kj, pmnew, pheat , pmass_scale, &482 SUBROUTINE icb_dia_melt(ki, kj, pmnew, pheat_hcflux, pheat_latent, pmass_scale, & 474 483 & pdM, pdMbitsE, pdMbitsM, pdMb, pdMe, & 475 484 & pdMv, pz1_dt_e1e2 ) … … 477 486 !!---------------------------------------------------------------------- 478 487 INTEGER , INTENT(in) :: ki, kj 479 REAL(wp), INTENT(in) :: pmnew, pheat , pmass_scale488 REAL(wp), INTENT(in) :: pmnew, pheat_hcflux, pheat_latent, pmass_scale 480 489 REAL(wp), INTENT(in) :: pdM, pdMbitsE, pdMbitsM, pdMb, pdMe, pdMv, pz1_dt_e1e2 481 490 !!---------------------------------------------------------------------- … … 484 493 ! 485 494 berg_melt (ki,kj) = berg_melt (ki,kj) + pdM * pz1_dt_e1e2 ! kg/m2/s 495 berg_melt_hcflx (ki,kj) = berg_melt_hcflx (ki,kj) + pheat_hcflux * pz1_dt_e1e2 ! J/m2/s 496 berg_melt_qlat (ki,kj) = berg_melt_qlat (ki,kj) + pheat_latent * pz1_dt_e1e2 ! J/m2/s 486 497 bits_src (ki,kj) = bits_src (ki,kj) + pdMbitsE * pz1_dt_e1e2 ! mass flux into bergy bitskg/m2/s 487 498 bits_melt (ki,kj) = bits_melt (ki,kj) + pdMbitsM * pz1_dt_e1e2 ! melt rate of bergy bits kg/m2/s … … 489 500 eros_melt (ki,kj) = eros_melt (ki,kj) + pdMe * pz1_dt_e1e2 ! erosion rate kg/m2/s 490 501 conv_melt (ki,kj) = conv_melt (ki,kj) + pdMv * pz1_dt_e1e2 ! kg/m2/s 491 heat_to_ocean_net = heat_to_ocean_net + pheat* pmass_scale * berg_dt ! J502 heat_to_ocean_net = heat_to_ocean_net + (pheat_hcflux + pheat_latent) * pmass_scale * berg_dt ! J 492 503 IF( pmnew <= 0._wp ) nbergs_melted = nbergs_melted + 1 ! Delete the berg if completely melted 493 504 !
Note: See TracChangeset
for help on using the changeset viewer.