Changeset 6358 for branches/UKMO/dev_r5518_coupling_GSI7_GSI8_landice_bc/NEMOGCM/NEMO/OPA_SRC/ICB/icbclv.F90
- Timestamp:
- 2016-03-07T12:34:27+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_coupling_GSI7_GSI8_landice_bc/NEMOGCM/NEMO/OPA_SRC/ICB/icbclv.F90
- Property svn:keywords set to Id
r6357 r6358 25 25 USE icbutl ! iceberg utility routines 26 26 27 USE sbc_oce ! for icesheet freshwater input variables28 USE in_out_manager29 USE iom30 31 27 IMPLICIT NONE 32 28 PRIVATE … … 37 33 !!---------------------------------------------------------------------- 38 34 !! NEMO/OPA 3.3 , NEMO Consortium (2011) 39 !! $Id : icbclv.F90 5215 2015-04-15 16:11:56Z nicolasmartin$35 !! $Id$ 40 36 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 41 37 !!---------------------------------------------------------------------- … … 52 48 ! 53 49 REAL(wp) :: zcalving_used, zdist, zfact 54 REAL(wp) :: zgreenland_calving_sum, zantarctica_calving_sum55 50 INTEGER :: jn, ji, jj ! loop counters 56 51 INTEGER :: imx ! temporary integer for max berg class … … 64 59 zfact = ( (1000._wp)**3 / ( NINT(rday) * nyear_len(1) ) ) * 850._wp 65 60 berg_grid%calving(:,:) = src_calving(:,:) * tmask_i(:,:) * zfact 66 67 IF( lk_oasis) THEN68 ! ln_coupled_iceshelf_fluxes uninitialised unless lk_oasis=true69 IF( ln_coupled_iceshelf_fluxes ) THEN70 71 ! Adjust total calving rates so that sum of iceberg calving and iceshelf melting in the northern72 ! and southern hemispheres equals rate of increase of mass of greenland and antarctic ice sheets73 ! to preserve total freshwater conservation in coupled models without an active ice sheet model.74 75 zgreenland_calving_sum = SUM( berg_grid%calving(:,:) * greenland_icesheet_mask(:,:) )76 IF( lk_mpp ) CALL mpp_sum( zgreenland_calving_sum )77 WHERE( greenland_icesheet_mask(:,:) == 1.0 ) &78 & berg_grid%calving(:,:) = berg_grid%calving(:,:) * greenland_icesheet_mass_rate_of_change * rn_greenland_calving_fraction &79 & / ( zgreenland_calving_sum + 1.0e-10_wp )80 81 ! check82 IF(lwp) WRITE(numout, *) 'Greenland iceberg calving climatology (kg/s) : ',zgreenland_calving_sum83 zgreenland_calving_sum = SUM( berg_grid%calving(:,:) * greenland_icesheet_mask(:,:) )84 IF( lk_mpp ) CALL mpp_sum( zgreenland_calving_sum )85 IF(lwp) WRITE(numout, *) 'Greenland iceberg calving adjusted value (kg/s) : ',zgreenland_calving_sum86 87 zantarctica_calving_sum = SUM( berg_grid%calving(:,:) * antarctica_icesheet_mask(:,:) )88 IF( lk_mpp ) CALL mpp_sum( zantarctica_calving_sum )89 WHERE( antarctica_icesheet_mask(:,:) == 1.0 ) &90 berg_grid%calving(:,:) = berg_grid%calving(:,:) * antarctica_icesheet_mass_rate_of_change * rn_antarctica_calving_fraction &91 & / ( zantarctica_calving_sum + 1.0e-10_wp )92 93 ! check94 IF(lwp) WRITE(numout, *) 'Antarctica iceberg calving climatology (kg/s) : ',zantarctica_calving_sum95 zantarctica_calving_sum = SUM( berg_grid%calving(:,:) * antarctica_icesheet_mask(:,:) )96 IF( lk_mpp ) CALL mpp_sum( zantarctica_calving_sum )97 IF(lwp) WRITE(numout, *) 'Antarctica iceberg calving adjusted value (kg/s) : ',zantarctica_calving_sum98 99 ENDIF100 ENDIF101 102 CALL iom_put( 'berg_calve', berg_grid%calving(:,:) )103 61 104 62 ! Heat in units of W/m2, and mask (just in case)
Note: See TracChangeset
for help on using the changeset viewer.