Changeset 1822 for trunk/NEMO/OPA_SRC/SBC/sbcfwb.F90
- Timestamp:
- 2010-03-26T16:54:56+01:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SBC/sbcfwb.F90
r1715 r1822 65 65 INTEGER :: inum ! temporary logical unit 66 66 INTEGER :: ikty, iyear ! 67 REAL(wp) :: z_emp, z_emp_nsrf ! temporary scalars67 REAL(wp) :: z_emp, z_emp_nsrf, zsum_emp, zsum_erp ! temporary scalars 68 68 REAL(wp) :: zsurf_neg, zsurf_pos, zsurf_tospread 69 69 REAL(wp), DIMENSION(jpi,jpj) :: ztmsk_neg, ztmsk_pos, ztmsk_tospread … … 165 165 ! 166 166 IF( lk_mpp ) CALL mpp_sum( z_emp ) 167 IF( lk_mpp ) CALL mpp_sum( zsurf_neg ) 168 IF( lk_mpp ) CALL mpp_sum( zsurf_pos ) 167 169 168 170 IF( z_emp < 0.e0 ) THEN … … 177 179 178 180 ! emp global mean over <0 or >0 erp area 179 z_emp_nsrf = SUM( e1e2_i(:,:) * z_emp ) / ( zsurf_tospread + rsmall ) 181 zsum_emp = SUM( e1e2_i(:,:) * z_emp ) 182 IF( lk_mpp ) CALL mpp_sum( zsum_emp ) 183 z_emp_nsrf = zsum_emp / ( zsurf_tospread + rsmall ) 180 184 ! weight to respect erp field 2D structure 181 z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( SUM( ztmsk_tospread(:,:) * erp(:,:) * e1e2_i(:,:) ) + rsmall ) 185 zsum_erp = SUM( ztmsk_tospread(:,:) * erp(:,:) * e1e2_i(:,:) ) 186 IF( lk_mpp ) CALL mpp_sum( zsum_erp ) 187 z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( zsum_erp + rsmall ) 188 182 189 ! final correction term to apply 183 190 zerp_cor(:,:) = -1. * z_emp_nsrf * zsurf_tospread * z_wgt(:,:)
Note: See TracChangeset
for help on using the changeset viewer.