- Timestamp:
- 2012-04-30T10:27:44+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
r3359 r3370 3 3 !!====================================================================== 4 4 !! *** MODULE icbclv *** 5 !! Ocean physics: calving routines for iceberg calving5 !! Icebergs: calving routines for iceberg calving 6 6 !!====================================================================== 7 7 !! History : 3.3.1 ! 2010-01 (Martin&Adcroft) Original code … … 12 12 !!---------------------------------------------------------------------- 13 13 !!---------------------------------------------------------------------- 14 !! accumulate_calving 15 !! icb_gen : generate test icebergs14 !! accumulate_calving : 15 !! icb_gen : generate test icebergs 16 16 !!---------------------------------------------------------------------- 17 17 USE par_oce ! NEMO parameters … … 21 21 USE lbclnk ! NEMO boundary exchanges for gridded data 22 22 23 USE icb_oce ! define iceberg arrays24 USE icbdia ! iceberg utility routines23 USE icb_oce ! iceberg variables 24 USE icbdia ! iceberg diagnostics 25 25 USE icbutl ! iceberg utility routines 26 26 … … 31 31 PUBLIC calve_icebergs ! routine called in icbrun.F90 module 32 32 33 !!---------------------------------------------------------------------- 34 !! NEMO/OPA 3.3 , NEMO Consortium (2011) 35 !! $Id:$ 36 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 37 !!---------------------------------------------------------------------- 33 38 CONTAINS 34 39 … … 41 46 !! ** input : - ? 42 47 !!---------------------------------------------------------------------- 43 !44 48 INTEGER, INTENT(in) :: kt 45 49 ! … … 63 67 !do jn=1, nclasses 64 68 ! where (berg_grid%calving==0.) berg_grid%stored_ice(:,:,jn)=0. 65 !end do69 !end do 66 70 DO jj = 2, jpjm1 67 71 DO ji = 2, jpim1 … … 109 113 !! is considered 110 114 !!---------------------------------------------------------------------- 115 INTEGER :: ji, jj, jn ! dummy loop indices 116 INTEGER :: icnt, icntmax 117 TYPE(iceberg) :: newberg 118 TYPE(point) :: newpt 119 REAL(wp) :: zddt, zcalved_to_berg, zheat_to_berg 120 !!---------------------------------------------------------------------- 111 121 ! 112 INTEGER :: icnt,icntmax 113 TYPE(iceberg) :: newberg 114 TYPE(point) :: newpt 115 INTEGER :: ji, jj, jn ! dummy loop indices 116 REAL(wp) :: zddt, zcalved_to_berg, zheat_to_berg 117 !!---------------------------------------------------------------------- 118 119 icntmax = 0 120 122 icntmax = 0 123 ! 121 124 DO jn = 1, nclasses 122 125 DO jj = nicbdj, nicbej … … 128 131 DO WHILE (berg_grid%stored_ice(ji,jj,jn) >= rn_initial_mass(jn) * rn_mass_scaling(jn) ) 129 132 ! 130 newpt%lon = glamt(ji,jj) ! at t-point (centre of the cell)133 newpt%lon = glamt(ji,jj) ! at t-point (centre of the cell) 131 134 newpt%lat = gphit(ji,jj) 132 135 newpt%xi = REAL( nimpp+ji-1, wp ) 133 136 newpt%yj = REAL( njmpp+jj-1, wp ) 134 137 ! 135 newpt%uvel = 0._wp ! initially at rest138 newpt%uvel = 0._wp ! initially at rest 136 139 newpt%vvel = 0._wp 137 140 ! ! set berg characteristics 138 newpt%mass = rn_initial_mass (jn)139 newpt%thickness = rn_initial_thickness(jn)140 newpt%width = first_width(jn)141 newpt%length = first_length(jn)141 newpt%mass = rn_initial_mass (jn) 142 newpt%thickness = rn_initial_thickness(jn) 143 newpt%width = first_width (jn) 144 newpt%length = first_length (jn) 142 145 newberg%mass_scaling = rn_mass_scaling (jn) 143 newpt%mass_of_bits = 0._wp ! no bergy146 newpt%mass_of_bits = 0._wp ! no bergy 144 147 ! 145 148 newpt%year = current_year … … 157 160 berg_grid%stored_heat(ji,jj) = berg_grid%stored_heat(ji,jj) - zheat_to_berg 158 161 ! ! Stored mass 159 berg_grid%stored_ice(ji,jj,jn) 162 berg_grid%stored_ice(ji,jj,jn) = berg_grid%stored_ice(ji,jj,jn) - zcalved_to_berg 160 163 ! 161 164 zddt = zddt + berg_dt * 2._wp / 17._wp ! Minor offset to start day !!gm why??? … … 171 174 DO jn = 1,nclasses 172 175 CALL lbc_lnk( berg_grid%stored_ice(:,:,jn), 'T', 1._wp ) 173 END DO176 END DO 174 177 CALL lbc_lnk( berg_grid%stored_heat, 'T', 1._wp ) 175 178 ! … … 178 181 END SUBROUTINE calve_icebergs 179 182 183 !!====================================================================== 180 184 END MODULE icbclv
Note: See TracChangeset
for help on using the changeset viewer.