- Timestamp:
- 2012-04-30T12:50:36+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3337_NOCS10_ICB/NEMOGCM/NEMO/OPA_SRC/ICB/icbclv.F90
r3370 r3372 12 12 !!---------------------------------------------------------------------- 13 13 !!---------------------------------------------------------------------- 14 !! accumulate_calving :15 !! icb_ gen : generate test icebergs14 !! icb_clv_flx : transfer input flux of ice into iceberg classes 15 !! icb_clv : calve icebergs from stored ice 16 16 !!---------------------------------------------------------------------- 17 17 USE par_oce ! NEMO parameters … … 28 28 PRIVATE 29 29 30 PUBLIC accumulate_calving! routine called in icbrun.F90 module31 PUBLIC calve_icebergs! routine called in icbrun.F90 module30 PUBLIC icb_clv_flx ! routine called in icbrun.F90 module 31 PUBLIC icb_clv ! routine called in icbrun.F90 module 32 32 33 33 !!---------------------------------------------------------------------- … … 38 38 CONTAINS 39 39 40 SUBROUTINE accumulate_calving( kt )40 SUBROUTINE icb_clv_flx( kt ) 41 41 !!---------------------------------------------------------------------- 42 !! *** ROUTINE accumulate_calving***42 !! *** ROUTINE icb_clv_flx *** 43 43 !! 44 44 !! ** Purpose : ? … … 95 95 berg_grid%tmp(:,:) = berg_dt * berg_grid%calving_hflx(:,:) * e1e2t(:,:) * tmask_i(:,:) 96 96 berg_grid%stored_heat (:,:) = berg_grid%stored_heat (:,:) + berg_grid%tmp(:,:) 97 CALL i ncoming_budget( kt, zcalving_used, berg_grid%tmp )97 CALL icb_dia_income( kt, zcalving_used, berg_grid%tmp ) 98 98 ! 99 END SUBROUTINE accumulate_calving99 END SUBROUTINE icb_clv_flx 100 100 101 SUBROUTINE calve_icebergs()101 SUBROUTINE icb_clv() 102 102 !!---------------------------------------------------------------------- 103 !! *** ROUTINE calve_icebergs***103 !! *** ROUTINE icb_clv *** 104 104 !! 105 !! ** Purpose : This seems to be the routine thattakes a stored ice field and calves to the ocean,106 !! so I assume thatthe gridded array stored_ice has only non-zero entries at selected105 !! ** Purpose : This routine takes a stored ice field and calves to the ocean, 106 !! so the gridded array stored_ice has only non-zero entries at selected 107 107 !! wet points adjacent to known land based calving points 108 108 !! 109 109 !! ** method : - Look at each grid point and see if there's enough for each size class to calve 110 110 !! If there is, a new iceberg is calved. This happens in the order determined by 111 !! the class definition arrays ( largest first?)111 !! the class definition arrays (which in the default case is smallest first) 112 112 !! Note that only the non-overlapping part of the processor where icebergs are allowed 113 113 !! is considered … … 150 150 newpt%heat_density = berg_grid%stored_heat(ji,jj) / berg_grid%stored_ice(ji,jj,jn) ! This is in J/kg 151 151 ! 152 CALL i ncrement_kounter()152 CALL icb_utl_incr() 153 153 newberg%number(:) = num_bergs(:) 154 154 ! 155 CALL add_new_berg_to_list( newberg, newpt )155 CALL icb_utl_add( newberg, newpt ) 156 156 ! 157 157 zcalved_to_berg = rn_initial_mass(jn) * rn_mass_scaling(jn) ! Units of kg … … 165 165 icnt = icnt + 1 166 166 ! 167 CALL calving_budget(ji, jj, jn, zcalved_to_berg, zheat_to_berg )167 CALL icb_dia_calve(ji, jj, jn, zcalved_to_berg, zheat_to_berg ) 168 168 END DO 169 169 icntmax = MAX( icntmax, icnt ) … … 177 177 CALL lbc_lnk( berg_grid%stored_heat, 'T', 1._wp ) 178 178 ! 179 IF( nn_verbose_level > 0 .AND. icntmax > 1 ) WRITE(numicb,*) ' calve_icebergs: icnt=', icnt,' on', narea179 IF( nn_verbose_level > 0 .AND. icntmax > 1 ) WRITE(numicb,*) 'icb_clv: icnt=', icnt,' on', narea 180 180 ! 181 END SUBROUTINE calve_icebergs181 END SUBROUTINE icb_clv 182 182 183 183 !!======================================================================
Note: See TracChangeset
for help on using the changeset viewer.