- Timestamp:
- 2017-05-24T10:02:23+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6859_LIM3_meltponds/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90
r7319 r8061 79 79 ! With melt ponds, we have to diffuse them 80 80 ! We hard code the number of variables to diffuse 81 ! since we can't put an IF ( ln_limMP) for a declaration81 ! since we can't put an IF ( nn_pnd_scheme ) for a declaration 82 82 ! ideally, the ihdf_vars should probably be passed as an argument and 83 ! defined somewhere depending on ln_limMP83 ! defined somewhere depending on nn_pnd_scheme 84 84 ! END MV MP 2016 85 85 INTEGER , PARAMETER :: ihdf_vars = 8 ! Number of variables in which we apply horizontal diffusion … … 217 217 CALL lim_adv_umx( kt, zdt, zudy, zvdx, zcu_box, zcv_box, e_s(:,:,1,jl) ) ! Snow heat content 218 218 ! MV MP 2016 219 IF ( ln_limMP) THEN219 IF ( nn_pnd_scheme > 0 ) THEN 220 220 CALL lim_adv_umx( kt, zdt, zudy, zvdx, zcu_box, zcv_box, a_ip(:,:,jl) ) ! Melt pond fraction 221 221 CALL lim_adv_umx( kt, zdt, zudy, zvdx, zcu_box, zcv_box, v_ip(:,:,jl) ) ! Melt pond volume … … 265 265 END DO 266 266 ! MV MP 2016 267 IF ( ln_limMP) THEN267 IF ( nn_pnd_scheme > 0 ) THEN 268 268 z0ap (:,:,jl) = a_ip (:,:,jl) * e12t(:,:) ! Melt pond fraction 269 269 z0vp (:,:,jl) = v_ip (:,:,jl) * e12t(:,:) ! Melt pond volume … … 365 365 END DO 366 366 ! MV MP 2016 367 IF ( ln_limMP) THEN367 IF ( nn_pnd_scheme > 0 ) THEN 368 368 CALL lim_adv_y( zusnit, v_ice, 1._wp, zarea, z0ap (:,:,jl), sxap (:,:,jl), & !--- melt pond fraction --- 369 369 & sxxap (:,:,jl), syap (:,:,jl), syyap (:,:,jl), sxyap (:,:,jl) ) … … 395 395 END DO 396 396 ! MV MP 2016 397 IF ( ln_limMP) THEN397 IF ( nn_pnd_scheme > 0 ) THEN 398 398 a_ip (:,:,jl) = z0ap (:,:,jl) * r1_e12t(:,:) 399 399 v_ip (:,:,jl) = z0vp (:,:,jl) * r1_e12t(:,:) … … 442 442 zhdfptab(:,:,jm)= e_s (:,:,1,jl); jm = jm + 1 443 443 ! MV MP 2016 444 IF ( ln_limMP) THEN444 IF ( nn_pnd_scheme > 0 ) THEN 445 445 zhdfptab(:,:,jm)= a_ip (:,:, jl); jm = jm + 1 446 446 zhdfptab(:,:,jm)= v_ip (:,:, jl); jm = jm + 1 … … 481 481 e_s (:,:,1,jl) = zhdfptab(:,:,jm); jm = jm + 1 482 482 ! MV MP 2016 483 IF ( ln_limMP) THEN483 IF ( nn_pnd_scheme > 0 ) THEN 484 484 a_ip (:,:, jl) = zhdfptab(:,:,jm); jm = jm + 1 485 485 v_ip (:,:, jl) = zhdfptab(:,:,jm); jm = jm + 1 … … 539 539 540 540 ! MV MP 2016 541 IF ( ln_limMP) THEN541 IF ( nn_pnd_scheme > 0 ) THEN 542 542 a_ip (ji,jj,jl) = rswitch * a_ip (ji,jj,jl) 543 543 v_ip (ji,jj,jl) = rswitch * v_ip (ji,jj,jl) … … 563 563 a_i (ji,jj,jpl) = v_i(ji,jj,jpl) / MAX( ht_i(ji,jj,jpl) , epsi20 ) * rswitch 564 564 ! MV MP 2016 565 IF ( ln_limMP) THEN565 IF ( nn_pnd_scheme > 0 ) THEN 566 566 ! correct pond fraction to avoid a_ip > a_i 567 567 a_ip(ji,jj,jpl) = a_ip(ji,jj,jpl) * a_i(ji,jj,jpl) / MAX( za_old , epsi20 ) * rswitch … … 598 598 599 599 ! MV MP 2016 (remove once we get rid of a_i_frac and ht_i) 600 IF ( ln_limMP) THEN600 IF ( nn_pnd_scheme > 0 ) THEN 601 601 at_ip(:,:) = SUM( a_ip(:,:,:), dim = 3 ) 602 602 vt_ip(:,:) = SUM( v_ip(:,:,:), dim = 3 )
Note: See TracChangeset
for help on using the changeset viewer.