- Timestamp:
- 2018-11-15T17:27:18+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DIA/diahsb.F90
r10068 r10314 91 91 ! 1 - Trends due to forcing ! 92 92 ! ------------------------- ! 93 z_frc_trd_v = r1_rau0 * glob_sum( - ( emp(:,:) - rnf(:,:) + fwfisf(:,:) ) * surf(:,:) ) ! volume fluxes94 z_frc_trd_t = glob_sum( sbc_tsc(:,:,jp_tem) * surf(:,:) ) ! heat fluxes95 z_frc_trd_s = glob_sum( sbc_tsc(:,:,jp_sal) * surf(:,:) ) ! salt fluxes93 z_frc_trd_v = r1_rau0 * glob_sum( 'diahsb', - ( emp(:,:) - rnf(:,:) + fwfisf(:,:) ) * surf(:,:) ) ! volume fluxes 94 z_frc_trd_t = glob_sum( 'diahsb', sbc_tsc(:,:,jp_tem) * surf(:,:) ) ! heat fluxes 95 z_frc_trd_s = glob_sum( 'diahsb', sbc_tsc(:,:,jp_sal) * surf(:,:) ) ! salt fluxes 96 96 ! ! Add runoff heat & salt input 97 IF( ln_rnf ) z_frc_trd_t = z_frc_trd_t + glob_sum( rnf_tsc(:,:,jp_tem) * surf(:,:) )98 IF( ln_rnf_sal) z_frc_trd_s = z_frc_trd_s + glob_sum( rnf_tsc(:,:,jp_sal) * surf(:,:) )97 IF( ln_rnf ) z_frc_trd_t = z_frc_trd_t + glob_sum( 'diahsb', rnf_tsc(:,:,jp_tem) * surf(:,:) ) 98 IF( ln_rnf_sal) z_frc_trd_s = z_frc_trd_s + glob_sum( 'diahsb', rnf_tsc(:,:,jp_sal) * surf(:,:) ) 99 99 ! ! Add ice shelf heat & salt input 100 IF( ln_isf ) z_frc_trd_t = z_frc_trd_t + glob_sum( risf_tsc(:,:,jp_tem) * surf(:,:) )100 IF( ln_isf ) z_frc_trd_t = z_frc_trd_t + glob_sum( 'diahsb', risf_tsc(:,:,jp_tem) * surf(:,:) ) 101 101 ! ! Add penetrative solar radiation 102 IF( ln_traqsr ) z_frc_trd_t = z_frc_trd_t + r1_rau0_rcp * glob_sum( qsr (:,:) * surf(:,:) )102 IF( ln_traqsr ) z_frc_trd_t = z_frc_trd_t + r1_rau0_rcp * glob_sum( 'diahsb', qsr (:,:) * surf(:,:) ) 103 103 ! ! Add geothermal heat flux 104 IF( ln_trabbc ) z_frc_trd_t = z_frc_trd_t + glob_sum( qgh_trd0(:,:) * surf(:,:) )104 IF( ln_trabbc ) z_frc_trd_t = z_frc_trd_t + glob_sum( 'diahsb', qgh_trd0(:,:) * surf(:,:) ) 105 105 ! 106 106 IF( ln_linssh ) THEN … … 116 116 z2d1(:,:) = surf(:,:) * wn(:,:,1) * tsb(:,:,1,jp_sal) 117 117 END IF 118 z_wn_trd_t = - glob_sum( z2d0 )119 z_wn_trd_s = - glob_sum( z2d1 )118 z_wn_trd_t = - glob_sum( 'diahsb', z2d0 ) 119 z_wn_trd_s = - glob_sum( 'diahsb', z2d1 ) 120 120 ENDIF 121 121 … … 135 135 136 136 ! ! volume variation (calculated with ssh) 137 zdiff_v1 = glob_sum_full( surf(:,:)*sshn(:,:) - surf_ini(:,:)*ssh_ini(:,:) )137 zdiff_v1 = glob_sum_full( 'diahsb', surf(:,:)*sshn(:,:) - surf_ini(:,:)*ssh_ini(:,:) ) 138 138 139 139 ! ! heat & salt content variation (associated with ssh) … … 150 150 z2d1(:,:) = surf(:,:) * ( tsn(:,:,1,jp_sal) * sshn(:,:) - ssh_sc_loc_ini(:,:) ) 151 151 END IF 152 z_ssh_hc = glob_sum_full( z2d0 )153 z_ssh_sc = glob_sum_full( z2d1 )154 ENDIF 155 ! 156 DO jk = 1, jpkm1 ! volume variation (calculated with scale factors)152 z_ssh_hc = glob_sum_full( 'diahsb', z2d0 ) 153 z_ssh_sc = glob_sum_full( 'diahsb', z2d1 ) 154 ENDIF 155 ! 156 DO jk = 1, jpkm1 ! volume variation (calculated with scale factors) 157 157 zwrk(:,:,jk) = ( surf(:,:)*e3t_n(:,:,jk) - surf_ini(:,:)*e3t_ini(:,:,jk) ) * tmask(:,:,jk) 158 158 END DO 159 zdiff_v2 = glob_sum_full( zwrk(:,:,:) )159 zdiff_v2 = glob_sum_full( 'diahsb', zwrk(:,:,:) ) 160 160 DO jk = 1, jpkm1 ! heat content variation 161 161 zwrk(:,:,jk) = ( surf(:,:)*e3t_n(:,:,jk)*tsn(:,:,jk,jp_tem) - surf_ini(:,:)*hc_loc_ini(:,:,jk) ) * tmask(:,:,jk) 162 162 END DO 163 zdiff_hc = glob_sum_full( zwrk(:,:,:) )163 zdiff_hc = glob_sum_full( 'diahsb', zwrk(:,:,:) ) 164 164 DO jk = 1, jpkm1 ! salt content variation 165 165 zwrk(:,:,jk) = ( surf(:,:)*e3t_n(:,:,jk)*tsn(:,:,jk,jp_sal) - surf_ini(:,:)*sc_loc_ini(:,:,jk) ) * tmask(:,:,jk) 166 166 END DO 167 zdiff_sc = glob_sum_full( zwrk(:,:,:) )167 zdiff_sc = glob_sum_full( 'diahsb', zwrk(:,:,:) ) 168 168 169 169 ! ------------------------ ! … … 187 187 zwrk(:,:,jk) = surf(:,:) * e3t_n(:,:,jk) * tmask(:,:,jk) 188 188 END DO 189 zvol_tot = glob_sum_full( zwrk(:,:,:) )189 zvol_tot = glob_sum_full( 'diahsb', zwrk(:,:,:) ) 190 190 191 191 !!gm to be added ? 192 192 ! IF( ln_linssh ) THEN ! fixed volume, add the ssh contribution 193 ! zvol_tot = zvol_tot + glob_sum( surf(:,:) * sshn(:,:) )193 ! zvol_tot = zvol_tot + glob_sum( 'diahsb', surf(:,:) * sshn(:,:) ) 194 194 ! ENDIF 195 195 !!gm end … … 409 409 ! 2 - Time independant variables and file opening ! 410 410 ! ----------------------------------------------- ! 411 surf(:,:) = e1e2t(:,:) * tmask_i(:,:) ! masked surface grid cell area412 surf_tot = glob_sum( surf(:,:) ) ! total ocean surface area411 surf(:,:) = e1e2t(:,:) * tmask_i(:,:) ! masked surface grid cell area 412 surf_tot = glob_sum( 'diahsb', surf(:,:) ) ! total ocean surface area 413 413 414 414 IF( ln_bdy ) CALL ctl_warn( 'dia_hsb_init: heat/salt budget does not consider open boundary fluxes' )
Note: See TracChangeset
for help on using the changeset viewer.