Changeset 11355
- Timestamp:
- 2019-07-26T11:32:13+02:00 (5 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/ICE/icestp.F90
r11082 r11355 145 145 #endif 146 146 CALL store_fields ! Store now ice values 147 148 IF(narea == 419) THEN 149 WRITE(9419,*) 'max emp ice_stp before ice_sbc_tau = ',emp(48,31) 150 WRITE(9419,*) 'wfx_opw(48,31) = ',wfx_opw(48,31) 151 WRITE(9419,*) 'qlead(48,31) = ',qlead(48,31) 152 ENDIF 147 153 ! 148 154 !------------------------------------------------! … … 159 165 CALL ice_rst_opn( kt ) ! Open Ice restart file (if necessary) 160 166 ! 167 168 IF(narea == 419) THEN 169 WRITE(9419,*) 'max emp ice_stp before ice_dyn = ',emp(48,31) 170 WRITE(9419,*) 'wfx_opw(48,31) = ',wfx_opw(48,31) 171 WRITE(9419,*) 'qlead(48,31) = ',qlead(48,31) 172 ENDIF 173 161 174 IF( ln_icedyn .AND. .NOT.lk_c1d ) & 162 175 & CALL ice_dyn( kt ) ! -- Ice dynamics … … 165 178 IF( ln_icethd .AND. ln_bdy ) CALL bdy_ice( kt ) ! -- bdy ice thermo 166 179 ! 180 181 IF(narea == 419) THEN 182 WRITE(9419,*) 'max emp ice_stp before ice_var_glo2eqv = ',emp(48,31) 183 WRITE(9419,*) 'wfx_opw(48,31) = ',wfx_opw(48,31) 184 WRITE(9419,*) 'qlead(48,31) = ',qlead(48,31) 185 ENDIF 186 167 187 ! !== previous lead fraction and ice volume for flux calculations 168 188 CALL ice_var_glo2eqv ! h_i and h_s for ice albedo calculation … … 183 203 ! qprec_ice, qevap_ice 184 204 !------------------------------------------------------! 205 206 IF(narea == 419) THEN 207 WRITE(9419,*) 'max emp ice_stp before ice_sbc_flx = ',emp(48,31) 208 WRITE(9419,*) 'wfx_opw(48,31) = ',wfx_opw(48,31) 209 WRITE(9419,*) 'qlead(48,31) = ',qlead(48,31) 210 ENDIF 211 185 212 CALL ice_sbc_flx( kt, ksbc ) 186 213 !----------------------------! 187 214 ! --- ice thermodynamics --- ! 188 215 !----------------------------! 189 IF( ln_icethd ) CALL ice_thd( kt ) ! -- Ice thermodynamics 216 217 IF(narea == 419) THEN 218 WRITE(9419,*) 'max emp ice_stp before ice_thd = ',emp(48,31) 219 WRITE(9419,*) 'wfx_opw(48,31) = ',wfx_opw(48,31) 220 WRITE(9419,*) 'qlead(48,31) = ',qlead(48,31) 221 ENDIF 222 223 IF( ln_icethd ) CALL ice_thd( kt ) ! -- Ice thermodynamics 224 225 IF(narea == 419) THEN 226 WRITE(9419,*) 'max emp ice_stp before ice_cor = ',emp(48,31) 227 WRITE(9419,*) 'wfx_opw(48,31) = ',wfx_opw(48,31) 228 ENDIF 229 190 230 ! 191 231 CALL ice_cor( kt , 2 ) ! -- Corrections 192 232 ! 233 234 IF(narea == 419) THEN 235 WRITE(9419,*) 'max emp ice_stp before ice_var_glo2eqv = ',emp(48,31) 236 WRITE(9419,*) 'wfx_opw(48,31) = ',wfx_opw(48,31) 237 ENDIF 238 193 239 CALL ice_var_glo2eqv ! necessary calls (at least for coupling) 194 240 CALL ice_var_agg( 2 ) ! necessary calls (at least for coupling) 195 241 ! 242 243 IF(narea == 419) THEN 244 WRITE(9419,*) 'max emp ice_stp before ice_update_flx = ',emp(48,31) 245 WRITE(9419,*) 'wfx_opw(48,31) = ',wfx_opw(48,31) 246 ENDIF 247 196 248 CALL ice_update_flx( kt ) ! -- Update ocean surface mass, heat and salt fluxes 197 249 ! 250 251 IF(narea == 419) THEN 252 WRITE(9419,*) 'max emp ice_stp before ice_dia = ',emp(48,31) 253 ENDIF 254 198 255 IF( ln_icediahsb ) CALL ice_dia( kt ) ! -- Diagnostics outputs 199 256 ! … … 203 260 ! 204 261 IF( ln_icectl ) CALL ice_ctl( kt ) ! -- alerts in case of model crash 262 263 IF(narea == 419) THEN 264 WRITE(9419,*) 'max emp ice_stp at end = ',emp(48,31) 265 ENDIF 266 205 267 ! 206 268 ENDIF ! End sea-ice time step only -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/ICE/icethd.F90
r11082 r11355 329 329 ! 330 330 INTEGER :: jk ! dummy loop indices 331 INTEGER :: jn , jid, jjd 331 332 !!----------------------------------------------------------------------- 332 333 ! … … 335 336 CASE( 1 ) !== from 2D to 1D ==! 336 337 ! !---------------------! 338 339 DO jn = 1, npti 340 jid = MOD( nptidx(jn) - 1 , jpi ) + 1 341 jjd = ( nptidx(jn) - 1 ) / jpi + 1 342 IF( jn == 54 ) THEN 343 IF( narea == 68) THEN 344 WRITE(968,*) 'in ice_thd_1d2d: ice_cat=',kl 345 WRITE(968,*) 'in ice_thd_1d2d: jid, jjd for point 54 is ',jid,jjd 346 WRITE(968,*) 'a_i for this point = ',a_i(jid,jjd) 347 END IF 348 END IF 349 END DO 350 337 351 CALL tab_2d_1d( npti, nptidx(1:npti), at_i_1d(1:npti), at_i ) 338 352 CALL tab_2d_1d( npti, nptidx(1:npti), a_i_1d (1:npti), a_i (:,:,kl) ) -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/ICE/icethd_dh.F90
r10888 r11355 105 105 106 106 INTEGER :: num_iter_max ! Heat conservation 107 INTEGER, DIMENSION(1) :: imax 107 108 !!------------------------------------------------------------------ 108 109 … … 182 183 END IF 183 184 END DO 184 END DO 185 END DO 186 187 IF(narea == 419) THEN 188 WRITE(9419,*) 'max wfx_snw_sum_1d icethd_dh after inte5rnal melting = ',MAXVAL( ABS( wfx_snw_sum_1d(:) ) ) 189 imax = MAXLOC( ABS( wfx_snw_sum_1d(:) ) ) 190 WRITE(9419,*) 'at location = ',imax 191 WRITE(9419,*) 'zh_s = ',zh_s(imax,:) 192 WRITE(9419,*) 'a_i_1d = ',a_i_1d(imax) 193 ENDIF 194 195 IF(narea == 68) THEN 196 WRITE(968,*) 'max wfx_snw_sum_1d icethd_dh after inte5rnal melting = ',MAXVAL( ABS( wfx_snw_sum_1d(:) ) ) 197 imax = MAXLOC( ABS( wfx_snw_sum_1d(:) ) ) 198 WRITE(968,*) 'at location = ',imax 199 WRITE(968,*) 'zh_s = ',zh_s(imax,:) 200 WRITE(968,*) 'a_i_1d = ',a_i_1d(imax) 201 ENDIF 185 202 186 203 ! Snow precipitation -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/ICE/icethd_do.F90
r11082 r11355 207 207 END DO 208 208 209 IF(narea == 419) THEN 210 WRITE(9419,*) 'npti in icetd_do = ',npti 211 WRITE(9419,*) 'max qlead = ',MAXVAL( qlead(:,:) ) 212 WRITE(9419,*) 'min qlead = ',MINVAL( qlead(:,:) ) 213 WRITE(9419,*) 'qlead(48,31) = ', qlead(48,31) 214 WRITE(9419,*) 'tau_icebfr(48,31) = ',tau_icebfr(48,31) 215 ENDIF 216 209 217 ! Move from 2-D to 1-D vectors 210 218 IF ( npti > 0 ) THEN … … 230 238 CALL tab_2d_1d( npti, nptidx(1:npti), rn_amax_1d(1:npti) , rn_amax_2d ) 231 239 CALL tab_2d_1d( npti, nptidx(1:npti), sss_1d (1:npti) , sss_m ) 240 241 IF(narea == 419) THEN 242 WRITE(9419,*) 'wfx_opw(48,31) = ',wfx_opw(48,31) 243 WRITE(9419,*) 'max wfx_opw_1d icethd_do after to 1d = ',MAXVAL( ABS( wfx_opw_1d(:) ) ) 244 ENDIF 232 245 233 246 ! Convert units for ice internal energy … … 295 308 sfx_opw_1d(ji) = sfx_opw_1d(ji) - zv_newice(ji) * rhoi * zs_newice(ji) * r1_rdtice 296 309 END DO 310 311 IF(narea == 419) THEN 312 WRITE(9419,*) 'max wfx_opw_1d icethd_do after calculation = ',MAXVAL( ABS( wfx_opw_1d(:) ) ) 313 WRITE(9419,*) 'max zv_newice icethd_do after calculation = ',MAXVAL( ABS( zv_newice(:) ) ) 314 WRITE(9419,*) 'rhoi = ',rhoi 315 WRITE(9419,*) 'r1_rdtice = ',r1_rdtice 316 WRITE(9419,*) 'max qlead_1d icethd_do after calculation = ',MAXVAL( ABS( qlead_1d(:) ) ) 317 WRITE(9419,*) 'max ze_newice icethd_do after calculation = ',MAXVAL( ABS( ze_newice(:) ) ) 318 WRITE(9419,*) 'max t_bo_1d icethd_do after calculation = ',MAXVAL( ABS( t_bo_1d(:) ) ) 319 ENDIF 297 320 298 321 zv_frazb(1:npti) = 0._wp -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/ICE/iceupdate.F90
r10888 r11355 96 96 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D workspace 97 97 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zalb_cs, zalb_os ! 3D workspace 98 INTEGER, DIMENSION(2) :: imax ! min/max loc indices 99 98 100 !!--------------------------------------------------------------------- 99 101 IF( ln_timing ) CALL timing_start('ice_update') … … 112 114 qemp_ice (:,:) = 0._wp 113 115 qevap_ice (:,:,:) = 0._wp 116 ENDIF 117 118 IF(narea == 419) THEN 119 ! emp_oce(ji,jj) - wfx_ice(ji,jj) - wfx_snw(ji,jj) - wfx_err_sub(ji,jj) 120 ! wfx_ice = wfx_bog(ji,jj) + wfx_bom(ji,jj) + wfx_sum(ji,jj) + wfx_sni(ji,jj) & 121 ! & + wfx_opw(ji,jj) + wfx_dyn(ji,jj) + wfx_res(ji,jj) + wfx_lam(ji,jj) + wfx_pnd(ji,jj) 122 ! wfx_snw(ji,jj) = wfx_snw_sni(ji,jj) + wfx_snw_dyn(ji,jj) + wfx_snw_sum(ji,jj) 123 WRITE(9419,*) 'max emp_oce iceupdate before loop = ',MAXVAL( ABS( emp_oce(:,:) ) ) 124 WRITE(9419,*) 'max wfx_err_sub iceupdate before loop = ',MAXVAL( ABS( wfx_err_sub(:,:) ) ) 125 WRITE(9419,*) 'max wfx_bog iceupdate before loop = ',MAXVAL( ABS( wfx_bog(:,:) ) ) 126 WRITE(9419,*) 'max wfx_bom iceupdate before loop = ',MAXVAL( ABS( wfx_bom(:,:) ) ) 127 WRITE(9419,*) 'max wfx_sum iceupdate before loop = ',MAXVAL( ABS( wfx_sum(:,:) ) ) 128 WRITE(9419,*) 'max wfx_sni iceupdate before loop = ',MAXVAL( ABS( wfx_sni(:,:) ) ) 129 WRITE(9419,*) 'max wfx_opw iceupdate before loop = ',MAXVAL( ABS( wfx_opw(:,:) ) ) 130 WRITE(9419,*) 'max wfx_dyn iceupdate before loop = ',MAXVAL( ABS( wfx_dyn(:,:) ) ) 131 WRITE(9419,*) 'max wfx_res iceupdate before loop = ',MAXVAL( ABS( wfx_res(:,:) ) ) 132 WRITE(9419,*) 'max wfx_lam iceupdate before loop = ',MAXVAL( ABS( wfx_lam(:,:) ) ) 133 WRITE(9419,*) 'max wfx_pnd iceupdate before loop = ',MAXVAL( ABS( wfx_pnd(:,:) ) ) 134 WRITE(9419,*) 'max wfx_snw_sni iceupdate before loop = ',MAXVAL( ABS( wfx_snw_sni(:,:) ) ) 135 WRITE(9419,*) 'max wfx_snw_dyn iceupdate before loop = ',MAXVAL( ABS( wfx_snw_dyn(:,:) ) ) 136 WRITE(9419,*) 'max wfx_snw_sum iceupdate before loop = ',MAXVAL( ABS( wfx_snw_sum(:,:) ) ) 137 imax(:) = MAXLOC( ABS( wfx_snw_sum(:,:) ) ) 138 WRITE(9419,*) 'wfx_snw_sum at location = ',imax 139 WRITE(9419,*) 'wfx_snw_sum(imax) = ',wfx_snw_sum(imax(1),imax(2)) 140 ENDIF 141 142 IF(narea == 68) THEN 143 ! emp_oce(ji,jj) - wfx_ice(ji,jj) - wfx_snw(ji,jj) - wfx_err_sub(ji,jj) 144 ! wfx_ice = wfx_bog(ji,jj) + wfx_bom(ji,jj) + wfx_sum(ji,jj) + wfx_sni(ji,jj) & 145 ! & + wfx_opw(ji,jj) + wfx_dyn(ji,jj) + wfx_res(ji,jj) + wfx_lam(ji,jj) + wfx_pnd(ji,jj) 146 ! wfx_snw(ji,jj) = wfx_snw_sni(ji,jj) + wfx_snw_dyn(ji,jj) + wfx_snw_sum(ji,jj) 147 WRITE(968,*) 'max emp_oce iceupdate before loop = ',MAXVAL( ABS( emp_oce(:,:) ) ) 148 WRITE(968,*) 'max wfx_err_sub iceupdate before loop = ',MAXVAL( ABS( wfx_err_sub(:,:) ) ) 149 WRITE(968,*) 'max wfx_bog iceupdate before loop = ',MAXVAL( ABS( wfx_bog(:,:) ) ) 150 WRITE(968,*) 'max wfx_bom iceupdate before loop = ',MAXVAL( ABS( wfx_bom(:,:) ) ) 151 WRITE(968,*) 'max wfx_sum iceupdate before loop = ',MAXVAL( ABS( wfx_sum(:,:) ) ) 152 WRITE(968,*) 'max wfx_sni iceupdate before loop = ',MAXVAL( ABS( wfx_sni(:,:) ) ) 153 WRITE(968,*) 'max wfx_opw iceupdate before loop = ',MAXVAL( ABS( wfx_opw(:,:) ) ) 154 WRITE(968,*) 'max wfx_dyn iceupdate before loop = ',MAXVAL( ABS( wfx_dyn(:,:) ) ) 155 WRITE(968,*) 'max wfx_res iceupdate before loop = ',MAXVAL( ABS( wfx_res(:,:) ) ) 156 WRITE(968,*) 'max wfx_lam iceupdate before loop = ',MAXVAL( ABS( wfx_lam(:,:) ) ) 157 WRITE(968,*) 'max wfx_pnd iceupdate before loop = ',MAXVAL( ABS( wfx_pnd(:,:) ) ) 158 WRITE(968,*) 'max wfx_snw_sni iceupdate before loop = ',MAXVAL( ABS( wfx_snw_sni(:,:) ) ) 159 WRITE(968,*) 'max wfx_snw_dyn iceupdate before loop = ',MAXVAL( ABS( wfx_snw_dyn(:,:) ) ) 160 WRITE(968,*) 'max wfx_snw_sum iceupdate before loop = ',MAXVAL( ABS( wfx_snw_sum(:,:) ) ) 161 imax(:) = MAXLOC( ABS( wfx_snw_sum(:,:) ) ) 162 WRITE(968,*) 'wfx_snw_sum at location = ',imax 163 WRITE(968,*) 'wfx_snw_sum(imax) = ',wfx_snw_sum(imax(1),imax(2)) 114 164 ENDIF 115 165 … … 177 227 END DO 178 228 END DO 229 230 IF(narea == 419) THEN 231 WRITE(9419,*) 'max emp iceupdate after loop = ',MAXVAL( ABS( emp(:,:) ) ) 232 imax(:) = MAXLOC( ABS( emp(:,:) ) ) 233 WRITE(9419,*) 'at location = ',imax 234 ENDIF 179 235 180 236 ! Storing the transmitted variables -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/OCE/DYN/sshwzv.F90
r11082 r11355 103 103 ! In time-split case we need a first guess of the ssh after (using the baroclinic timestep) in order to 104 104 ! compute the vertical velocity which can be used to compute the non-linear terms of the momentum equations. 105 106 IF(narea == 419) THEN 107 WRITE(9419,*) 'max ssha ssh_nxt before maths = ',MAXVAL( ABS( ssha(:,:) ) ) 108 WRITE(9419,*) 'max sshb ssh_nxt before maths = ',MAXVAL( ABS( sshb(:,:) ) ) 109 WRITE(9419,*) 'max emp_b ssh_nxt before maths = ',MAXVAL( ABS( emp_b(:,:) ) ) 110 WRITE(9419,*) 'max emp ssh_nxt before maths = ',MAXVAL( ABS( emp(:,:) ) ) 111 WRITE(9419,*) 'max zhdiv ssh_nxt before maths = ',MAXVAL( ABS( zhdiv(:,:) ) ) 112 WRITE(9419,*) 'max ssmask ssh_nxt before maths = ',MAXVAL( ABS( ssmask(:,:) ) ) 113 ENDIF 114 105 115 ! 106 116 ssha(:,:) = ( sshb(:,:) - z2dt * ( zcoef * ( emp_b(:,:) + emp(:,:) ) + zhdiv(:,:) ) ) * ssmask(:,:) 117 118 IF(narea == 419) THEN 119 WRITE(9419,*) 'max ssha ssh_nxt after maths = ',MAXVAL( ABS( ssha(:,:) ) ) 120 ENDIF 107 121 ! 108 122 #if defined key_agrif … … 116 130 ENDIF 117 131 ENDIF 132 133 IF(narea == 419) THEN 134 WRITE(9419,*) 'max ssha ssh_nxt after bdy_ssh = ',MAXVAL( ABS( ssha(:,:) ) ) 135 ENDIF 136 118 137 ! !------------------------------! 119 138 ! ! outputs ! … … 122 141 IF(ln_ctl) CALL prt_ctl( tab2d_1=ssha, clinfo1=' ssha - : ', mask1=tmask ) 123 142 ! 143 144 IF(narea == 419) THEN 145 WRITE(9419,*) 'max ssha ssh_nxt after prt_ctl = ',MAXVAL( ABS( ssha(:,:) ) ) 146 ENDIF 147 124 148 IF( ln_timing ) CALL timing_stop('ssh_nxt') 125 149 ! … … 246 270 ENDIF 247 271 ! !== Euler time-stepping: no filter, just swap ==! 272 273 IF(narea == 419) THEN 274 WRITE(9419,*) 'max sshn in sshwzv = ',MAXVAL( ABS( sshn(:,:) ) ) 275 WRITE(9419,*) 'max ssha in sshwzv = ',MAXVAL( ABS( ssha(:,:) ) ) 276 ENDIF 277 248 278 IF ( neuler == 0 .AND. kt == nit000 ) THEN 249 279 sshn(:,:) = ssha(:,:) ! now <-- after (before already = now) -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/OCE/SBC/sbccpl.F90
r10888 r11355 1378 1378 CALL iom_put( 'frq_m', frq_m ) 1379 1379 ENDIF 1380 1381 IF(narea == 419) THEN 1382 WRITE(9419,*) 'k_ice, kt, k_fsbc = ',k_ice, kt, k_fsbc 1383 WRITE(9419,*) 'MOD( kt-1, k_fsbc ) = ',MOD( kt-1, k_fsbc ) 1384 ENDIF 1380 1385 1381 1386 ! ! ========================= ! … … 1396 1401 zemp(:,:) = 0._wp 1397 1402 ENDIF 1403 1404 IF(narea == 419) THEN 1405 WRITE(9419,*) 'max zemp after coupling = ',MAXVAL( ABS( zemp(:,:) ) ) 1406 ENDIF 1407 1398 1408 ! 1399 1409 ! ! runoffs and calving (added in emp) 1400 1410 IF( srcv(jpr_rnf)%laction ) rnf(:,:) = frcv(jpr_rnf)%z3(:,:,1) 1401 1411 IF( srcv(jpr_cal)%laction ) zemp(:,:) = zemp(:,:) - frcv(jpr_cal)%z3(:,:,1) 1412 1413 IF(narea == 419) THEN 1414 WRITE(9419,*) 'max zemp after runoff = ',MAXVAL( ABS( zemp(:,:) ) ) 1415 WRITE(9419,*) 'max emp after runoff = ',MAXVAL( ABS( emp(:,:) ) ) 1416 ENDIF 1402 1417 1403 1418 IF( srcv(jpr_icb)%laction ) THEN … … 1410 1425 ELSE ; emp(:,:) = zemp(:,:) 1411 1426 ENDIF 1427 1428 IF(narea == 419) THEN 1429 WRITE(9419,*) 'max emp after conversion from zemp = ',MAXVAL( ABS( emp(:,:) ) ) 1430 ENDIF 1431 1412 1432 ! 1413 1433 ! ! non solar heat flux over the ocean (qns) … … 1733 1753 ENDIF 1734 1754 1755 IF(narea == 419) THEN 1756 WRITE(9419,*) 'emp_tot(48,31) = ',emp_tot(48,31) 1757 WRITE(9419,*) 'emp_ice(48,31) = ',emp_ice(48,31) 1758 WRITE(9419,*) 'emp_oce(48,31) = ',emp_oce(48,31) 1759 WRITE(9419,*) 'sprecip(48,31) = ',sprecip(48,31) 1760 WRITE(9419,*) 'tprecip(48,31) = ',tprecip(48,31) 1761 WRITE(9419,*) 'evap_ice(48,31) = ',evap_ice(48,31,:) 1762 WRITE(9419,*) 'devap_ice(48,31) = ',devap_ice(48,31,:) 1763 ENDIF 1764 1735 1765 #else 1736 1766 zsnw(:,:) = picefr(:,:) … … 1874 1904 ENDIF 1875 1905 1906 IF(narea == 419) THEN 1907 WRITE(9419,*) 'qns_tot(48,31) = ',qns_tot(48,31) 1908 WRITE(9419,*) 'qns_oce(48,31) = ',qns_oce(48,31) 1909 WRITE(9419,*) 'qns_ice(48,31) = ',qns_ice(48,31,:) 1910 WRITE(9419,*) 'qevap_ice(48,31) = ',qevap_ice(48,31,:) 1911 WRITE(9419,*) 'qprec_ice(48,31) = ',qprec_ice(48,31) 1912 WRITE(9419,*) 'qemp_oce(48,31) = ',qemp_oce(48,31) 1913 WRITE(9419,*) 'qemp_ice(48,31) = ',qemp_ice(48,31) 1914 ENDIF 1915 1876 1916 #else 1877 1917 zcptsnw (:,:) = zcptn(:,:) … … 1914 1954 CASE( 'oce only' ) 1915 1955 zqsr_tot(:,: ) = MAX( 0._wp , frcv(jpr_qsroce)%z3(:,:,1) ) 1956 zqsr_ice(:,:,:) = 0.0 1916 1957 CASE( 'conservative' ) 1917 1958 zqsr_tot(:,: ) = frcv(jpr_qsrmix)%z3(:,:,1) … … 1939 1980 zqsr_ice(:,:,jl) = frcv(jpr_qsrice)%z3(:,:,1) 1940 1981 END DO 1982 1983 IF(narea == 419) THEN 1984 WRITE(9419,*) 'zqsr_ice(48,31) oce and ice = ',zqsr_ice(48,31,:) 1985 ENDIF 1986 1941 1987 ENDIF 1942 1988 CASE( 'mixed oce-ice' ) … … 1980 2026 ENDIF 1981 2027 2028 IF(narea == 419) THEN 2029 WRITE(9419,*) 'qsr_tot(48,31) = ',qsr_tot(48,31) 2030 WRITE(9419,*) 'qsr_ice(48,31) = ',qsr_ice(48,31,:) 2031 ENDIF 2032 2033 1982 2034 ! ! ========================= ! 1983 2035 SELECT CASE( TRIM( sn_rcv_dqnsdt%cldes ) ) ! d(qns)/dt ! … … 1999 2051 ENDDO 2000 2052 ELSE 2001 dqns_ice(:,:,:) = zdqns_ice(:,:,:) 2002 ENDIF 2053 dqns_ice(:,:,:) = 0.0 2054 ENDIF 2055 2056 IF(narea == 419) THEN 2057 WRITE(9419,*) 'dqns_ice(48,31) = ',dqns_ice(48,31,:) 2058 ENDIF 2059 2003 2060 2004 2061 #if defined key_si3 … … 2010 2067 qcn_ice(:,:,:) = frcv(jpr_botm)%z3(:,:,:) 2011 2068 END SELECT 2069 2070 IF(narea == 419) THEN 2071 WRITE(9419,*) 'qml_ice(48,31) = ',qml_ice(48,31,:) 2072 WRITE(9419,*) 'qcn_ice(48,31) = ',qcn_ice(48,31,:) 2073 ENDIF 2074 2012 2075 ! 2013 2076 ! ! ========================= ! … … 2030 2093 ! 2031 2094 ENDIF 2095 2096 IF(narea == 419) THEN 2097 WRITE(9419,*) 'qtr_ice_top(48,31) = ',qtr_ice_top(48,31,:) 2098 ENDIF 2099 2032 2100 ! 2033 2101 #endif -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/OCE/SBC/sbcmod.F90
r10888 r11355 414 414 IF( ln_wave ) CALL sbc_wave( kt ) ! surface waves 415 415 416 IF(narea == 419) THEN 417 WRITE(9419,*) 'nsbc, jp_purecpl = ',nsbc, jp_purecpl 418 WRITE(9419,*) 'max emp before sbc_cpl_rcv = ',MAXVAL( ABS( emp(:,:) ) ) 419 ENDIF 420 416 421 ! 417 422 ! !== sbc formulation ==! … … 435 440 ! 436 441 ! !== Misc. Options ==! 442 IF(narea == 419) THEN 443 WRITE(9419,*) 'nn_ice = ',nn_ice 444 WRITE(9419,*) 'max emp before ice_stp = ',MAXVAL( ABS( emp(:,:) ) ) 445 ENDIF 437 446 ! 438 447 SELECT CASE( nn_ice ) ! Update heat and freshwater fluxes over sea-ice areas … … 444 453 END SELECT 445 454 455 IF(narea == 419) THEN 456 WRITE(9419,*) 'max emp after ice_stp = ',MAXVAL( ABS( emp(:,:) ) ) 457 ENDIF 458 446 459 IF( ln_icebergs ) THEN 447 460 CALL icb_stp( kt ) ! compute icebergs … … 455 468 IF( ln_rnf ) CALL sbc_rnf( kt ) ! add runoffs to fresh water fluxes 456 469 470 IF(narea == 419) THEN 471 WRITE(9419,*) 'max emp after sbc_rnf = ',MAXVAL( ABS( emp(:,:) ) ) 472 ENDIF 473 457 474 IF( ln_ssr ) CALL sbc_ssr( kt ) ! add SST/SSS damping term 458 475 … … 461 478 ! Special treatment of freshwater fluxes over closed seas in the model domain 462 479 ! Should not be run if ln_diurnal_only 463 IF( l_sbc_clo .AND. (.NOT. ln_diurnal_only) ) CALL sbc_clo( kt ) 480 IF( l_sbc_clo .AND. (.NOT. ln_diurnal_only) ) CALL sbc_clo( kt ) 481 482 IF(narea == 419) THEN 483 WRITE(9419,*) 'max emp after sbc_clo = ',MAXVAL( ABS( emp(:,:) ) ) 484 ENDIF 464 485 465 486 !!$!RBbug do not understand why see ticket 667 … … 490 511 END WHERE 491 512 ENDIF 513 514 IF(narea == 419) THEN 515 WRITE(9419,*) 'max emp after north fold adjustments = ',MAXVAL( ABS( emp(:,:) ) ) 516 ENDIF 517 492 518 ! 493 519 IF( kt == nit000 ) THEN ! set the forcing field at nit000 - 1 ! … … 517 543 ENDIF 518 544 ENDIF 545 546 IF(narea == 419) THEN 547 WRITE(9419,*) 'max emp after setting forcing fields = ',MAXVAL( ABS( emp(:,:) ) ) 548 ENDIF 549 519 550 ! ! ---------------------------------------- ! 520 551 IF( lrst_oce ) THEN ! Write in the ocean restart file ! … … 552 583 CALL iom_put( "utau", utau ) ! i-wind stress (stress can be updated at each time step in sea-ice) 553 584 CALL iom_put( "vtau", vtau ) ! j-wind stress 585 586 IF(narea == 419) THEN 587 WRITE(9419,*) 'max emp after outputs = ',MAXVAL( ABS( emp(:,:) ) ) 588 ENDIF 589 554 590 ! 555 591 IF(ln_ctl) THEN ! print mean trends (used for debugging) -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/OCE/nemogcm.F90
r10888 r11355 150 150 CALL mpp_max( 'nemogcm', nstop ) 151 151 152 IF(narea == 419) THEN 153 OPEN(9419, file='crash_stats_419.out', status='replace') 154 WRITE(9419,*) 'Opening output file' 155 ENDIF 156 157 IF(narea == 68) THEN 158 OPEN(968, file='crash_stats_68.out', status='replace') 159 WRITE(968,*) 'Opening output file' 160 ENDIF 161 152 162 IF(lwp) WRITE(numout,cform_aaa) ! Flag AAAAAAA 153 163 … … 156 166 ! !-----------------------! 157 167 istp = nit000 168 169 IF(narea == 419) THEN 170 WRITE(9419,*) 'max sshn nemogcm before any steps = ',MAXVAL( ABS( sshn(:,:) ) ) 171 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 172 WRITE(9419,*) 'max emp_b = ',MAXVAL( ABS( emp_b(:,:) ) ) 173 WRITE(9419,*) 'max emp = ',MAXVAL( ABS( emp(:,:) ) ) 174 ENDIF 175 176 ! Initialise emp to zero 177 emp(:,:) = 0.0 178 158 179 ! 159 180 #if defined key_c1d … … 218 239 ! !------------------------! 219 240 IF(lwp) WRITE(numout,cform_aaa) ! Flag AAAAAAA 241 CLOSE(unit=9419) 242 CLOSE(unit=968) 220 243 ! 221 244 IF( nstop /= 0 .AND. lwp ) THEN ! error print -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/OCE/step.F90
r11110 r11355 93 93 ! 94 94 IF( ln_timing ) CALL timing_start('stp') 95 96 IF(narea == 419) THEN 97 WRITE(9419,*) 'max sshn step before update IO = ',MAXVAL( ABS( sshn(:,:) ) ) 98 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 99 WRITE(9419,*) 'max emp_b = ',MAXVAL( ABS( emp_b(:,:) ) ) 100 WRITE(9419,*) 'max emp = ',MAXVAL( ABS( emp(:,:) ) ) 101 ENDIF 102 95 103 ! 96 104 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 107 115 IF( ln_crs ) CALL iom_setkt( kstp - nit000 + 1, TRIM(cxios_context)//"_crs" ) ! tell IOM we are at time step kstp 108 116 117 IF(narea == 419) THEN 118 WRITE(9419,*) 'max sshn step before external forcing = ',MAXVAL( ABS( sshn(:,:) ) ) 119 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 120 WRITE(9419,*) 'max emp_b = ',MAXVAL( ABS( emp_b(:,:) ) ) 121 WRITE(9419,*) 'max emp = ',MAXVAL( ABS( emp(:,:) ) ) 122 ENDIF 123 109 124 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 110 125 ! Update external forcing (tides, open boundaries, and surface boundary condition (including sea-ice) … … 115 130 CALL sbc ( kstp ) ! Sea Boundary Condition (including sea-ice) 116 131 132 133 134 117 135 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 118 136 ! Update stochastic parameters and random T/S fluctuations … … 120 138 IF( ln_sto_eos ) CALL sto_par( kstp ) ! Stochastic parameters 121 139 IF( ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations 140 141 IF(narea == 419) THEN 142 WRITE(9419,*) 'max sshn step before ocean physics = ',MAXVAL( ABS( sshn(:,:) ) ) 143 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 144 WRITE(9419,*) 'max emp_b = ',MAXVAL( ABS( emp_b(:,:) ) ) 145 WRITE(9419,*) 'max emp = ',MAXVAL( ABS( emp(:,:) ) ) 146 ENDIF 122 147 123 148 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 155 180 IF( l_ldfdyn_time ) CALL ldf_dyn( kstp ) ! eddy viscosity coeff. 156 181 182 IF(narea == 419) THEN 183 WRITE(9419,*) 'max sshn step before ocean dynamics = ',MAXVAL( ABS( sshn(:,:) ) ) 184 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 185 WRITE(9419,*) 'max emp_b = ',MAXVAL( ABS( emp_b(:,:) ) ) 186 WRITE(9419,*) 'max emp = ',MAXVAL( ABS( emp(:,:) ) ) 187 ENDIF 188 157 189 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 158 190 ! Ocean dynamics : hdiv, ssh, e3, u, v, w … … 160 192 161 193 CALL ssh_nxt ( kstp ) ! after ssh (includes call to div_hor) 194 IF(narea == 419) THEN 195 WRITE(9419,*) 'max ssha step before dom_vvl_sf_nxt = ',MAXVAL( ABS( ssha(:,:) ) ) 196 CALL FLUSH(9419) 197 ENDIF 198 199 IF(narea == 68) THEN 200 WRITE(968,*) 'max ssha step before dom_vvl_sf_nxt = ',MAXVAL( ABS( ssha(:,:) ) ) 201 CALL FLUSH(968) 202 ENDIF 203 204 162 205 IF( .NOT.ln_linssh ) CALL dom_vvl_sf_nxt( kstp ) ! after vertical scale factors 206 207 IF(narea == 419) THEN 208 WRITE(9419,*) 'max ssha step before wzv = ',MAXVAL( ABS( ssha(:,:) ) ) 209 ENDIF 210 163 211 CALL wzv ( kstp ) ! now cross-level velocity 212 213 IF(narea == 419) THEN 214 WRITE(9419,*) 'max ssha step before wAimp = ',MAXVAL( ABS( ssha(:,:) ) ) 215 ENDIF 216 164 217 IF( ln_zad_Aimp ) CALL wAimp ( kstp ) ! Adaptive-implicit vertical advection partitioning 165 218 CALL eos ( tsn, rhd, rhop, gdept_n(:,:,:) ) ! now in situ density for hpg computation 219 220 IF(narea == 419) THEN 221 WRITE(9419,*) 'max ssha step before simplification = ',MAXVAL( ABS( ssha(:,:) ) ) 222 ENDIF 223 166 224 167 225 !!jc: fs simplification … … 182 240 IF( lk_asminc .AND. ln_asmiau .AND. ln_dyninc ) & 183 241 & CALL dyn_asm_inc ( kstp ) ! apply dynamics assimilation increment 242 243 IF(narea == 419) THEN 244 WRITE(9419,*) 'max ssha step before bdy_dyn3d_dmp = ',MAXVAL( ABS( ssha(:,:) ) ) 245 ENDIF 246 184 247 IF( ln_bdy ) CALL bdy_dyn3d_dmp ( kstp ) ! bdy damping trends 185 248 #if defined key_agrif … … 187 250 & CALL Agrif_Sponge_dyn ! momentum sponge 188 251 #endif 252 253 IF(narea == 419) THEN 254 WRITE(9419,*) 'max ssha step before dom_adv = ',MAXVAL( ABS( ssha(:,:) ) ) 255 ENDIF 256 189 257 CALL dyn_adv ( kstp ) ! advection (vector or flux form) 258 259 IF(narea == 419) THEN 260 WRITE(9419,*) 'max ssha step before dyn_vor = ',MAXVAL( ABS( ssha(:,:) ) ) 261 ENDIF 262 190 263 CALL dyn_vor ( kstp ) ! vorticity term including Coriolis 264 265 IF(narea == 419) THEN 266 WRITE(9419,*) 'max ssha step before dyn_ldft = ',MAXVAL( ABS( ssha(:,:) ) ) 267 ENDIF 268 191 269 CALL dyn_ldf ( kstp ) ! lateral mixing 270 271 IF(narea == 419) THEN 272 WRITE(9419,*) 'max ssha step before dyn_osm = ',MAXVAL( ABS( ssha(:,:) ) ) 273 ENDIF 274 192 275 IF( ln_zdfosm ) CALL dyn_osm ( kstp ) ! OSMOSIS non-local velocity fluxes 276 277 IF(narea == 419) THEN 278 WRITE(9419,*) 'max ssha step before dyn_hpg = ',MAXVAL( ABS( ssha(:,:) ) ) 279 ENDIF 280 193 281 CALL dyn_hpg ( kstp ) ! horizontal gradient of Hydrostatic pressure 282 283 IF(narea == 419) THEN 284 WRITE(9419,*) 'max ssha step before dyn_spg = ',MAXVAL( ABS( ssha(:,:) ) ) 285 ENDIF 286 194 287 CALL dyn_spg ( kstp ) ! surface pressure gradient 288 289 290 IF(narea == 419) THEN 291 WRITE(9419,*) 'max ssha step before div_hor = ',MAXVAL( ABS( ssha(:,:) ) ) 292 ENDIF 195 293 196 294 ! With split-explicit free surface, since now transports have been updated and ssha as well … … 201 299 IF( ln_zad_Aimp ) CALL wAimp ( kstp ) ! Adaptive-implicit vertical advection partitioning 202 300 ENDIF 301 302 IF(narea == 419) THEN 303 WRITE(9419,*) 'max ssha step before dyn_zdf = ',MAXVAL( ABS( ssha(:,:) ) ) 304 ENDIF 305 203 306 204 307 CALL dyn_zdf ( kstp ) ! vertical diffusion 308 309 IF(narea == 419) THEN 310 WRITE(9419,*) 'max sshn step before cool skin = ',MAXVAL( ABS( sshn(:,:) ) ) 311 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 312 ENDIF 205 313 206 314 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 208 316 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 209 317 IF ( ln_diurnal ) CALL stp_diurnal( kstp ) 318 319 IF(narea == 419) THEN 320 WRITE(9419,*) 'max sshn step before diagnostics = ',MAXVAL( ABS( sshn(:,:) ) ) 321 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 322 ENDIF 210 323 211 324 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 230 343 #endif 231 344 345 IF(narea == 419) THEN 346 WRITE(9419,*) 'max sshn step before active tracers = ',MAXVAL( ABS( sshn(:,:) ) ) 347 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 348 ENDIF 349 232 350 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 233 351 ! Active tracers … … 237 355 IF( lk_asminc .AND. ln_asmiau .AND. & 238 356 & ln_trainc ) CALL tra_asm_inc ( kstp ) ! apply tracer assimilation increment 357 358 IF(narea == 419) THEN 359 WRITE(9419,*) 'max sshn step before tra_sbc = ',MAXVAL( ABS( sshn(:,:) ) ) 360 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 361 ENDIF 362 239 363 CALL tra_sbc ( kstp ) ! surface boundary condition 364 365 IF(narea == 419) THEN 366 WRITE(9419,*) 'max sshn step after tra_sbc = ',MAXVAL( ABS( sshn(:,:) ) ) 367 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 368 ENDIF 369 240 370 IF( ln_traqsr ) CALL tra_qsr ( kstp ) ! penetrative solar radiation qsr 241 371 IF( ln_trabbc ) CALL tra_bbc ( kstp ) ! bottom heat flux … … 258 388 CALL tra_zdf ( kstp ) ! vertical mixing and after tracer fields 259 389 IF( ln_zdfnpc ) CALL tra_npc ( kstp ) ! update after fields by non-penetrative convection 390 391 IF(narea == 419) THEN 392 WRITE(9419,*) 'max sshn step before boundary conditions = ',MAXVAL( ABS( sshn(:,:) ) ) 393 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 394 ENDIF 260 395 261 396 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 277 412 !!jc2: dynnxt must be the latest call. e3t_b are indeed updated in that routine 278 413 CALL tra_nxt ( kstp ) ! finalize (bcs) tracer fields at next time step and swap 414 415 IF(narea == 419) THEN 416 WRITE(9419,*) 'max sshn step before dyn_nxt = ',MAXVAL( ABS( sshn(:,:) ) ) 417 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 418 ENDIF 419 279 420 CALL dyn_nxt ( kstp ) ! finalize (bcs) velocities at next time step and swap (always called after tra_nxt) 421 422 IF(narea == 419) THEN 423 WRITE(9419,*) 'max sshn step before ssh_swp = ',MAXVAL( ABS( sshn(:,:) ) ) 424 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 425 ENDIF 426 280 427 CALL ssh_swp ( kstp ) ! swap of sea surface height 428 429 IF(narea == 419) THEN 430 WRITE(9419,*) 'max sshn step before dom_vvl_sf_swp = ',MAXVAL( ABS( sshn(:,:) ) ) 431 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 432 ENDIF 433 281 434 IF(.NOT.ln_linssh) CALL dom_vvl_sf_swp( kstp ) ! swap of vertical scale factors 282 435 ! 436 437 IF(narea == 419) THEN 438 WRITE(9419,*) 'max sshn step before dia_hsb = ',MAXVAL( ABS( sshn(:,:) ) ) 439 WRITE(9419,*) 'max ssha = ',MAXVAL( ABS( ssha(:,:) ) ) 440 ENDIF 441 283 442 IF( ln_diahsb ) CALL dia_hsb ( kstp ) ! - ML - global conservation diagnostics 284 443 … … 291 450 IF( ln_sto_eos ) CALL sto_rst_write( kstp ) ! write restart file for stochastic parameters 292 451 452 IF(narea == 419) THEN 453 WRITE(9419,*) 'max sshn step before agrif = ',MAXVAL( ABS( sshn(:,:) ) ) 454 ENDIF 455 293 456 #if defined key_agrif 294 457 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 304 467 ! Control 305 468 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 469 470 IF(narea == 419) THEN 471 WRITE(9419,*) 'max sshn step before stp_ctl = ',MAXVAL( ABS( sshn(:,:) ) ) 472 ENDIF 473 306 474 CALL stp_ctl ( kstp, indic ) 307 475 -
NEMO/branches/UKMO/NEMO_4.0_GO8_coupled_iodef/src/OCE/stpctl.F90
r10888 r11355 108 108 REWIND( numstp ) 109 109 ENDIF 110 111 IF(narea == 419) THEN 112 WRITE(9419,*) 'max sshn stpctl before crash = ',MAXVAL( ABS( sshn(:,:) ) ) 113 ENDIF 110 114 ! 111 115 ! !== test of extrema ==! … … 174 178 175 179 CALL dia_wri_state( 'output.abort' ) ! create an output.abort file 180 181 CLOSE(unit=9419) 182 CLOSE(unit=968) 176 183 177 184 IF( .NOT. ln_ctl ) THEN
Note: See TracChangeset
for help on using the changeset viewer.