- Timestamp:
- 2020-09-29T12:41:06+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/r12377_ticket2386
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/r12377_ticket2386
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEADext/AGRIF5 ^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 8 9 9 # SETTE 10 ^/utils/CI/sette@ HEADsette10 ^/utils/CI/sette@13507 sette
-
- Property svn:externals
-
NEMO/branches/2020/r12377_ticket2386/src/ICE/iceupdate.F90
r12511 r13540 25 25 USE icectl ! sea-ice: control prints 26 26 USE bdy_oce , ONLY : ln_bdy 27 USE zdfdrg , ONLY : ln_drgice_imp 27 28 ! 28 29 USE in_out_manager ! I/O manager … … 93 94 REAL(wp) :: zqmass ! Heat flux associated with mass exchange ice->ocean (W.m-2) 94 95 REAL(wp) :: zqsr ! New solar flux received by the ocean 95 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D workspace 96 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zalb_cs, zalb_os ! 3D workspace 96 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D workspace 97 97 !!--------------------------------------------------------------------- 98 98 IF( ln_timing ) CALL timing_start('ice_update') … … 113 113 ENDIF 114 114 115 DO_2D _11_11115 DO_2D( 1, 1, 1, 1 ) 116 116 117 117 ! Solar heat flux reaching the ocean = zqsr (W.m-2) … … 182 182 ! Snow/ice albedo (only if sent to coupler, useless in forced mode) 183 183 !------------------------------------------------------------------ 184 CALL ice_alb( t_su, h_i, h_s, ln_pnd_alb, a_ip_frac, h_ip, zalb_cs, zalb_os ) ! cloud-sky and overcast-sky ice albedos 185 ! 186 alb_ice(:,:,:) = ( 1._wp - cldf_ice ) * zalb_cs(:,:,:) + cldf_ice * zalb_os(:,:,:) 184 CALL ice_alb( t_su, h_i, h_s, ln_pnd_alb, a_ip_eff, h_ip, cloud_fra, alb_ice ) ! ice albedo 185 187 186 ! 188 187 IF( lrst_ice ) THEN !* write snwice_mass fields in the restart file … … 320 319 REAL(wp) :: zat_u, zutau_ice, zu_t, zmodt ! local scalar 321 320 REAL(wp) :: zat_v, zvtau_ice, zv_t, zrhoco ! - - 321 REAL(wp) :: zflagi ! - - 322 322 !!--------------------------------------------------------------------- 323 323 IF( ln_timing ) CALL timing_start('ice_update_tau') … … 332 332 ! 333 333 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN !== Ice time-step only ==! (i.e. surface module time-step) 334 DO_2D _00_00334 DO_2D( 0, 0, 0, 0 ) !* update the modulus of stress at ocean surface (T-point) 335 335 ! ! 2*(U_ice-U_oce) at T-point 336 336 zu_t = u_ice(ji,jj) + u_ice(ji-1,jj) - u_oce(ji,jj) - u_oce(ji-1,jj) … … 342 342 tmod_io(ji,jj) = zrhoco * SQRT( zmodt ) ! rhoco * |U_ice-U_oce| at T-point 343 343 END_2D 344 CALL lbc_lnk_multi( 'iceupdate', taum, 'T', 1. , tmod_io, 'T', 1.)344 CALL lbc_lnk_multi( 'iceupdate', taum, 'T', 1.0_wp, tmod_io, 'T', 1.0_wp ) 345 345 ! 346 346 utau_oce(:,:) = utau(:,:) !* save the air-ocean stresses at ice time-step … … 350 350 ! 351 351 ! !== every ocean time-step ==! 352 ! 353 DO_2D_00_00 352 IF ( ln_drgice_imp ) THEN 353 ! Save drag with right sign to update top drag in the ocean implicit friction 354 rCdU_ice(:,:) = -r1_rho0 * tmod_io(:,:) * at_i(:,:) * tmask(:,:,1) 355 zflagi = 0._wp 356 ELSE 357 zflagi = 1._wp 358 ENDIF 359 ! 360 DO_2D( 0, 0, 0, 0 ) !* update the stress WITHOUT an ice-ocean rotation angle 354 361 ! ice area at u and v-points 355 362 zat_u = ( at_i(ji,jj) * tmask(ji,jj,1) + at_i (ji+1,jj ) * tmask(ji+1,jj ,1) ) & … … 364 371 vtau(ji,jj) = ( 1._wp - zat_v ) * vtau_oce(ji,jj) + zat_v * zvtau_ice 365 372 END_2D 366 CALL lbc_lnk_multi( 'iceupdate', utau, 'U', -1. , vtau, 'V', -1.) ! lateral boundary condition373 CALL lbc_lnk_multi( 'iceupdate', utau, 'U', -1.0_wp, vtau, 'V', -1.0_wp ) ! lateral boundary condition 367 374 ! 368 375 IF( ln_timing ) CALL timing_stop('ice_update_tau') … … 417 424 ! 418 425 IF( id1 > 0 ) THEN ! fields exist 419 CALL iom_get( numrir, jpdom_auto glo, 'snwice_mass' , snwice_mass )420 CALL iom_get( numrir, jpdom_auto glo, 'snwice_mass_b', snwice_mass_b )426 CALL iom_get( numrir, jpdom_auto, 'snwice_mass' , snwice_mass ) 427 CALL iom_get( numrir, jpdom_auto, 'snwice_mass_b', snwice_mass_b ) 421 428 ELSE ! start from rest 422 429 IF(lwp) WRITE(numout,*) ' ==>> previous run without snow-ice mass output then set it'
Note: See TracChangeset
for help on using the changeset viewer.