Changeset 11382
- Timestamp:
- 2019-07-31T17:08:36+02:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icecor.F90
r11371 r11382 78 78 ! !----------------------------------------------------- 79 79 at_i(:,:) = SUM( a_i(:,:,:), dim=3 ) 80 DO jl 80 DO jl = 1, jpl 81 81 WHERE( at_i(:,:) > rn_amax_2d(:,:) ) a_i(:,:,jl) = a_i(:,:,jl) * rn_amax_2d(:,:) / at_i(:,:) 82 82 END DO … … 125 125 CASE( 1 ) !--- dyn trend diagnostics 126 126 ! 127 !!gm here I think the number of ice cat is too small to use a SUM instruction... 128 DO jj = 1, jpj 129 DO ji = 1, jpi 130 ! ! heat content variation (W.m-2) 131 diag_heat(ji,jj) = - ( SUM( e_i(ji,jj,1:nlay_i,:) - e_i_b(ji,jj,1:nlay_i,:) ) & 132 & + SUM( e_s(ji,jj,1:nlay_s,:) - e_s_b(ji,jj,1:nlay_s,:) ) ) * r1_rdtice 133 ! ! salt, volume 134 diag_sice(ji,jj) = SUM( sv_i(ji,jj,:) - sv_i_b(ji,jj,:) ) * rhoi * r1_rdtice 135 diag_vice(ji,jj) = SUM( v_i (ji,jj,:) - v_i_b (ji,jj,:) ) * rhoi * r1_rdtice 136 diag_vsnw(ji,jj) = SUM( v_s (ji,jj,:) - v_s_b (ji,jj,:) ) * rhos * r1_rdtice 137 END DO 138 END DO 127 IF( ln_icediachk .OR. iom_use('hfxdhc') ) THEN 128 diag_heat(:,:) = - SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_rdtice & ! W.m-2 129 & - SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_rdtice 130 diag_sice(:,:) = SUM( sv_i(:,:,:) - sv_i_b(:,:,:) , dim=3 ) * r1_rdtice * rhoi 131 diag_vice(:,:) = SUM( v_i (:,:,:) - v_i_b (:,:,:) , dim=3 ) * r1_rdtice * rhoi 132 diag_vsnw(:,:) = SUM( v_s (:,:,:) - v_s_b (:,:,:) , dim=3 ) * r1_rdtice * rhos 133 ENDIF 139 134 ! ! concentration tendency (dynamics) 140 135 IF( iom_use('afxdyn') .OR. iom_use('afxthd') .OR. iom_use('afxtot') ) THEN … … 147 142 oa_i(:,:,:) = oa_i(:,:,:) + a_i(:,:,:) * rdt_ice ! ice natural aging incrementation 148 143 ! 149 !!gm here I think the number of ice cat is too small to use a SUM instruction... 150 DO jj = 1, jpj151 DO ji = 1, jpi152 ! ! heat content variation (W.m-2)153 diag_heat(ji,jj) = diag_heat(ji,jj) - ( SUM( e_i(ji,jj,1:nlay_i,:) - e_i_b(ji,jj,1:nlay_i,:) ) &154 & + SUM( e_s(ji,jj,1:nlay_s,:) - e_s_b(ji,jj,1:nlay_s,:) ) ) * r1_rdtice155 ! ! salt, volume156 diag_sice(ji,jj) = diag_sice(ji,jj) + SUM( sv_i(ji,jj,:) - sv_i_b(ji,jj,:) ) * rhoi * r1_rdtice157 diag_vice(ji,jj) = diag_vice(ji,jj) + SUM( v_i (ji,jj,:) - v_i_b (ji,jj,:) ) * rhoi * r1_rdtice158 diag_vsnw(ji,jj) = diag_vsnw(ji,jj) + SUM( v_s (ji,jj,:) - v_s_b (ji,jj,:) ) * rhos * r1_rdtice159 END DO160 END DO144 IF( ln_icediachk .OR. iom_use('hfxdhc') ) THEN 145 diag_heat(:,:) = diag_heat(:,:) & 146 & - SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_rdtice & 147 & - SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_rdtice 148 diag_sice(:,:) = diag_sice(:,:) & 149 & + SUM( sv_i(:,:,:) - sv_i_b(:,:,:) , dim=3 ) * r1_rdtice * rhoi 150 diag_vice(:,:) = diag_vice(:,:) & 151 & + SUM( v_i (:,:,:) - v_i_b (:,:,:) , dim=3 ) * r1_rdtice * rhoi 152 diag_vsnw(:,:) = diag_vsnw(:,:) & 153 & + SUM( v_s (:,:,:) - v_s_b (:,:,:) , dim=3 ) * r1_rdtice * rhos 154 CALL iom_put ( 'hfxdhc' , diag_heat ) 155 ENDIF 161 156 ! ! concentration tendency (total + thermo) 162 157 IF( iom_use('afxdyn') .OR. iom_use('afxthd') .OR. iom_use('afxtot') ) THEN -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icectl.F90
r10994 r11382 157 157 ! check conservation issues 158 158 IF ( ABS( zv ) > zv_sill ) WRITE(numout,*) 'violation volume [Mt/day] (',cd_routine,') = ',zv 159 IF ( ABS( zs ) > zs_sill ) WRITE(numout,*) 'violation saline [ psu*Mt/day](',cd_routine,') = ',zs159 IF ( ABS( zs ) > zs_sill ) WRITE(numout,*) 'violation saline [Mkg/day] (',cd_routine,') = ',zs 160 160 IF ( ABS( zt ) > zt_sill ) WRITE(numout,*) 'violation enthalpy [GW] (',cd_routine,') = ',zt 161 161 ! check maximum ice concentration … … 218 218 IF(lwp) THEN 219 219 IF( ABS( zvfx ) > zv_sill ) WRITE(numout,*) 'violation vfx [Mt/day] (',cd_routine,') = ',zvfx 220 IF( ABS( zsfx ) > zs_sill ) WRITE(numout,*) 'violation sfx [ psu*Mt/day](',cd_routine,') = ',zsfx220 IF( ABS( zsfx ) > zs_sill ) WRITE(numout,*) 'violation sfx [Mkg/day] (',cd_routine,') = ',zsfx 221 221 !!IF( ABS( zhfx ) > zt_sill ) WRITE(numout,*) 'violation hfx [GW] (',cd_routine,') = ',zhfx 222 222 ENDIF -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/iceupdate.F90
r11371 r11382 280 280 IF( iom_use('hfxcndtop' ) ) CALL iom_put( 'hfxcndtop' , SUM( qcn_ice_top * a_i_b, dim=3 ) ) ! Surface conduction flux 281 281 282 ! diags283 CALL iom_put ('hfxdhc' , diag_heat ) ! Heat content variation in snow and ice284 !285 282 ! controls 286 283 !---------
Note: See TracChangeset
for help on using the changeset viewer.