- Timestamp:
- 2020-02-12T17:57:19+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0_add_pond_lids_prints/src/ICE/icedyn_adv_pra.F90
r10888 r12379 55 55 56 56 SUBROUTINE ice_dyn_adv_pra( kt, pu_ice, pv_ice, & 57 & pato_i, pv_i, pv_s, psv_i, poa_i, pa_i, pa_ip, pv_ip, p e_s, pe_i )57 & pato_i, pv_i, pv_s, psv_i, poa_i, pa_i, pa_ip, pv_ip, plh_ip, pe_s, pe_i ) 58 58 !!---------------------------------------------------------------------- 59 59 !! ** routine ice_dyn_adv_pra ** … … 78 78 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: pa_ip ! melt pond fraction 79 79 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: pv_ip ! melt pond volume 80 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: plh_ip ! melt pond lid thickness 80 81 REAL(wp), DIMENSION(:,:,:,:), INTENT(inout) :: pe_s ! snw heat content 81 82 REAL(wp), DIMENSION(:,:,:,:), INTENT(inout) :: pe_i ! ice heat content … … 87 88 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z0opw 88 89 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z0ice, z0snw, z0ai, z0smi, z0oi 89 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z0ap , z0vp 90 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z0ap , z0vp , z0lhp 90 91 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: z0es 91 92 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: z0ei … … 96 97 ALLOCATE( zarea(jpi,jpj) , z0opw(jpi,jpj, 1 ) , z0ice(jpi,jpj,jpl) , z0snw(jpi,jpj,jpl) , & 97 98 & z0ai(jpi,jpj,jpl) , z0smi(jpi,jpj,jpl) , z0oi (jpi,jpj,jpl) , z0ap (jpi,jpj,jpl) , z0vp(jpi,jpj,jpl) , & 98 & z0 es (jpi,jpj,nlay_s,jpl), z0ei(jpi,jpj,nlay_i,jpl) )99 & z0lhp(jpi,jpj,jpl), z0es (jpi,jpj,nlay_s,jpl), z0ei(jpi,jpj,nlay_i,jpl) ) 99 100 ! 100 101 ! --- If ice drift field is too fast, use an appropriate time step for advection (CFL test for stability) --- ! … … 127 128 z0ap(:,:,jl) = pa_ip(:,:,jl) * e1e2t(:,:) ! Melt pond fraction 128 129 z0vp(:,:,jl) = pv_ip(:,:,jl) * e1e2t(:,:) ! Melt pond volume 130 z0lhp(:,:,jl) = plh_ip(:,:,jl) * e1e2t(:,:) ! Melt pond lid thickness 129 131 ENDIF 130 132 END DO … … 180 182 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0vp (:,:,jl), sxvp (:,:,jl), & 181 183 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 184 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0lhp (:,:,jl), sxvp (:,:,jl), & !--- melt pond lid thickness -- 185 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 186 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0lhp (:,:,jl), sxvp (:,:,jl), & 187 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 182 188 ENDIF 183 189 END DO … … 233 239 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0vp (:,:,jl), sxvp (:,:,jl), & 234 240 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 241 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0lhp (:,:,jl), sxvp (:,:,jl), & !--- melt pond lid thickness --- 242 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 243 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0lhp (:,:,jl), sxvp (:,:,jl), & 244 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 235 245 ENDIF 236 246 END DO … … 257 267 pa_ip (:,:,jl) = z0ap (:,:,jl) * r1_e1e2t(:,:) * tmask(:,:,1) 258 268 pv_ip (:,:,jl) = z0vp (:,:,jl) * r1_e1e2t(:,:) * tmask(:,:,1) 269 plh_ip (:,:,jl) = z0lhp (:,:,jl) * r1_e1e2t(:,:) * tmask(:,:,1) 259 270 ENDIF 260 271 END DO 261 272 ! 262 DEALLOCATE( zarea , z0opw , z0ice, z0snw , z0ai , z0smi , z0oi , z0ap , z0vp , z0 es, z0ei )273 DEALLOCATE( zarea , z0opw , z0ice, z0snw , z0ai , z0smi , z0oi , z0ap , z0vp , z0lhp , z0es, z0ei ) 263 274 ! 264 275 IF( lrst_ice ) CALL adv_pra_rst( 'WRITE', kt ) !* write Prather fields in the restart file
Note: See TracChangeset
for help on using the changeset viewer.