Changeset 10696
- Timestamp:
- 2019-02-19T13:22:48+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/fix_ticket2238_solution1/src/OCE/ICB
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/fix_ticket2238_solution1/src/OCE/ICB/icb_oce.F90
r10425 r10696 86 86 ! particularly for MPP when iceberg can lie inside T grid but outside U, V, or f grid 87 87 REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE :: uo_e, vo_e 88 REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE :: ff_e, tt_e, fr_e, hi cth88 REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE :: ff_e, tt_e, fr_e, hi_e 89 89 REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE :: ua_e, va_e 90 90 REAL(wp), PUBLIC, DIMENSION(:,:), ALLOCATABLE :: ssh_e … … 177 177 & ff_e(0:jpi+1,0:jpj+1) , fr_e(0:jpi+1,0:jpj+1) , & 178 178 & tt_e(0:jpi+1,0:jpj+1) , ssh_e(0:jpi+1,0:jpj+1) , & 179 & hi cth(0:jpi+1,0:jpj+1), &179 & hi_e(0:jpi+1,0:jpj+1) , & 180 180 & first_width(nclasses) , first_length(nclasses) , & 181 181 & src_calving (jpi,jpj) , & -
NEMO/branches/2019/fix_ticket2238_solution1/src/OCE/ICB/icbini.F90
r10570 r10696 74 74 ! ! allocate gridded fields 75 75 IF( icb_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'icb_alloc : unable to allocate arrays' ) 76 76 ! 77 ! ! initialised variable with extra haloes to zero 78 uo_e(:,:) = 0._wp ; vo_e(:,:) = 0._wp ; 79 ua_e(:,:) = 0._wp ; va_e(:,:) = 0._wp ; 80 ff_e(:,:) = 0._wp ; tt_e(:,:) = 0._wp ; 81 fr_e(:,:) = 0._wp ; hi_e(:,:) = 0._wp ; 82 ui_e(:,:) = 0._wp ; vi_e(:,:) = 0._wp ; 83 ssh_e(:,:) = 0._wp ; 84 ! 77 85 ! ! open ascii output file or files for iceberg status information 78 86 ! ! note that we choose to do this on all processors since we cannot -
NEMO/branches/2019/fix_ticket2238_solution1/src/OCE/ICB/icbutl.F90
r10695 r10696 70 70 ! and ssh which is used to calculate gradients 71 71 72 uo_e( :,:) = 0._wp ; uo_e(1:jpi,1:jpj) = ssu_m(:,:) * umask(:,:,1)73 vo_e( :,:) = 0._wp ; vo_e(1:jpi,1:jpj) = ssv_m(:,:) * vmask(:,:,1)74 ff_e( :,:) = 0._wp ; ff_e(1:jpi,1:jpj) = ff_f (:,:)75 tt_e( :,:) = 0._wp ; tt_e(1:jpi,1:jpj) = sst_m(:,:)76 fr_e( :,:) = 0._wp ; fr_e(1:jpi,1:jpj) = fr_i (:,:)77 ua_e( :,:) = 0._wp ; ua_e(1:jpi,1:jpj) = utau (:,:) * umask(:,:,1) ! maybe mask useless because mask applied in sbcblk78 va_e( :,:) = 0._wp ; va_e(1:jpi,1:jpj) = vtau (:,:) * vmask(:,:,1) ! maybe mask useless because mask applied in sbcblk72 uo_e(1:jpi,1:jpj) = ssu_m(:,:) * umask(:,:,1) 73 vo_e(1:jpi,1:jpj) = ssv_m(:,:) * vmask(:,:,1) 74 ff_e(1:jpi,1:jpj) = ff_f (:,:) 75 tt_e(1:jpi,1:jpj) = sst_m(:,:) 76 fr_e(1:jpi,1:jpj) = fr_i (:,:) 77 ua_e(1:jpi,1:jpj) = utau (:,:) * umask(:,:,1) ! maybe mask useless because mask applied in sbcblk 78 va_e(1:jpi,1:jpj) = vtau (:,:) * vmask(:,:,1) ! maybe mask useless because mask applied in sbcblk 79 79 ! 80 80 CALL lbc_lnk_icb( 'icbutl', uo_e, 'U', -1._wp, 1, 1 ) … … 86 86 CALL lbc_lnk_icb( 'icbutl', tt_e, 'T', +1._wp, 1, 1 ) 87 87 #if defined key_si3 88 hi cth(:,:) = 0._wp ; hicth(1:jpi,1:jpj) = hm_i (:,:)89 ui_e( :,:) = 0._wp ; ui_e(1:jpi, 1:jpj) = u_ice(:,:)90 vi_e( :,:) = 0._wp ; vi_e(1:jpi, 1:jpj) = v_ice(:,:)88 hi_e(1:jpi, 1:jpj) = hm_i (:,:) 89 ui_e(1:jpi, 1:jpj) = u_ice(:,:) 90 vi_e(1:jpi, 1:jpj) = v_ice(:,:) 91 91 ! 92 92 ! compute ssh slope using ssh_lead if embedded 93 93 zssh_lead_m(:,:) = ice_var_sshdyn(ssh_m, snwice_mass, snwice_mass_b) 94 ssh_e( :,:) = 0._wp ; ssh_e(1:jpi, 1:jpj) = zssh_lead_m(:,:) * tmask(:,:,1)95 ! 96 CALL lbc_lnk_icb( 'icbutl', hi cth, 'T', +1._wp, 1, 1 )94 ssh_e(1:jpi, 1:jpj) = zssh_lead_m(:,:) * tmask(:,:,1) 95 ! 96 CALL lbc_lnk_icb( 'icbutl', hi_e , 'T', +1._wp, 1, 1 ) 97 97 CALL lbc_lnk_icb( 'icbutl', ui_e , 'U', -1._wp, 1, 1 ) 98 98 CALL lbc_lnk_icb( 'icbutl', vi_e , 'V', -1._wp, 1, 1 ) 99 99 #else 100 ssh_e( :,:) = 0._wp ; ssh_e(1:jpi, 1:jpj) = ssh_m(:,:) * tmask(:,:,1)100 ssh_e(1:jpi, 1:jpj) = ssh_m(:,:) * tmask(:,:,1) 101 101 #endif 102 102 CALL lbc_lnk_icb( 'icbutl', ssh_e, 'T', +1._wp, 1, 1 ) … … 150 150 pui = icb_utl_bilin_h( ui_e , pi, pj, 'U' ) ! sea-ice velocities 151 151 pvi = icb_utl_bilin_h( vi_e , pi, pj, 'V' ) 152 phi = icb_utl_bilin_h( hi cth, pi, pj, 'T' ) ! ice thickness152 phi = icb_utl_bilin_h( hi_e , pi, pj, 'T' ) ! ice thickness 153 153 #else 154 154 pui = 0._wp
Note: See TracChangeset
for help on using the changeset viewer.