Changeset 8892
- Timestamp:
- 2017-12-04T15:09:10+01:00 (7 years ago)
- Location:
- branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r8879 r8892 480 480 ii = ii + 1 481 481 ALLOCATE( u_ice_b(jpi,jpj) , v_ice_b(jpi,jpj) , at_i_b(jpi,jpj) , STAT=ierr(ii) ) 482 482 at_i_b(:,:) = 0.0 483 u_ice_b(:,:) = 0.0 484 v_ice_b(:,:) = 0.0 485 483 486 ! * Ice thickness distribution variables 484 487 ii = ii + 1 -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/LIM_SRC_3/icecor.F90
r8879 r8892 103 103 ! !----------------------------------------------------- 104 104 IF ( jpl > 1 ) CALL ice_itd_reb( kt ) 105 105 write(numout,*) "RSRH out of ice_itd_reb in icecor", kt ; flush(numout) 106 106 ! !----------------------------------------------------- 107 107 CALL ice_var_zapsmall ! Zap small values ! … … 133 133 CASE( 1 ) !--- dyn trend diagnostics 134 134 ! 135 write(numout,*) "RSRH GG icecor CASE 1", kt ; flush(numout) 135 136 !!gm here I think the number of ice cat is too small to use a SUM instruction... 136 137 DO jj = 1, jpj … … 152 153 CASE( 2 ) !--- thermo trend diagnostics & ice aging 153 154 ! 155 write(numout,*) "RSRH GG icecor CASE 2", kt ; flush(numout) 154 156 oa_i(:,:,:) = oa_i(:,:,:) + a_i(:,:,:) * rdt_ice ! ice natural aging incrementation 155 157 ! … … 173 175 ! 174 176 END SELECT 177 write(numout,*) "RSRH HH icecor", kt ; flush(numout) 175 178 ! 176 179 ! controls … … 179 182 IF( ln_icectl .AND. kn == 2 ) CALL ice_prt( kt, iiceprt, jiceprt, 2, ' - Final state - ' ) ! prints 180 183 IF( nn_timing == 1 ) CALL timing_stop ('icecor') ! timing 184 write(numout,*) "RSRH leaving icecor", kt ; flush(numout) 181 185 ! 182 186 END SUBROUTINE ice_cor -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90
r8879 r8892 146 146 ! 147 147 CASE ( jp_purecpl ) !--- coupled formulation 148 write(numout,*) "RSRH call cpl_ice_flx at_i_b",kt,glob_sum(at_i_b(:,:));flush(numout) 149 write(numout,*) "RSRH call cpl_ice_flx alb_ice",kt,glob_sum(alb_ice(:,:));flush(numout) 150 write(numout,*) "RSRH call cpl_ice_flx sst_m",kt,glob_sum(sst_m(:,:));flush(numout) 151 148 152 CALL sbc_cpl_ice_flx( picefr=at_i_b, palbi=alb_ice, psst=sst_m, pist=t_su, phs=h_s, phi=h_i ) 153 write(numout,*) "RSRH call cpl_ice_flx",kt,glob_sum(at_i_b(:,:));flush(numout) 149 154 IF( nn_iceflx == 2 ) CALL ice_flx_dist( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_iceflx ) 150 155 ! -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/LIM_SRC_3/iceistate.F90
r8879 r8892 365 365 DO jl = 1, jpl 366 366 a_ip_frac(:,:,jl) = rn_apnd * zswitch(:,:) * zfac 367 WRITE(numout,*) "RSRH iceistate AA: a_ip_frac", glob_sum(a_ip_frac(:,:,:)) ; flush(numout) 368 WRITE(numout,*) "RSRH iceistate AA: zswitch", glob_sum(zswitch(:,:)) ; flush(numout) 369 WRITE(numout,*) "RSRH iceistate BB: h_ip pre calc", glob_sum(h_ip(:,:,:)) ; flush(numout) 370 367 371 h_ip (:,:,jl) = rn_hpnd * zswitch(:,:) * zfac 372 WRITE(numout,*) "RSRH iceistate BB: h_ip post calc", glob_sum(h_ip(:,:,:)) ; flush(numout) 368 373 END DO 374 WRITE(numout,*) "RSRH iceistate CC: a_ip_frac pre a_ip calc", glob_sum(a_ip_frac(:,:,:)) ; flush(numout) 375 WRITE(numout,*) "RSRH iceistate CC: a_i pre a_ip calc", glob_sum(a_i(:,:,:)) ; flush(numout) 376 WRITE(numout,*) "RSRH iceistate CC: a_ip pre a_ip calc", glob_sum(a_ip(:,:,:)) ; flush(numout) 369 377 a_ip(:,:,:) = a_ip_frac(:,:,:) * a_i (:,:,:) 378 WRITE(numout,*) "RSRH iceistate DD: h_ip pre v_ip calc", glob_sum(h_ip(:,:,:)) ; flush(numout) 379 WRITE(numout,*) "RSRH iceistate DD: a_ip pre v_ip calc", glob_sum(a_ip(:,:,:)) ; flush(numout) 370 380 v_ip(:,:,:) = h_ip (:,:,:) * a_ip(:,:,:) 371 381 -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/LIM_SRC_3/iceitd.F90
r8879 r8892 26 26 USE in_out_manager ! I/O manager 27 27 USE lib_mpp ! MPP library 28 USE lib_fortran ! fortran utilities ( glob_sum + no signed zero)28 USE lib_fortran ! fortran utilities (sum + no signed zero) 29 29 USE prtctl ! Print control 30 30 … … 108 108 zdhice(:,:) = 0._wp 109 109 zhbnew(:,:) = 0._wp 110 110 write(numout,*) "RSRH PE iceitd AA h_i", sum(h_i(:,:,:)); flush(numout) 111 write(numout,*) "RSRH PE iceitd AA a_i", sum(a_i(:,:,:)); flush(numout) 111 112 CALL tab_3d_2d( npti, nptidx(1:npti), h_i_2d (1:npti,1:jpl), h_i ) 112 113 CALL tab_3d_2d( npti, nptidx(1:npti), h_ib_2d(1:npti,1:jpl), h_i_b ) … … 197 198 DO jl = 1, jpl 198 199 ! 200 write(numout,*) "RSRH PE iceitd BB h_i", sum(h_i(:,:,:)); flush(numout) 201 write(numout,*) "RSRH PE iceitd BB a_i", sum(a_i(:,:,:)); flush(numout) 199 202 CALL tab_2d_1d( npti, nptidx(1:npti), h_ib_1d(1:npti), h_i_b(:,:,jl) ) 200 203 CALL tab_2d_1d( npti, nptidx(1:npti), h_i_1d (1:npti), h_i(:,:,jl) ) … … 241 244 END DO 242 245 ! 246 write(numout,*) "RSRH PE iceitd CC h_i", sum(h_i(:,:,:)); flush(numout) 247 write(numout,*) "RSRH PE iceitd CC a_i", sum(a_i(:,:,:)); flush(numout) 243 248 CALL tab_1d_2d( npti, nptidx(1:npti), h_i_1d (1:npti), h_i(:,:,jl) ) 244 249 CALL tab_1d_2d( npti, nptidx(1:npti), a_i_1d (1:npti), a_i(:,:,jl) ) … … 294 299 ! 7) Make sure h_i >= minimum ice thickness hi_min 295 300 !---------------------------------------------------------------------------------------------- 301 write(numout,*) "RSRH PE iceitd DD h_i", sum(h_i(:,:,:)); flush(numout) 302 write(numout,*) "RSRH PE iceitd DD a_i", sum(a_i(:,:,:)); flush(numout) 303 write(numout,*) "RSRH PE iceitd DD a_ip", sum(a_ip(:,:,:)); flush(numout) 296 304 CALL tab_2d_1d( npti, nptidx(1:npti), h_i_1d (1:npti), h_i(:,:,1) ) 297 305 CALL tab_2d_1d( npti, nptidx(1:npti), a_i_1d (1:npti), a_i(:,:,1) ) 298 306 CALL tab_2d_1d( npti, nptidx(1:npti), a_ip_1d (1:npti), a_ip(:,:,1) ) 307 write(numout,*) "RSRH PE iceitd EE h_i", sum(h_i(:,:,:)); flush(numout) 308 write(numout,*) "RSRH PE iceitd EE a_i", sum(a_i(:,:,:)); flush(numout) 309 write(numout,*) "RSRH PE iceitd EE a_ip", sum(a_ip(:,:,:)); flush(numout) 299 310 300 311 DO ji = 1, npti … … 306 317 END DO 307 318 ! 319 write(numout,*) "RSRH PE iceitd FF h_i", sum(h_i(:,:,:)); flush(numout) 320 write(numout,*) "RSRH PE iceitd FF a_i", sum(a_i(:,:,:)); flush(numout) 321 write(numout,*) "RSRH PE iceitd FF a_ip", sum(a_ip(:,:,:)); flush(numout) 308 322 CALL tab_1d_2d( npti, nptidx(1:npti), h_i_1d (1:npti), h_i(:,:,1) ) 309 323 CALL tab_1d_2d( npti, nptidx(1:npti), a_i_1d (1:npti), a_i(:,:,1) ) 310 324 CALL tab_1d_2d( npti, nptidx(1:npti), a_ip_1d (1:npti), a_ip(:,:,1) ) 325 write(numout,*) "RSRH PE iceitd GG h_i", sum(h_i(:,:,:)); flush(numout) 326 write(numout,*) "RSRH PE iceitd GG a_i", sum(a_i(:,:,:)); flush(numout) 327 write(numout,*) "RSRH PE iceitd GG a_ip", sum(a_ip(:,:,:)); flush(numout) 311 328 ! 312 329 ENDIF … … 527 544 END WHERE 528 545 ! 546 write(numout,*) "RSRH PE iceitd HH h_i", sum(h_i(:,:,:)); flush(numout) 547 write(numout,*) "RSRH PE iceitd HH a_i", sum(a_i(:,:,:)); flush(numout) 548 write(numout,*) "RSRH PE iceitd HH a_ip", sum(a_ip(:,:,:)); flush(numout) 529 549 CALL tab_2d_3d( npti, nptidx(1:npti), h_i_2d (1:npti,1:jpl), h_i ) 530 550 CALL tab_2d_3d( npti, nptidx(1:npti), a_i_2d (1:npti,1:jpl), a_i ) … … 536 556 CALL tab_2d_3d( npti, nptidx(1:npti), v_ip_2d(1:npti,1:jpl), v_ip ) 537 557 CALL tab_2d_3d( npti, nptidx(1:npti), t_su_2d(1:npti,1:jpl), t_su ) 558 write(numout,*) "RSRH PE iceitd II h_i", sum(h_i(:,:,:)); flush(numout) 559 write(numout,*) "RSRH PE iceitd II a_i", sum(a_i(:,:,:)); flush(numout) 560 write(numout,*) "RSRH PE iceitd II a_ip", sum(a_ip(:,:,:)); flush(numout) 538 561 ! 539 562 END SUBROUTINE ice_itd_shiftice … … 576 599 END DO 577 600 ! 601 write(numout,*) "RSRH PE iceitd KK h_i",jl, sum(h_i(:,:,jl)); flush(numout) 602 write(numout,*) "RSRH PE iceitd KK a_i",jl, sum(a_i(:,:,jl)); flush(numout) 603 write(numout,*) "RSRH PE iceitd KK a_ip",jl, sum(a_ip(:,:,jl)); flush(numout) 604 ! 578 605 !!clem CALL tab_2d_1d( npti, nptidx(1:npti), h_i_1d (1:npti), h_i(:,:,jl) ) 579 606 CALL tab_2d_1d( npti, nptidx(1:npti), a_i_1d (1:npti), a_i(:,:,jl) ) 580 607 CALL tab_2d_1d( npti, nptidx(1:npti), v_i_1d (1:npti), v_i(:,:,jl) ) 608 write(numout,*) "RSRH PE iceitd LL h_i",jl, sum(h_i(:,:,jl)); flush(numout) 609 write(numout,*) "RSRH PE iceitd LL a_i",jl, sum(a_i(:,:,jl)); flush(numout) 610 write(numout,*) "RSRH PE iceitd LL a_ip",jl, sum(a_ip(:,:jl)); flush(numout) 581 611 ! 582 612 DO ji = 1, npti … … 606 636 ! !----------------------------------------- 607 637 DO jl = jpl-1, 1, -1 ! Identify thicknesses that are too small 638 write(numout,*) "RSRH PE iceitd LL for jl=",jl ;flush(numout) 608 639 ! !----------------------------------------- 609 640 npti = 0 ; nptidx(:) = 0 … … 616 647 END DO 617 648 END DO 618 ! 649 write(numout,*) "RSRH PE iceitd LL after 1st loop for jl=",jl ;flush(numout) 650 write(numout,*) "RSRH PE iceitd get summing LL after 1st loop for jl=",jl ;flush(numout) 651 ! 652 write(numout,*) "RSRH PE iceitd MM pre h_i",jl, sum(h_i(:,:,jl)); flush(numout) 653 write(numout,*) "RSRH PE iceitd MM pre a_i",jl, sum(a_i(:,:,jl)); flush(numout) 654 write(numout,*) "RSRH PE iceitd MM pre a_ip",jl, sum(a_ip(:,:jl)); flush(numout) 619 655 CALL tab_2d_1d( npti, nptidx(1:npti), a_i_1d (1:npti), a_i(:,:,jl+1) ) ! jl+1 is ok 620 656 CALL tab_2d_1d( npti, nptidx(1:npti), v_i_1d (1:npti), v_i(:,:,jl+1) ) ! jl+1 is ok 657 write(numout,*) "RSRH PE iceitd MM h_i",jl, sum(h_i(:,:,jl)); flush(numout) 658 write(numout,*) "RSRH PE iceitd MM a_i",jl, sum(a_i(:,:,jl)); flush(numout) 659 write(numout,*) "RSRH PE iceitd MM a_ip",jl, sum(a_ip(:,:jl)); flush(numout) 621 660 DO ji = 1, npti 622 661 jdonor(ji,jl) = jl + 1 … … 624 663 zdvice(ji,jl) = v_i_1d(ji) 625 664 END DO 665 write(numout,*) "RSRH PE iceitd MM after 2nd loop for jl=",jl ;flush(numout) 626 666 ! 627 667 IF( npti > 0 ) THEN … … 632 672 zdvice(1:npti,jl) = 0._wp 633 673 ENDIF 674 write(numout,*) "RSRH PE iceitd NN after 3rd loop for jl=",jl ;flush(numout) 634 675 ! 635 676 END DO 677 write(numout,*) "RSRH PE iceitd NN out of NN loop for jl=",jl ;flush(numout) 636 678 ! 637 679 END SUBROUTINE ice_itd_reb -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/LIM_SRC_3/icestp.F90
r8879 r8892 107 107 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN ! --- Ice time step --- ! 108 108 ! !-----------------------! 109 ! 109 !meaning 110 110 kt_ice = kt ! -- Ice model time step 111 111 ! … … 116 116 v_oce(:,:) = ssv_m(:,:) 117 117 ! 118 write(numout,*) "RSRH ice_stp 00 before eos_stp ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 119 write(numout,*) "RSRH ice_stp 00 qns,sfx,emp before eos_stp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 118 120 CALL eos_fzp( sss_m(:,:) , t_bo(:,:) ) ! -- freezing temperature [Kelvin] (set to rt0 over land) 119 121 t_bo(:,:) = ( t_bo(:,:) + rt0 ) * tmask(:,:,1) + rt0 * ( 1._wp - tmask(:,:,1) ) … … 134 136 CALL ice_rst_opn( kt ) ! Open Ice restart file (if necessary) 135 137 ! 138 write(numout,*) "RSRH ice_stp 00 before ice_dyn ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 139 write(numout,*) "RSRH ice_stp 00 qns,sfx,emp before ice_dyn ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 136 140 IF( ln_icedyn .AND. .NOT.lk_c1d ) & 137 141 & CALL ice_dyn( kt ) ! -- Ice dynamics 142 write(numout,*) "RSRH ice_stp 00 after ice_dyn ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 143 write(numout,*) "RSRH ice_stp 00 qns,sfx,emp aft ice_dyn ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 138 144 ! 139 145 ! !== lateral boundary conditions ==! … … 145 151 ! 146 152 ! !== previous lead fraction and ice volume for flux calculations 153 write(numout,*) "RSRH ice_stp 00 be4 glo2eqv ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 154 write(numout,*) "RSRH ice_stp 00 qns,sfx,emp b4 glo2eqv ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 147 155 CALL ice_var_glo2eqv ! h_i and h_s for ice albedo calculation 156 write(numout,*) "RSRH ice_stp 00 be4 ice_var_agg ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 148 157 CALL ice_var_agg(1) ! at_i for coupling 158 write(numout,*) "RSRH ice_stp 00 qns,sfx,emp b4 store_filds ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 159 write(numout,*) "RSRH ice_stp 00 be4 store_filds ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 149 160 CALL store_fields ! Store now ice values 150 161 … … 162 173 ! qprec_ice, qevap_ice 163 174 !------------------------------------------------------! 175 write(numout,*) "RSRH ice_stp 00 qns,sfx,emp before forc ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 176 write(numout,*) "RSRH ice_stp 00 be4 forc ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 164 177 CALL ice_forcing_flx( kt, ksbc ) 165 178 !----------------------------! 166 179 ! --- ice thermodynamics --- ! 167 180 !----------------------------! 181 write(numout,*) "RSRH ice_stp 00 qns,sfx,emp before thd ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 182 write(numout,*) "RSRH ice_stp 00 be4 thd", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 168 183 IF( ln_icethd ) CALL ice_thd( kt ) ! -- Ice thermodynamics 169 184 ! 185 write(numout,*) "RSRH ice_stp 00 qns,sfx,emp before icecor ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 186 write(numout,*) "RSRH ice_stp 00 before icecor ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 170 187 ! 171 188 IF( ln_icethd ) CALL ice_cor( kt , 2 ) ! -- Corrections 189 write(numout,*) "RSRH ice_stp AA qns,sfx,emp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 190 write(numout,*) "RSRH ice_stp AA ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 172 191 # if defined key_agrif 173 192 IF( .NOT. Agrif_Root() ) CALL agrif_update_lim3( kt ) 174 193 # endif 175 194 CALL ice_var_glo2eqv ! necessary calls (at least for coupling) 195 write(numout,*) "RSRH ice_stp BB qns,sfx,emp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 196 write(numout,*) "RSRH ice_stp BB ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 176 197 CALL ice_var_agg( 2 ) ! necessary calls (at least for coupling) 198 write(numout,*) "RSRH ice_stp CC qns,sfx,emp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 199 write(numout,*) "RSRH ice_stp CC ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 177 200 ! 178 201 !! clem: one should switch the calculation of the fluxes onto the parent grid but the following calls do not work … … 182 205 !!# endif 183 206 CALL ice_update_flx( kt ) ! -- Update ocean surface mass, heat and salt fluxes 207 write(numout,*) "RSRH ice_stp DD qns,sfx,emp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 208 write(numout,*) "RSRH ice_stp DD ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 184 209 !!# if defined key_agrif 185 210 !! IF( .NOT. Agrif_Root() ) CALL Agrif_ParentGrid_To_ChildGrid() 186 211 !!# endif 187 212 IF( ln_icediahsb ) CALL ice_dia( kt ) ! -- Diagnostics outputs 213 write(numout,*) "RSRH ice_stp EE qns,sfx,emp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 214 write(numout,*) "RSRH ice_stp EE ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 188 215 ! 189 216 CALL ice_wri( kt ) ! -- Ice outputs 217 write(numout,*) "RSRH ice_stp FF qns,sfx,emp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 218 write(numout,*) "RSRH ice_stp FF ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 190 219 ! 191 220 IF( lrst_ice ) CALL ice_rst_write( kt ) ! -- Ice restart file 221 write(numout,*) "RSRH ice_stp HH qns,sfx,emp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 222 write(numout,*) "RSRH ice_stp HH ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 192 223 ! 193 224 IF( ln_icectl ) CALL ice_ctl( kt ) ! -- alerts in case of model crash 225 write(numout,*) "RSRH ice_stp II qns,sfx,emp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 226 write(numout,*) "RSRH ice_stp II ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 194 227 ! 195 228 ENDIF ! End sea-ice time step only … … 199 232 !-------------------------! 200 233 IF( ln_icedyn ) CALL ice_update_tau( kt, ub(:,:,1), vb(:,:,1) ) ! -- update surface ocean stresses 234 write(numout,*) "RSRH ice_stp JJ qns,sfx,emp ", kt , glob_sum(qns(:,:)), glob_sum(sfx(:,:)),glob_sum(emp(:,:)) ; flush(numout) 235 write(numout,*) "RSRH ice_stp JJ ", kt , glob_sum(ssv_m(:,:)), glob_sum(v_ice(:,:)),glob_sum(ssu_m(:,:)), glob_sum(u_ice(:,:)) ; flush(numout) 201 236 !!gm remark, the ocean-ice stress is not saved in ice diag call above ..... find a solution!!! 202 237 ! … … 360 395 361 396 ! ice velocities & total concentration 397 398 399 write(numout,*) "RSRH store_fields a_i_b sum", glob_sum(a_i_b(:,:,:));flush(numout) 400 362 401 at_i_b(:,:) = SUM( a_i_b(:,:,:), dim=3 ) 363 402 u_ice_b(:,:) = u_ice(:,:) -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/LIM_SRC_3/icethd.F90
r8879 r8892 99 99 ! controls 100 100 IF( nn_timing == 1 ) CALL timing_start('icethd') ! timing 101 102 write(numout,*) "RSRH icethd AA", kt; flush(numout) 101 103 IF( ln_icediachk ) CALL ice_cons_hsm(0, 'icethd', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) ! conservation 102 104 write(numout,*) "RSRH icethd BB", kt; flush(numout) 105 106 write(numout,*) "RSRH icethd BB u_ice", kt, glob_sum(u_ice(:,:)); flush(numout) 107 write(numout,*) "RSRH icethd BB v_ice", kt, glob_sum(v_ice(:,:)); flush(numout) 108 write(numout,*) "RSRH icethd BB ssu_m", kt, glob_sum(ssu_m(:,:)); flush(numout) 109 write(numout,*) "RSRH icethd BB ssv_m", kt, glob_sum(ssv_m(:,:)); flush(numout) 103 110 IF( kt == nit000 .AND. lwp ) THEN 104 111 WRITE(numout,*) … … 106 113 WRITE(numout,*) '~~~~~~~' 107 114 ENDIF 115 write(numout,*) "RSRH icethd CC", kt; flush(numout) 108 116 109 117 CALL ice_var_glo2eqv 118 write(numout,*) "RSRH icethd DD", kt; flush(numout) 119 120 ! RSRH. zfric needs to be properly initialised....Duuuuhh! 121 zfric(:,:) = 0.0 110 122 111 123 !---------------------------------------------! … … 113 125 !---------------------------------------------! 114 126 IF( ln_icedyn ) THEN 127 write(numout,*) "RSRH icethd EE in", kt; flush(numout) 115 128 zu_io(:,:) = u_ice(:,:) - ssu_m(:,:) 116 129 zv_io(:,:) = v_ice(:,:) - ssv_m(:,:) 130 131 write(numout,*) "RSRH icethd EE u_ice", kt, glob_sum(u_ice(:,:)); flush(numout) 132 write(numout,*) "RSRH icethd EE v_ice", kt, glob_sum(v_ice(:,:)); flush(numout) 133 write(numout,*) "RSRH icethd EE ssu_m", kt, glob_sum(ssu_m(:,:)); flush(numout) 134 write(numout,*) "RSRH icethd EE ssv_m", kt, glob_sum(ssv_m(:,:)); flush(numout) 135 write(numout,*) "RSRH icethd EE zu_io", kt, glob_sum(zu_io(:,:)); flush(numout) 136 write(numout,*) "RSRH icethd EE zv_io", kt, glob_sum(zv_io(:,:)); flush(numout) 137 138 write(numout,*) "RSRH PE icethd EE u_ice", kt, sum(u_ice(:,:)); flush(numout) 139 write(numout,*) "RSRH PE icethd EE v_ice", kt, sum(v_ice(:,:)); flush(numout) 140 write(numout,*) "RSRH PE icethd EE ssu_m", kt, sum(ssu_m(:,:)); flush(numout) 141 write(numout,*) "RSRH PE icethd EE ssv_m", kt, sum(ssv_m(:,:)); flush(numout) 142 write(numout,*) "RSRH PE icethd EE zu_io", kt, sum(zu_io(:,:)); flush(numout) 143 write(numout,*) "RSRH PE icethd EE zv_io", kt, sum(zv_io(:,:)); flush(numout) 144 145 117 146 DO jj = 2, jpjm1 118 147 DO ji = fs_2, fs_jpim1 … … 122 151 END DO 123 152 END DO 153 write(numout,*) "RSRH icethd EE", kt; flush(numout) 124 154 ELSE ! if no ice dynamics => transmit directly the atmospheric stress to the ocean 155 write(numout,*) "RSRH icethd FF in", kt; flush(numout) 125 156 DO jj = 2, jpjm1 126 157 DO ji = fs_2, fs_jpim1 … … 131 162 END DO 132 163 ENDIF 164 write(numout,*) "RSRH icethd GG", kt; flush(numout) 165 write(numout,*) "RSRH icethd GG pre zfric link", kt; flush(numout) 166 write(numout,*) "RSRH icethd GG sum pre zfric link", kt, glob_sum(zfric(:,:)); flush(numout) 167 write(numout,*) "RSRH PE icethd GG sum pre zfric link SUM", kt, sum(zfric(:,:)); flush(numout) 168 133 169 CALL lbc_lnk( zfric, 'T', 1. ) 134 ! 170 write(numout,*) "RSRH icethd GG after zfric link", kt; flush(numout) 171 ! 135 172 ftr_ice(:,:,:) = 0._wp ! initialization (part of solar radiation transmitted through the ice) 173 174 write(numout,*) "RSRH GG at_i", glob_sum(at_i(:,:)); flush(numout) 175 write(numout,*) "RSRH GG at_i_b", glob_sum(at_i_b(:,:)); flush(numout) 176 write(numout,*) "RSRH GG qsr_oce", glob_sum(qsr_oce(:,:)); flush(numout) 177 write(numout,*) "RSRH GG qns_oce", glob_sum(qns_oce(:,:)); flush(numout) 178 write(numout,*) "RSRH GG frq_m", glob_sum(frq_m(:,:)); flush(numout) 179 write(numout,*) "RSRH GG qemp_oce", glob_sum(qemp_oce(:,:)); flush(numout) 180 write(numout,*) "RSRH GG e3t_m", glob_sum(e3t_m(:,:)); flush(numout) 181 write(numout,*) "RSRH GG t_bo", glob_sum(t_bo(:,:)); flush(numout) 182 write(numout,*) "RSRH GG sst_m", glob_sum(sst_m(:,:)); flush(numout) 183 184 write(numout,*) "RSRH GG zfric", glob_sum(zfric(:,:)); flush(numout) 136 185 137 186 !--------------------------------------------------------------------! … … 185 234 END DO 186 235 END DO 236 write(numout,*) "RSRH icethd HH", kt; flush(numout) 187 237 188 238 ! In case we bypass open-water ice formation … … 206 256 & - at_i (:,:) * fhld(:,:) ! heat flux taken during bottom growth/melt 207 257 ! (fhld should be 0 while bott growth) 258 write(numout,*) "RSRH icethd II", kt; flush(numout) 208 259 !-------------------------------------------------------------------------------------------! 209 260 ! Thermodynamic computation (only on grid points covered by ice) => loop over ice categories … … 211 262 DO jl = 1, jpl 212 263 213 ! select ice covered grid points 264 write(numout,*) "RSRH icethd JJ for Jl",jl, kt; flush(numout) 265 ! select ice covered grid points 214 266 npti = 0 ; nptidx(:) = 0 215 267 DO jj = 1, jpj … … 222 274 END DO 223 275 276 write(numout,*) "RSRH icethd KK for Jl",jl, kt; flush(numout) 224 277 IF( lk_mpp ) CALL mpp_ini_ice( npti , numout ) 225 278 279 write(numout,*) "RSRH icethd LL for Jl",jl, kt; flush(numout) 226 280 IF( npti > 0 ) THEN ! If there is no ice, do nothing. 227 281 ! 228 282 CALL ice_thd_1d2d( jl, 1 ) ! --- Move to 1D arrays --- ! 229 283 ! ! --- & Change units of e_i, e_s from J/m2 to J/m3 --- ! 284 write(numout,*) "RSRH icethd MM for Jl",jl, kt; flush(numout) 230 285 ! 231 286 s_i_new (1:npti) = 0._wp ; dh_s_tot (1:npti) = 0._wp ! --- some init --- ! (important to have them here) … … 239 294 CALL ice_thd_ent( e_i_1d(1:npti,:) ) ! Ice enthalpy remapping 240 295 ENDIF 296 write(numout,*) "RSRH icethd NN for Jl",jl, kt; flush(numout) 241 297 ! 242 298 CALL ice_thd_sal( ln_icedS ) ! --- Ice salinity --- ! 299 write(numout,*) "RSRH icethd OO for Jl",jl, kt; flush(numout) 243 300 ! 244 301 CALL ice_thd_temp ! --- temperature update --- ! 302 write(numout,*) "RSRH icethd PP for Jl",jl, kt; flush(numout) 245 303 ! 246 304 !!gm please create a new logical (l_thd_lam or a better explicit name) set one for all in icestp.F90 module … … 254 312 END IF 255 313 ! 314 write(numout,*) "RSRH icethd QQ for Jl",jl, kt; flush(numout) 256 315 IF( ln_icedA ) CALL ice_thd_da ! --- lateral melting --- ! 257 316 ! 317 write(numout,*) "RSRH icethd RR for Jl",jl, kt; flush(numout) 258 318 CALL ice_thd_1d2d( jl, 2 ) ! --- Change units of e_i, e_s from J/m3 to J/m2 --- ! 259 319 ! ! --- & Move to 2D arrays --- ! 320 write(numout,*) "RSRH icethd SS for Jl",jl, kt; flush(numout) 260 321 ! 261 322 IF( lk_mpp ) CALL mpp_comm_free( ncomm_ice ) !RB necessary ?? … … 267 328 268 329 IF( ln_icediachk ) CALL ice_cons_hsm(1, 'icethd', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) 330 write(numout,*) "RSRH icethd UU for Jl",jl, kt; flush(numout) 269 331 ! 270 332 CALL ice_var_zapsmall ! --- remove very small ice concentration (<1e-10) --- ! 333 write(numout,*) "RSRH icethd VV for Jl",jl, kt; flush(numout) 271 334 ! ! & make sure at_i=SUM(a_i) & ato_i=1 where at_i=0 272 335 ! -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r8879 r8892 44 44 ! 45 45 USE in_out_manager ! I/O manager 46 use lib_fortran 46 47 USE iom ! NetCDF library 47 48 USE lib_mpp ! distribued memory computing library … … 1133 1134 ! 1134 1135 IF( ln_mixcpl ) zmsk(:,:) = 1. - xcplmask(:,:,0) 1136 1137 write(numout,*) "RSRH in sbc_cpl_rcv",kt 1138 write(numout,*) "RSRH in sbc_cpl_rcv qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1139 1135 1140 ! 1136 1141 ! ! ======================================================= ! … … 1222 1227 ENDIF 1223 1228 ! ! ========================= ! 1229 write(numout,*) "RSRH in sbc_cpl_rcv BB qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1224 1230 ! ! wind stress module ! (taum) 1225 1231 ! ! ========================= ! … … 1284 1290 1285 1291 ! ! ================== ! 1292 write(numout,*) "RSRH in sbc_cpl_rcv CC qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1286 1293 ! ! atmosph. CO2 (ppm) ! 1287 1294 ! ! ================== ! … … 1421 1428 ENDIF 1422 1429 1430 write(numout,*) "RSRH in sbc_cpl_rcv QQ qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1423 1431 ! ! ========================= ! 1424 1432 IF( k_ice <= 1 .AND. MOD( kt-1, k_fsbc ) == 0 ) THEN ! heat & freshwater fluxes ! (Ocean only case) … … 1452 1460 ELSE ; emp(:,:) = zemp(:,:) 1453 1461 ENDIF 1462 write(numout,*) "RSRH in sbc_cpl_rcv VV qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1454 1463 ! 1455 1464 ! ! non solar heat flux over the ocean (qns) … … 1488 1497 ! 1489 1498 ENDIF 1499 write(numout,*) "RSRH in sbc_cpl_rcv ZZ qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1490 1500 ! 1491 1501 CALL wrk_dealloc( jpi,jpj, ztx, zty, zmsk, zemp, zqns, zqsr, ztx2, zty2 ) … … 1778 1788 CALL wrk_alloc( jpi,jpj,jpl, zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice, zfrqsr_tr_i ) 1779 1789 1790 write(numout,*) "RSRH in sbc_cpl_ice_flx AA qns, emp, sfx", glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1791 write(numout,*) "RSRH in sbc_cpl_ice_flx AA emp_tot, emp_ice, emp_oce", glob_sum(emp_tot(:,:)), glob_sum(emp_ice(:,:)), glob_sum(emp_oce(:,:));flush(numout) 1792 1793 1780 1794 IF (sn_rcv_emp%clcat == 'yes') THEN 1781 1795 CALL wrk_alloc( jpi, jpj, jpl, zevap_ice) … … 1798 1812 SELECT CASE( TRIM( sn_rcv_emp%cldes ) ) 1799 1813 CASE( 'conservative' ) ! received fields: jpr_rain, jpr_snow, jpr_ievp, jpr_tevp 1814 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con case" 1800 1815 zsprecip(:,:) = frcv(jpr_snow)%z3(:,:,1) ! May need to ensure positive here 1801 1816 ztprecip(:,:) = frcv(jpr_rain)%z3(:,:,1) + zsprecip(:,:) ! May need to ensure positive here 1802 1817 zemp_tot(:,:) = frcv(jpr_tevp)%z3(:,:,1) - ztprecip(:,:) 1803 1818 zemp_ice(:,:) = ( frcv(jpr_ievp)%z3(:,:,1) - frcv(jpr_snow)%z3(:,:,1) ) * picefr(:,:) 1819 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con casejpr_snow ",glob_sum(frcv(jpr_snow)%z3(:,:,1)); flush(numout) 1820 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con casejpr_rain ",glob_sum(frcv(jpr_rain)%z3(:,:,1)); flush(numout) 1821 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con casejpr_tevp ",glob_sum(frcv(jpr_tevp)%z3(:,:,1)); flush(numout) 1822 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con casejpr_ievp ",glob_sum(frcv(jpr_ievp)%z3(:,:,1)); flush(numout) 1823 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con case picefr ",glob_sum(picefr(:,:)); flush(numout) 1804 1824 CASE( 'oce and ice' ) ! received fields: jpr_sbpr, jpr_semp, jpr_oemp, jpr_ievp 1825 write(numout,*) "RSRH in sbc_cpl_ice_flx BB oce and ice case" 1805 1826 zemp_tot(:,:) = ziceld(:,:) * frcv(jpr_oemp)%z3(:,:,1) + picefr(:,:) * frcv(jpr_sbpr)%z3(:,:,1) 1806 1827 zemp_ice(:,:) = frcv(jpr_semp)%z3(:,:,1) * picefr(:,:) … … 1808 1829 ztprecip(:,:) = frcv(jpr_semp)%z3(:,:,1) - frcv(jpr_sbpr)%z3(:,:,1) + zsprecip(:,:) 1809 1830 END SELECT 1831 write(numout,*) "RSRH in sbc_cpl_ice_flx BB what case?",TRIM( sn_rcv_emp%cldes ) 1832 1833 write(numout,*) "RSRH in sbc_cpl_ice_flx BB emp_tot, emp_ice, emp_oce", glob_sum(emp_tot(:,:)), glob_sum(emp_ice(:,:)), glob_sum(emp_oce(:,:));flush(numout) 1834 write(numout,*) "RSRH in sbc_cpl_ice_flx BB zemp_tot, zemp_ice", glob_sum(zemp_tot(:,:)), glob_sum(zemp_ice(:,:));flush(numout) 1810 1835 1811 1836 #if defined key_lim3 … … 1906 1931 1907 1932 #endif 1933 write(numout,*) "RSRH in sbc_cpl_ice_flx LL emp_tot, emp_ice, emp_oce", glob_sum(emp_tot(:,:)), glob_sum(emp_ice(:,:)), glob_sum(emp_oce(:,:));flush(numout) 1908 1934 ! outputs 1909 1935 !! IF( srcv(jpr_rnf)%laction ) CALL iom_put( 'runoffs' , rnf(:,:) * tmask(:,:,1) ) ! runoff … … 1975 2001 ! Heat content per unit mass of rain (J/kg) 1976 2002 zcptrain(:,:) = rcp * ( SUM( (tn_ice(:,:,:) - rt0) * a_i(:,:,:), dim=3 ) + sst_m(:,:) * ziceld(:,:) ) 2003 write(numout,*) "RSRH in sbc_cpl_ice_flx NN zcptsnw,zcptn", glob_sum(zcptsnw(:,:)), glob_sum(zcptn(:,:));flush(numout) 1977 2004 1978 2005 ! --- enthalpy of snow precip over ice in J/m3 (to be used in 1D-thermo) --- ! … … 1991 2018 !! zqemp_ice(:,:) = - frcv(jpr_ievp)%z3(:,:,1) * picefr(:,:) * zcptsnw (:,:) & ! ice evap 1992 2019 !! & + zsprecip(:,:) * zsnw * zqprec_ice(:,:) * r1_rhosn ! solid precip over ice 2020 write(numout,*) "RSRH in sbc_cpl_ice_flx NN zsprecip,zcptrain", glob_sum(zsprecip(:,:)), glob_sum(zcptrain(:,:));flush(numout) 1993 2021 1994 2022 ! --- total non solar flux (including evap/precip) --- ! … … 1997 2025 ! --- in case both coupled/forced are active, we must mix values --- ! 1998 2026 IF( ln_mixcpl ) THEN 2027 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.1 zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2028 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.1 xcplmask", glob_sum(xcplmask(:,:,0));flush(numout) 2029 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.1 xcplmask", glob_sum(Zmsk(:,:));flush(numout) 1999 2030 qns_tot(:,:) = qns_tot(:,:) * xcplmask(:,:,0) + zqns_tot(:,:)* zmsk(:,:) 2000 2031 qns_oce(:,:) = qns_oce(:,:) * xcplmask(:,:,0) + zqns_oce(:,:)* zmsk(:,:) 2032 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.2 zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2001 2033 DO jl=1,jpl 2002 2034 qns_ice (:,:,jl) = qns_ice (:,:,jl) * xcplmask(:,:,0) + zqns_ice (:,:,jl)* zmsk(:,:) 2003 2035 qevap_ice(:,:,jl) = qevap_ice(:,:,jl) * xcplmask(:,:,0) + zqevap_ice(:,:,jl)* zmsk(:,:) 2004 2036 ENDDO 2037 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.3 zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2005 2038 qprec_ice(:,:) = qprec_ice(:,:) * xcplmask(:,:,0) + zqprec_ice(:,:)* zmsk(:,:) 2006 2039 qemp_oce (:,:) = qemp_oce(:,:) * xcplmask(:,:,0) + zqemp_oce(:,:)* zmsk(:,:) 2007 2040 qemp_ice (:,:) = qemp_ice(:,:) * xcplmask(:,:,0) + zqemp_ice(:,:)* zmsk(:,:) 2041 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.4 zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2008 2042 ELSE 2043 write(numout,*) "RSRH in sbc_cpl_ice_flx PP zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2009 2044 qns_tot (:,: ) = zqns_tot (:,: ) 2010 2045 qns_oce (:,: ) = zqns_oce (:,: ) … … 2015 2050 qemp_ice (:,: ) = zqemp_ice (:,: ) 2016 2051 ENDIF 2052 write(numout,*) "RSRH in sbc_cpl_ice_flx PP qns_tot, qns_ice, qns_oce", glob_sum(qns_tot(:,:)), glob_sum(qns_ice(:,:)), glob_sum(qns_oce(:,:));flush(numout) 2017 2053 2018 2054 #else … … 2049 2085 ! note: hflx for runoff and iceshelf are done in sbcrnf and sbcisf resp. 2050 2086 ! 2087 write(numout,*) "RSRH in sbc_cpl_ice_flx MM qns, emp, sfx", glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 2051 2088 ! ! ========================= ! 2052 2089 SELECT CASE( TRIM( sn_rcv_qsr%cldes ) ) ! solar heat fluxes ! (qsr) … … 2202 2239 CALL wrk_dealloc( jpi,jpj,1,zevap_ice) 2203 2240 ENDIF 2241 write(numout,*) "RSRH in sbc_cpl_ice_flx ZZ qns, emp, sfx", glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 2204 2242 ! 2205 2243 IF( nn_timing == 1 ) CALL timing_stop('sbc_cpl_ice_flx') -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90
r8879 r8892 20 20 ! 21 21 USE in_out_manager ! I/O manager 22 use lib_fortran 22 23 USE prtctl ! Print control 23 24 USE iom ! IOM library … … 59 60 ! 60 61 ! !* surface T-, U-, V- ocean level variables (T, S, depth, velocity) 62 write(numout,*) "RSRH sbcssm tsb", kt, glob_sum(tsb(:,:,:,jp_tem)); flush(numout) 63 write(numout,*) "RSRH sbcssm tsn", kt, glob_sum(tsn(:,:,:,jp_tem)); flush(numout) 64 write(numout,*) "RSRH sbcssm tsa", kt, glob_sum(tsa(:,:,:,jp_tem)); flush(numout) 65 write(numout,*) "RSRH PE sbcssm tsb", kt, sum(tsb(:,:,:,jp_tem)); flush(numout) 66 write(numout,*) "RSRH PE sbcssm tsn", kt, sum(tsn(:,:,:,jp_tem)); flush(numout) 67 write(numout,*) "RSRH PE sbcssm tsa", kt, sum(tsa(:,:,:,jp_tem)); flush(numout) 61 68 DO jj = 1, jpj 62 69 DO ji = 1, jpi 63 zts(ji,jj,jp_tem) = ts n(ji,jj,mikt(ji,jj),jp_tem)64 zts(ji,jj,jp_sal) = ts n(ji,jj,mikt(ji,jj),jp_sal)70 zts(ji,jj,jp_tem) = tsb(ji,jj,mikt(ji,jj),jp_tem) 71 zts(ji,jj,jp_sal) = tsb(ji,jj,mikt(ji,jj),jp_sal) 65 72 END DO 66 73 END DO … … 68 75 IF( nn_fsbc == 1 ) THEN ! Instantaneous surface fields ! 69 76 ! ! ---------------------------------------- ! 77 write(numout,*) "RSRH sbcssm nnfsbc=1", kt; flush(numout) 78 write(numout,*) "RSRH sbcssm ub 00", kt, glob_sum(ub(:,:,1)); flush(numout) 79 write(numout,*) "RSRH sbcssm vb 00", kt, glob_sum(vb(:,:,1)); flush(numout) 80 write(numout,*) "RSRH sbcssm ssu_m 00", kt, glob_sum(ssu_m(:,:)); flush(numout) 81 write(numout,*) "RSRH sbcssm ssv_m 00", kt, glob_sum(ssv_m(:,:)); flush(numout) 82 write(numout,*) "RSRH sbcssm sst_m 00", kt, glob_sum(sst_m(:,:)); flush(numout) 83 70 84 ssu_m(:,:) = ub(:,:,1) 71 85 ssv_m(:,:) = vb(:,:,1) 72 IF( l_useCT ) THEN ; sst_m(:,:) = eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 73 ELSE ; sst_m(:,:) = zts(:,:,jp_tem) 86 write(numout,*) "RSRH sbcssm ub 01", kt, glob_sum(ub(:,:,1)); flush(numout) 87 write(numout,*) "RSRH sbcssm vb 01", kt, glob_sum(vb(:,:,1)); flush(numout) 88 write(numout,*) "RSRH sbcssm ssu_m 01", kt, glob_sum(ssu_m(:,:)); flush(numout) 89 write(numout,*) "RSRH sbcssm ssv_m 01", kt, glob_sum(ssv_m(:,:)); flush(numout) 90 IF( l_useCT ) THEN 91 sst_m(:,:) = eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 92 write(numout,*) "RSRH sbcssm sst_m AA", kt, glob_sum(sst_m(:,:)); flush(numout) 93 ELSE 94 sst_m(:,:) = zts(:,:,jp_tem) 95 write(numout,*) "RSRH sbcssm sst_m BB", kt, glob_sum(sst_m(:,:)); flush(numout) 74 96 ENDIF 75 97 sss_m(:,:) = zts(:,:,jp_sal) 76 98 ! ! removed inverse barometer ssh when Patm forcing is used (for sea-ice dynamics) 77 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 78 ELSE ; ssh_m(:,:) = sshn(:,:) 99 IF( ln_apr_dyn ) THEN 100 ssh_m(:,:) = sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 101 ELSE 102 ssh_m(:,:) = sshn(:,:) 79 103 ENDIF 80 104 ! … … 84 108 ! 85 109 ELSE 110 write(numout,*) "RSRH sbcssm nnfsbc NOT 1", kt; flush(numout) 86 111 ! ! ----------------------------------------------- ! 87 112 IF( kt == nit000 .AND. .NOT. l_ssm_mean ) THEN ! Initialisation: 1st time-step, no input means ! 88 ! ! ----------------------------------------------- ! 113 write(numout,*) "RSRH sbcssm nnfsbc NOT 1 BB", kt; flush(numout) 114 ! ! ----------------------------------------------- ! 89 115 IF(lwp) WRITE(numout,*) 90 116 IF(lwp) WRITE(numout,*) 'sbc_ssm : mean fields initialised to instantaneous values' … … 107 133 ! ! ---------------------------------------- ! 108 134 ELSEIF( MOD( kt - 2 , nn_fsbc ) == 0 ) THEN ! Initialisation: New mean computation ! 135 write(numout,*) "RSRH sbcssm nnfsbc NOT 1 CC", kt; flush(numout) 109 136 ! ! ---------------------------------------- ! 110 137 ssu_m(:,:) = 0._wp ! reset to zero ocean mean sbc fields … … 119 146 ! ! Cumulate at each time step ! 120 147 ! ! ---------------------------------------- ! 148 write(numout,*) "RSRH sbcssm DD add ub vb", kt; flush(numout) 149 write(numout,*) "RSRH sbcssm ub DD", kt, glob_sum(ub(:,:,1)); flush(numout) 150 write(numout,*) "RSRH sbcssm vb DD", kt, glob_sum(vb(:,:,1)); flush(numout) 151 write(numout,*) "RSRH sbcssm ssu_m DD", kt, glob_sum(ssu_m(:,:)); flush(numout) 152 write(numout,*) "RSRH sbcssm ssv_m DD", kt, glob_sum(ssv_m(:,:)); flush(numout) 153 write(numout,*) "RSRH sbcssm sst_m DD", kt, glob_sum(sst_m(:,:)); flush(numout) 121 154 ssu_m(:,:) = ssu_m(:,:) + ub(:,:,1) 122 155 ssv_m(:,:) = ssv_m(:,:) + vb(:,:,1) 123 IF( l_useCT ) THEN ; sst_m(:,:) = sst_m(:,:) + eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 124 ELSE ; sst_m(:,:) = sst_m(:,:) + zts(:,:,jp_tem) 156 write(numout,*) "RSRH ub DD aft", kt, glob_sum(ub(:,:,1)); flush(numout) 157 write(numout,*) "RSRH vb DD aft", kt, glob_sum(vb(:,:,1)); flush(numout) 158 write(numout,*) "RSRH ssu_m DD aft", kt, glob_sum(ssu_m(:,:)); flush(numout) 159 write(numout,*) "RSRH ssv_m DD aft", kt, glob_sum(ssv_m(:,:)); flush(numout) 160 IF( l_useCT ) THEN 161 write(numout,*) "RSRH sbcssm EE update sst_m", kt; flush(numout) 162 sst_m(:,:) = sst_m(:,:) + eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 163 ELSE 164 write(numout,*) "RSRH sbcssm FF update sst_m", kt; flush(numout) 165 sst_m(:,:) = sst_m(:,:) + zts(:,:,jp_tem) 125 166 ENDIF 126 167 sss_m(:,:) = sss_m(:,:) + zts(:,:,jp_sal) … … 145 186 e3t_m(:,:) = e3t_m(:,:) * zcoef ! mean vertical scale factor [m] 146 187 frq_m(:,:) = frq_m(:,:) * zcoef ! mean fraction of solar net radiation absorbed in the 1st T level [-] 147 ! 188 write(numout,*) "RSRH ub EE aft", kt, glob_sum(ub(:,:,1)); flush(numout) 189 write(numout,*) "RSRH vb EE aft", kt, glob_sum(vb(:,:,1)); flush(numout) 190 write(numout,*) "RSRH ssu_m EE aft", kt, glob_sum(ssu_m(:,:)); flush(numout) 191 write(numout,*) "RSRH ssv_m EE aft", kt, glob_sum(ssv_m(:,:)); flush(numout) 192 write(numout,*) "RSRH sst_m EE aft", kt, glob_sum(sst_m(:,:)); flush(numout) 193 ! 148 194 ENDIF 149 195 ! ! ---------------------------------------- ! … … 235 281 ENDIF 236 282 ENDIF 237 ! 283 284 write(numout,*) "RSRH ub FF aft", glob_sum(ub(:,:,1)); flush(numout) 285 write(numout,*) "RSRH vb FF aft", glob_sum(vb(:,:,1)); flush(numout) 286 write(numout,*) "RSRH ssu_m FF aft", glob_sum(ssu_m(:,:)); flush(numout) 287 write(numout,*) "RSRH ssv_m FF aft", glob_sum(ssv_m(:,:)); flush(numout) 288 289 290 ! 238 291 IF( .NOT. l_ssm_mean ) THEN ! default initialisation. needed by iceistate 239 292 ! -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90
r8877 r8892 27 27 USE trd_oce ! trends: ocean variables 28 28 USE trdtra ! trends manager: tracers 29 use lib_fortran 29 30 ! 30 31 USE in_out_manager ! I/O manager … … 91 92 ztrds(:,:,:) = tsa(:,:,:,jp_sal) 92 93 ENDIF 94 95 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn AA", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 96 93 97 ! 94 98 !!gm This should be moved into sbcmod.F90 module ? (especially now that ln_traqsr is read in namsbc namelist) … … 119 123 sbc_tsc_b(:,:,:) = sbc_tsc(:,:,:) 120 124 ENDIF 125 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn BB", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 121 126 ! !== Now sbc tracer content fields ==! 122 127 DO jj = 2, jpj … … 136 141 IF( iom_use('emp_x_sss') ) CALL iom_put( "emp_x_sss", emp (:,:) * tsn(:,:,1,jp_sal) ) 137 142 ENDIF 143 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn CC", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 144 write(numout,*) "RSRH tra_sbc qns, emp, sfx FF", kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)), glob_sum(sfx(:,:)); flush(numout) 145 write(numout,*) "RSRH tra_sbc tsn FF", kt, glob_sum(tsn(:,:,1,1)); flush(numout) 146 write(numout,*) "RSRH tra_sbc e3t_n FF", kt, glob_sum(e3t_n(:,:,1)); flush(numout) 147 write(numout,*) "RSRH tra_sbc sbc_tsc_b, sbc_tsc FF", kt, glob_sum(sbc_tsc_b(:,:,1)), glob_sum(sbc_tsc(:,:,1)); flush(numout) 138 148 ! 139 149 DO jn = 1, jpts !== update tracer trend ==! … … 144 154 END DO 145 155 END DO 156 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn DD", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 146 157 ! 147 158 IF( lrst_oce ) THEN !== write sbc_tsc in the ocean restart file ==! … … 158 169 !!gm probably taken into account in r1_hisf_tbl : to be verified 159 170 IF( ln_isf ) THEN 171 write(numout,*) "RSRH tra_sbc risf_tsc_b, risf_tsc FF", kt, glob_sum(risf_tsc_b(:,:,1)), glob_sum(risf_tsc(:,:,1)); flush(numout) 160 172 zfact = 0.5_wp 161 173 DO jj = 2, jpj … … 183 195 END DO 184 196 END IF 197 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn EE", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 185 198 ! 186 199 !---------------------------------------- … … 189 202 ! 190 203 IF( ln_rnf ) THEN ! input of heat and salt due to river runoff 204 write(numout,*) "RSRH tra_sbc rnf_tsc_b, rnf_tsc FF", kt, glob_sum(rnf_tsc_b(:,:,1)), glob_sum(rnf_tsc(:,:,1)); flush(numout) 191 205 zfact = 0.5_wp 192 206 DO jj = 2, jpj … … 204 218 END DO 205 219 ENDIF 220 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn FF", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 206 221 207 222 IF( iom_use('rnf_x_sst') ) CALL iom_put( "rnf_x_sst", rnf*tsn(:,:,1,jp_tem) ) ! runoff term on sst … … 226 241 END DO 227 242 ENDIF 243 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn GG", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 228 244 229 245 IF( l_trdtra ) THEN ! save the horizontal diffusive trends for further diagnostics … … 239 255 ! 240 256 IF( nn_timing == 1 ) CALL timing_stop('tra_sbc') 257 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn HH", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 241 258 ! 242 259 END SUBROUTINE tra_sbc -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/step.F90
r8879 r8892 38 38 ! 39 39 USE iom ! xIOs server 40 use in_out_manager 41 use lib_fortran 42 use oce 43 40 44 41 45 IMPLICIT NONE … … 116 120 IF( ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations 117 121 122 write(numout,*) "RSRH step tsb, tsa, tsn AA", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 123 118 124 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 119 125 ! Ocean physics update (ua, va, tsa used as workspace) … … 124 130 CALL bn2 ( tsb, rab_b, rn2b ) ! before Brunt-Vaisala frequency 125 131 CALL bn2 ( tsn, rab_n, rn2 ) ! now Brunt-Vaisala frequency 132 write(numout,*) "RSRH step tsb, tsa, tsn BB", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 126 133 127 134 ! … … 139 146 avmv(:,:,:) = rn_avm0 * wvmask(:,:,:) 140 147 ENDIF 148 write(numout,*) "RSRH step tsb, tsa, tsn CC", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 141 149 142 150 IF( ln_rnf_mouth ) THEN ! increase diffusivity at rivers mouths … … 151 159 CALL zdf_mxl( kstp ) ! mixed layer depth 152 160 161 write(numout,*) "RSRH step tsb, tsa, tsn DD", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 153 162 ! write TKE or GLS information in the restart file 154 163 IF( lrst_oce .AND. lk_zdftke ) CALL tke_rst( kstp, 'WRITE' ) … … 173 182 ENDIF 174 183 ENDIF 184 write(numout,*) "RSRH step tsb, tsa, tsn EE", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 175 185 ! ! eddy diffusivity coeff. 176 186 IF( l_ldftra_time .OR. l_ldfeiv_time ) CALL ldf_tra( kstp ) ! and/or eiv coeff. … … 197 207 & rhd, gru , grv , grui, grvi ) ! of t, s, rd at the first ocean level 198 208 !!jc: fs simplification 209 write(numout,*) "RSRH step tsb, tsa, tsn FF", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 199 210 200 211 ua(:,:,:) = 0._wp ! set dynamics trends to zero … … 220 231 CALL wzv ( kstp ) ! now cross-level velocity 221 232 ENDIF 233 write(numout,*) "RSRH step tsb, tsa, tsn GG", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 222 234 223 235 CALL dyn_bfr ( kstp ) ! bottom friction … … 237 249 IF( lk_diadct ) CALL dia_dct( kstp ) ! Transports 238 250 CALL dia_ar5( kstp ) ! ar5 diag 251 write(numout,*) "RSRH step tsb, tsa, tsn HH", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 239 252 IF( lk_diaharm ) CALL dia_harm( kstp ) ! Tidal harmonic analysis 253 write(numout,*) "RSRH step tsb, tsa, tsn HH.1", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 240 254 CALL dia_wri( kstp ) ! ocean model: outputs 255 write(numout,*) "RSRH step tsb, tsa, tsn HH.2", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 241 256 ! 242 257 IF( ln_crs ) CALL crs_fld ( kstp ) ! ocean model: online field coarsening & output 243 258 259 write(numout,*) "RSRH step tsb, tsa, tsn HH.3", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 244 260 #if defined key_top 245 261 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 247 263 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 248 264 CALL trc_stp ( kstp ) ! time-stepping 265 write(numout,*) "RSRH step tsb, tsa, tsn HH.4", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 249 266 #endif 250 267 … … 257 274 & ln_trainc ) CALL tra_asm_inc ( kstp ) ! apply tracer assimilation increment 258 275 CALL tra_sbc ( kstp ) ! surface boundary condition 276 write(numout,*) "RSRH step tsb, tsa, tsn HH.5", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 259 277 IF( ln_traqsr ) CALL tra_qsr ( kstp ) ! penetrative solar radiation qsr 278 write(numout,*) "RSRH step tsb, tsa, tsn HH.6", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 260 279 IF( ln_trabbc ) CALL tra_bbc ( kstp ) ! bottom heat flux 280 write(numout,*) "RSRH step tsb, tsa, tsn HH.7", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 261 281 IF( lk_trabbl ) CALL tra_bbl ( kstp ) ! advective (and/or diffusive) bottom boundary layer scheme 282 write(numout,*) "RSRH step tsb, tsa, tsn HH.8", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 262 283 IF( ln_tradmp ) CALL tra_dmp ( kstp ) ! internal damping trends 284 write(numout,*) "RSRH step tsb, tsa, tsn HH.9", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 263 285 IF( ln_bdy ) CALL bdy_tra_dmp ( kstp ) ! bdy damping trends 286 write(numout,*) "RSRH step tsb, tsa, tsn HH.10", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 264 287 #if defined key_agrif 265 288 IF(.NOT. Agrif_Root()) & 266 289 & CALL Agrif_Sponge_tra ! tracers sponge 267 290 #endif 268 CALL tra_adv ( kstp ) ! horizontal & vertical advection 291 write(numout,*) "RSRH step tsb, tsa, tsn II", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 292 CALL tra_adv ( kstp ) ! horizontal & vertical advection 269 293 CALL tra_ldf ( kstp ) ! lateral mixing 270 294 … … 298 322 ! 299 323 IF( ln_diahsb ) CALL dia_hsb( kstp ) ! - ML - global conservation diagnostics 324 write(numout,*) "RSRH step tsb, tsa, tsn JJ", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 300 325 301 326 !!gm : This does not only concern the dynamics ==>>> add a new title … … 328 353 CALL ctl_stop( 'step: indic < 0' ) 329 354 CALL dia_wri_state( 'output.abort', kstp ) 330 CALL ctl_stop('STOP','NEMO failure in stp')331 355 ENDIF 332 356 IF( kstp == nit000 ) THEN … … 336 360 & CALL FLUSH ( numoni ) ! flush output namelist ice (if exist) 337 361 ENDIF 362 write(numout,*) "RSRH step tsb, tsa, tsn KK", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 338 363 339 364 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 340 365 ! Coupled mode 341 366 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 342 !IF( lk_oasis ) CALL sbc_cpl_snd( kstp ) ! coupled mode : field exchanges 367 !!gm why lk_oasis and not lk_cpl ???? 368 !IF( lk_oasis ) CALL sbc_cpl_snd( kstp ) ! coupled mode : field exchanges 343 369 ! 344 370 #if defined key_iomput
Note: See TracChangeset
for help on using the changeset viewer.