Changeset 4899 for branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC
- Timestamp:
- 2014-11-27T16:21:44+01:00 (10 years ago)
- Location:
- branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/BDY/bdyice_lim.F90
r4689 r4899 24 24 USE par_ice_2 25 25 USE ice_2 ! LIM_2 ice variables 26 USE dom_ice_2 ! sea-ice domain 26 27 #elif defined key_lim3 27 28 USE par_ice 28 29 USE ice ! LIM_3 ice variables 30 USE dom_ice ! sea-ice domain 29 31 #endif 30 32 USE par_oce ! ocean parameters 31 33 USE dom_oce ! ocean space and time domain variables 32 USE dom_ice ! sea-ice domain33 34 USE sbc_oce ! Surface boundary condition: ocean fields 34 35 USE bdy_oce ! ocean open boundary conditions -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90
r4624 r4899 418 418 DO ib_bdy = 1,nb_bdy 419 419 420 ! line below should be simplified (runoff case)421 !! CHANUT: TO BE SORTED OUT422 !! IF (( nn_dyn2d_dta(ib_bdy) .ge. 2 ).AND.(nn_tra(ib_bdy).NE.4)) THEN423 420 IF ( nn_dyn2d_dta(ib_bdy) .ge. 2 ) THEN 424 421 … … 453 450 IF ( PRESENT(kit) ) THEN 454 451 IF ( lk_first_btstp ) THEN ! Save slow varying open boundary data: 455 dta_bdy_s(ib_bdy)%ssh(1:ilen0(1)) = dta_bdy(ib_bdy)%ssh(1:ilen0(1))456 dta_bdy_s(ib_bdy)%u2d(1:ilen0(2)) = dta_bdy(ib_bdy)%u2d(1:ilen0(2))457 dta_bdy_s(ib_bdy)%v2d(1:ilen0(3)) = dta_bdy(ib_bdy)%v2d(1:ilen0(3))452 IF ( dta_bdy(ib_bdy)%ll_ssh ) dta_bdy_s(ib_bdy)%ssh(1:ilen0(1)) = dta_bdy(ib_bdy)%ssh(1:ilen0(1)) 453 IF ( dta_bdy(ib_bdy)%ll_u2d ) dta_bdy_s(ib_bdy)%u2d(1:ilen0(2)) = dta_bdy(ib_bdy)%u2d(1:ilen0(2)) 454 IF ( dta_bdy(ib_bdy)%ll_v2d ) dta_bdy_s(ib_bdy)%v2d(1:ilen0(3)) = dta_bdy(ib_bdy)%v2d(1:ilen0(3)) 458 455 459 456 ELSE ! Initialize arrays from slow varying open boundary data: 460 dta_bdy(ib_bdy)%ssh(1:ilen0(1)) = dta_bdy_s(ib_bdy)%ssh(1:ilen0(1))461 dta_bdy(ib_bdy)%u2d(1:ilen0(2)) = dta_bdy_s(ib_bdy)%u2d(1:ilen0(2))462 dta_bdy(ib_bdy)%v2d(1:ilen0(3)) = dta_bdy_s(ib_bdy)%v2d(1:ilen0(3))457 IF ( dta_bdy(ib_bdy)%ll_ssh ) dta_bdy(ib_bdy)%ssh(1:ilen0(1)) = dta_bdy_s(ib_bdy)%ssh(1:ilen0(1)) 458 IF ( dta_bdy(ib_bdy)%ll_u2d ) dta_bdy(ib_bdy)%u2d(1:ilen0(2)) = dta_bdy_s(ib_bdy)%u2d(1:ilen0(2)) 459 IF ( dta_bdy(ib_bdy)%ll_v2d ) dta_bdy(ib_bdy)%v2d(1:ilen0(3)) = dta_bdy_s(ib_bdy)%v2d(1:ilen0(3)) 463 460 ENDIF 464 461 ENDIF … … 471 468 z_sist = zramp * SIN( z_sarg ) 472 469 ! 473 igrd=1 ! SSH on tracer grid 474 DO ib = 1, ilen0(igrd) 475 dta_bdy(ib_bdy)%ssh(ib) = dta_bdy(ib_bdy)%ssh(ib) + & 476 & ( tides(ib_bdy)%ssh(ib,itide,1)*z_cost + & 477 & tides(ib_bdy)%ssh(ib,itide,2)*z_sist ) 478 END DO 479 ! 480 igrd=2 ! U grid 481 DO ib = 1, ilen0(igrd) 482 dta_bdy(ib_bdy)%u2d(ib) = dta_bdy(ib_bdy)%u2d(ib) + & 483 & ( tides(ib_bdy)%u(ib,itide,1)*z_cost + & 484 & tides(ib_bdy)%u(ib,itide,2)*z_sist ) 485 END DO 486 ! 487 igrd=3 ! V grid 488 DO ib = 1, ilen0(igrd) 489 dta_bdy(ib_bdy)%v2d(ib) = dta_bdy(ib_bdy)%v2d(ib) + & 490 & ( tides(ib_bdy)%v(ib,itide,1)*z_cost + & 491 & tides(ib_bdy)%v(ib,itide,2)*z_sist ) 492 END DO 493 END DO 470 IF ( dta_bdy(ib_bdy)%ll_ssh ) THEN 471 igrd=1 ! SSH on tracer grid 472 DO ib = 1, ilen0(igrd) 473 dta_bdy(ib_bdy)%ssh(ib) = dta_bdy(ib_bdy)%ssh(ib) + & 474 & ( tides(ib_bdy)%ssh(ib,itide,1)*z_cost + & 475 & tides(ib_bdy)%ssh(ib,itide,2)*z_sist ) 476 END DO 477 ENDIF 478 ! 479 IF ( dta_bdy(ib_bdy)%ll_u2d ) THEN 480 igrd=2 ! U grid 481 DO ib = 1, ilen0(igrd) 482 dta_bdy(ib_bdy)%u2d(ib) = dta_bdy(ib_bdy)%u2d(ib) + & 483 & ( tides(ib_bdy)%u(ib,itide,1)*z_cost + & 484 & tides(ib_bdy)%u(ib,itide,2)*z_sist ) 485 END DO 486 ENDIF 487 ! 488 IF ( dta_bdy(ib_bdy)%ll_v2d ) THEN 489 igrd=3 ! V grid 490 DO ib = 1, ilen0(igrd) 491 dta_bdy(ib_bdy)%v2d(ib) = dta_bdy(ib_bdy)%v2d(ib) + & 492 & ( tides(ib_bdy)%v(ib,itide,1)*z_cost + & 493 & tides(ib_bdy)%v(ib,itide,2)*z_sist ) 494 END DO 495 ENDIF 496 END DO 494 497 END IF 495 498 END DO -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r4570 r4899 45 45 USE diadimg ! dimg direct access file format output 46 46 USE diaar5, ONLY : lk_diaar5 47 USE dynadv, ONLY : ln_dynadv_vec48 47 USE iom 49 48 USE ioipsl … … 131 130 REAL(wp) :: zztmp, zztmpx, zztmpy ! 132 131 !! 133 REAL(wp), POINTER, DIMENSION(:,:) :: z2d ! 2D workspace 132 REAL(wp), POINTER, DIMENSION(:,:) :: z2d ! 2D workspace 133 REAL(wp), POINTER, DIMENSION(:,:) :: z2ds ! 2D workspace 134 134 REAL(wp), POINTER, DIMENSION(:,:,:) :: z3d ! 3D workspace 135 135 !!---------------------------------------------------------------------- … … 137 137 IF( nn_timing == 1 ) CALL timing_start('dia_wri') 138 138 ! 139 CALL wrk_alloc( jpi , jpj , z2d )139 CALL wrk_alloc( jpi , jpj , z2d , z2ds ) 140 140 CALL wrk_alloc( jpi , jpj, jpk , z3d ) 141 141 ! … … 193 193 CALL iom_put( "sstgrad" , z2d ) ! module of sst gradient 194 194 195 ! clem: heat and salt content 196 z2d(:,:) = 0._wp 197 z2ds(:,:) = 0._wp 198 DO jk = 1, jpkm1 199 DO jj = 2, jpjm1 200 DO ji = fs_2, fs_jpim1 ! vector opt. 201 z2d(ji,jj) = z2d(ji,jj) + rau0 * rcp * fse3t(ji,jj,jk) * tsn(ji,jj,jk,jp_tem) * tmask(ji,jj,jk) 202 z2ds(ji,jj) = z2ds(ji,jj) + rau0 * fse3t(ji,jj,jk) * tsn(ji,jj,jk,jp_sal) * tmask(ji,jj,jk) 203 END DO 204 END DO 205 END DO 206 CALL lbc_lnk( z2d, 'T', 1. ) 207 CALL lbc_lnk( z2ds, 'T', 1. ) 208 CALL iom_put( "heatc", z2d ) ! vertically integrated heat content (J/m2) 209 CALL iom_put( "saltc", z2ds ) ! vertically integrated salt content (PSU*kg/m2) 210 211 ! 212 rke(:,:,jk) = 0._wp ! kinetic energy 213 DO jk = 1, jpkm1 214 DO jj = 2, jpjm1 215 DO ji = fs_2, fs_jpim1 ! vector opt. 216 zztmp = 1._wp / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 217 zztmpx = 0.5 * ( un(ji-1,jj,jk) * un(ji-1,jj,jk) * e2u(ji-1,jj) * fse3u(ji-1,jj,jk) & 218 & + un(ji ,jj,jk) * un(ji ,jj,jk) * e2u(ji ,jj) * fse3u(ji ,jj,jk) ) & 219 & * zztmp 220 ! 221 zztmpy = 0.5 * ( vn(ji,jj-1,jk) * vn(ji,jj-1,jk) * e1v(ji,jj-1) * fse3v(ji,jj-1,jk) & 222 & + vn(ji,jj ,jk) * vn(ji,jj ,jk) * e1v(ji,jj ) * fse3v(ji,jj ,jk) ) & 223 & * zztmp 224 ! 225 rke(ji,jj,jk) = 0.5_wp * ( zztmpx + zztmpy ) 226 ! 227 ENDDO 228 ENDDO 229 ENDDO 230 CALL lbc_lnk( rke, 'T', 1. ) 231 CALL iom_put( "eken", rke ) 232 195 233 IF( lk_diaar5 ) THEN 196 234 z3d(:,:,jpk) = 0.e0 197 235 DO jk = 1, jpkm1 198 z3d(:,:,jk) = rau0 * un(:,:,jk) * e2u(:,:) * fse3u(:,:,jk) 236 z3d(:,:,jk) = rau0 * un(:,:,jk) * e2u(:,:) * fse3u(:,:,jk) * umask(:,:,jk) 199 237 END DO 200 238 CALL iom_put( "u_masstr", z3d ) ! mass transport in i-direction 239 201 240 zztmp = 0.5 * rcp 202 241 z2d(:,:) = 0.e0 242 z2ds(:,:) = 0.e0 203 243 DO jk = 1, jpkm1 204 244 DO jj = 2, jpjm1 205 245 DO ji = fs_2, fs_jpim1 ! vector opt. 206 246 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * zztmp * ( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) ) 247 z2ds(ji,jj) = z2ds(ji,jj) + z3d(ji,jj,jk) * 0.5_wp * ( tsn(ji,jj,jk,jp_sal) + tsn(ji+1,jj,jk,jp_sal) ) 207 248 END DO 208 249 END DO 209 250 END DO 210 251 CALL lbc_lnk( z2d, 'U', -1. ) 252 CALL lbc_lnk( z2ds, 'U', -1. ) 211 253 CALL iom_put( "u_heattr", z2d ) ! heat transport in i-direction 254 CALL iom_put( "u_salttr", z2ds ) ! salt transport in i-direction 255 256 z3d(:,:,jpk) = 0.e0 212 257 DO jk = 1, jpkm1 213 z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) 258 z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) * vmask(:,:,jk) 214 259 END DO 215 260 CALL iom_put( "v_masstr", z3d ) ! mass transport in j-direction 261 216 262 z2d(:,:) = 0.e0 263 z2ds(:,:) = 0.e0 217 264 DO jk = 1, jpkm1 218 265 DO jj = 2, jpjm1 219 266 DO ji = fs_2, fs_jpim1 ! vector opt. 220 267 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * zztmp * ( tsn(ji,jj,jk,jp_tem) + tsn(ji,jj+1,jk,jp_tem) ) 268 z2ds(ji,jj) = z2ds(ji,jj) + z3d(ji,jj,jk) * 0.5_wp * ( tsn(ji,jj,jk,jp_sal) + tsn(ji,jj+1,jk,jp_sal) ) 221 269 END DO 222 270 END DO 223 271 END DO 224 272 CALL lbc_lnk( z2d, 'V', -1. ) 225 CALL iom_put( "v_heattr", z2d ) ! heat transport in i-direction 226 ENDIF 227 ! 228 CALL wrk_dealloc( jpi , jpj , z2d ) 273 CALL lbc_lnk( z2ds, 'V', -1. ) 274 CALL iom_put( "v_heattr", z2d ) ! heat transport in j-direction 275 CALL iom_put( "v_salttr", z2ds ) ! salt transport in j-direction 276 ENDIF 277 ! 278 CALL wrk_dealloc( jpi , jpj , z2d , z2ds ) 229 279 CALL wrk_dealloc( jpi , jpj, jpk , z3d ) 230 280 ! -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r4624 r4899 808 808 id3 = iom_varid( numror, 'tilde_e3t_b', ldstop = .FALSE. ) 809 809 id4 = iom_varid( numror, 'tilde_e3t_n', ldstop = .FALSE. ) 810 id5 = iom_varid( numror, 'hdi f_lf', ldstop = .FALSE. )810 id5 = iom_varid( numror, 'hdiv_lf', ldstop = .FALSE. ) 811 811 ! ! --------- ! 812 812 ! ! all cases ! -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r4700 r4899 44 44 USE agrif_opa_interp ! agrif 45 45 #endif 46 46 #if defined key_asminc 47 USE asminc ! Assimilation increment 48 #endif 47 49 48 50 IMPLICIT NONE … … 455 457 ! ! ==================== ! 456 458 ! Initialize barotropic variables: 457 IF( kt==nit000 .AND. .NOT. ln_rstart )THEN459 IF( ll_init )THEN 458 460 sshbb_e(:,:) = 0._wp 459 461 ubb_e (:,:) = 0._wp -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis3.F90
r3294 r4899 286 286 IF ( llaction ) THEN 287 287 288 kinfo = OASIS_Rcv289 288 pdata(nldi:nlei, nldj:nlej,jc) = exfld(:,:) 290 289 … … 304 303 WRITE(numout,*) '****************' 305 304 ENDIF 305 306 ! Ideally we would not reuse kinfo, but define a separate variable 307 ! for use as the return code from this routine to avoid confusion 308 ! with the return code previously obtained from the coupler. 309 kinfo = OASIS_Rcv 306 310 307 311 ELSE -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
r4663 r4899 473 473 ! forcing record : 1 474 474 ! 475 ztmp = REAL( nday, wp ) / REAL( nyear_len(1), wp ) + 0.5 + REAL( it_offset, wp ) 475 ztmp = REAL( nsec_year, wp ) / ( REAL( nyear_len(1), wp ) * rday ) + 0.5 & 476 & + REAL( it_offset, wp ) / ( REAL( nyear_len(1), wp ) * rday ) 476 477 sdjf%nrec_a(1) = 1 + INT( ztmp ) - COUNT((/llbefore/)) 477 478 ! swap at the middle of the year 478 IF( llbefore ) THEN ; sdjf%nrec_a(2) = nsec1jan000 - NINT(0.5 * rday) * nyear_len(0) 479 ELSE ; sdjf%nrec_a(2) = nsec1jan000 + NINT(0.5 * rday) * nyear_len(1) 479 IF( llbefore ) THEN ; sdjf%nrec_a(2) = nsec1jan000 - (1 - INT(ztmp)) * NINT(0.5 * rday) * nyear_len(0) + & 480 & INT(ztmp) * NINT( 0.5 * rday) * nyear_len(1) 481 ELSE ; sdjf%nrec_a(2) = nsec1jan000 + (1 - INT(ztmp)) * NINT(0.5 * rday) * nyear_len(1) + & 482 & INT(ztmp) * INT(rday) * nyear_len(1) + INT(ztmp) * NINT( 0.5 * rday) * nyear_len(2) 480 483 ENDIF 481 484 ELSE ! no time interpolation … … 501 504 ! forcing record : nmonth 502 505 ! 503 ztmp = REAL( nday, wp ) / REAL( nmonth_len(nmonth), wp ) + 0.5 + REAL( it_offset, wp ) 506 ztmp = REAL( nsec_month, wp ) / ( REAL( nmonth_len(nmonth), wp ) * rday ) + 0.5 & 507 & + REAL( it_offset, wp ) / ( REAL( nmonth_len(nmonth), wp ) * rday ) 504 508 imth = nmonth + INT( ztmp ) - COUNT((/llbefore/)) 505 509 IF( sdjf%cltype == 'monthly' ) THEN ; sdjf%nrec_a(1) = 1 + INT( ztmp ) - COUNT((/llbefore/)) -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90
r4689 r4899 160 160 IF( lk_cpl ) THEN 161 161 IF ( ln_iceflx_ave .OR. ln_iceflx_linear ) & 162 & CALL wrk_alloc( jpi,jpj, ztem_ice_all, zalb_ice_all, z_qsr_ice_all, z_qns_ice_all, z_qla_ice_all, z_dqns_ice_all, z_dqla_ice_all) 162 & CALL wrk_alloc( jpi, jpj, ztem_ice_all , zalb_ice_all , z_qsr_ice_all, z_qns_ice_all, & 163 & z_qla_ice_all, z_dqns_ice_all, z_dqla_ice_all) 163 164 ENDIF 164 165 … … 289 290 ! 290 291 ! ! Store previous ice values 291 !!gm : remark old_... should becomes ...b as tn versus tb 292 old_a_i (:,:,:) = a_i (:,:,:) ! ice area 293 old_e_i (:,:,:,:) = e_i (:,:,:,:) ! ice thermal energy 294 old_v_i (:,:,:) = v_i (:,:,:) ! ice volume 295 old_v_s (:,:,:) = v_s (:,:,:) ! snow volume 296 old_e_s (:,:,:,:) = e_s (:,:,:,:) ! snow thermal energy 297 old_smv_i(:,:,:) = smv_i(:,:,:) ! salt content 298 old_oa_i (:,:,:) = oa_i (:,:,:) ! areal age content 299 old_u_ice(:,:) = u_ice(:,:) 300 old_v_ice(:,:) = v_ice(:,:) 292 a_i_b (:,:,:) = a_i (:,:,:) ! ice area 293 e_i_b (:,:,:,:) = e_i (:,:,:,:) ! ice thermal energy 294 v_i_b (:,:,:) = v_i (:,:,:) ! ice volume 295 v_s_b (:,:,:) = v_s (:,:,:) ! snow volume 296 e_s_b (:,:,:,:) = e_s (:,:,:,:) ! snow thermal energy 297 smv_i_b(:,:,:) = smv_i(:,:,:) ! salt content 298 oa_i_b (:,:,:) = oa_i (:,:,:) ! areal age content 299 u_ice_b(:,:) = u_ice(:,:) 300 v_ice_b(:,:) = v_ice(:,:) 301 301 302 302 ! trends !!gm is it truly necessary ??? … … 312 312 ! salt, heat and mass fluxes 313 313 sfx (:,:) = 0._wp ; 314 sfx_bri(:,:) = 0._wp ; sfx_dyn(:,:) = 0._wp314 sfx_bri(:,:) = 0._wp ; 315 315 sfx_sni(:,:) = 0._wp ; sfx_opw(:,:) = 0._wp 316 316 sfx_bog(:,:) = 0._wp ; sfx_dyn(:,:) = 0._wp … … 371 371 ENDIF 372 372 ! !- Change old values for new values 373 old_u_ice(:,:) = u_ice(:,:)374 old_v_ice(:,:) = v_ice(:,:)375 old_a_i(:,:,:) = a_i(:,:,:)376 old_v_s(:,:,:) = v_s(:,:,:)377 old_v_i(:,:,:) = v_i(:,:,:)378 old_e_s(:,:,:,:) = e_s(:,:,:,:)379 old_e_i(:,:,:,:) = e_i(:,:,:,:)380 o ld_oa_i(:,:,:) = oa_i(:,:,:)381 old_smv_i(:,:,:) = smv_i(:,:,:)373 u_ice_b(:,:) = u_ice(:,:) 374 v_ice_b(:,:) = v_ice(:,:) 375 a_i_b (:,:,:) = a_i (:,:,:) 376 v_s_b (:,:,:) = v_s (:,:,:) 377 v_i_b (:,:,:) = v_i (:,:,:) 378 e_s_b (:,:,:,:) = e_s (:,:,:,:) 379 e_i_b (:,:,:,:) = e_i (:,:,:,:) 380 oa_i_b (:,:,:) = oa_i (:,:,:) 381 smv_i_b(:,:,:) = smv_i(:,:,:) 382 382 383 383 ! ---------------------------------------------- … … 435 435 IF( lk_cpl ) THEN 436 436 IF ( ln_iceflx_ave .OR. ln_iceflx_linear ) & 437 & CALL wrk_dealloc( jpi,jpj, ztem_ice_all, zalb_ice_all, z_qsr_ice_all, z_qns_ice_all, z_qla_ice_all, z_dqns_ice_all, z_dqla_ice_all) 437 & CALL wrk_dealloc( jpi, jpj, ztem_ice_all , zalb_ice_all , z_qsr_ice_all, z_qns_ice_all, & 438 & z_qla_ice_all, z_dqns_ice_all, z_dqla_ice_all) 438 439 ENDIF 439 440 ! … … 472 473 !WRITE(numout,*) ' at_i ', at_i(ji,jj) 473 474 !WRITE(numout,*) ' Point - category', ji, jj, jl 474 !WRITE(numout,*) ' a_i *** a_i_ old ', a_i (ji,jj,jl), old_a_i(ji,jj,jl)475 !WRITE(numout,*) ' v_i *** v_i_ old ', v_i (ji,jj,jl), old_v_i(ji,jj,jl)475 !WRITE(numout,*) ' a_i *** a_i_b ', a_i (ji,jj,jl), a_i_b (ji,jj,jl) 476 !WRITE(numout,*) ' v_i *** v_i_b ', v_i (ji,jj,jl), v_i_b (ji,jj,jl) 476 477 !WRITE(numout,*) ' d_a_i_thd/trp ', d_a_i_thd(ji,jj,jl), d_a_i_trp(ji,jj,jl) 477 478 !WRITE(numout,*) ' d_v_i_thd/trp ', d_v_i_thd(ji,jj,jl), d_v_i_trp(ji,jj,jl) … … 583 584 !DO jl = 1, jpl 584 585 !WRITE(numout,*) ' Category no: ', jl 585 !WRITE(numout,*) ' a_i : ', a_i (ji,jj,jl) , ' old_a_i : ', old_a_i(ji,jj,jl)586 !WRITE(numout,*) ' a_i : ', a_i (ji,jj,jl) , ' a_i_b : ', a_i_b (ji,jj,jl) 586 587 !WRITE(numout,*) ' d_a_i_trp : ', d_a_i_trp(ji,jj,jl) , ' d_a_i_thd : ', d_a_i_thd(ji,jj,jl) 587 !WRITE(numout,*) ' v_i : ', v_i (ji,jj,jl) , ' old_v_i : ', old_v_i(ji,jj,jl)588 !WRITE(numout,*) ' v_i : ', v_i (ji,jj,jl) , ' v_i_b : ', v_i_b (ji,jj,jl) 588 589 !WRITE(numout,*) ' d_v_i_trp : ', d_v_i_trp(ji,jj,jl) , ' d_v_i_thd : ', d_v_i_thd(ji,jj,jl) 589 590 !WRITE(numout,*) ' ' … … 761 762 WRITE(numout,*) ' strength : ', strength(ji,jj) 762 763 WRITE(numout,*) ' d_u_ice_dyn : ', d_u_ice_dyn(ji,jj), ' d_v_ice_dyn : ', d_v_ice_dyn(ji,jj) 763 WRITE(numout,*) ' old_u_ice : ', old_u_ice(ji,jj) , ' old_v_ice : ', old_v_ice(ji,jj)764 WRITE(numout,*) ' u_ice_b : ', u_ice_b(ji,jj) , ' v_ice_b : ', v_ice_b(ji,jj) 764 765 WRITE(numout,*) 765 766 … … 771 772 WRITE(numout,*) ' t_su : ', t_su(ji,jj,jl) , ' t_s : ', t_s(ji,jj,1,jl) 772 773 WRITE(numout,*) ' sm_i : ', sm_i(ji,jj,jl) , ' o_i : ', o_i(ji,jj,jl) 773 WRITE(numout,*) ' a_i : ', a_i(ji,jj,jl) , ' old_a_i : ', old_a_i(ji,jj,jl)774 WRITE(numout,*) ' a_i : ', a_i(ji,jj,jl) , ' a_i_b : ', a_i_b(ji,jj,jl) 774 775 WRITE(numout,*) ' d_a_i_trp : ', d_a_i_trp(ji,jj,jl) , ' d_a_i_thd : ', d_a_i_thd(ji,jj,jl) 775 WRITE(numout,*) ' v_i : ', v_i(ji,jj,jl) , ' old_v_i : ', old_v_i(ji,jj,jl)776 WRITE(numout,*) ' v_i : ', v_i(ji,jj,jl) , ' v_i_b : ', v_i_b(ji,jj,jl) 776 777 WRITE(numout,*) ' d_v_i_trp : ', d_v_i_trp(ji,jj,jl) , ' d_v_i_thd : ', d_v_i_thd(ji,jj,jl) 777 WRITE(numout,*) ' v_s : ', v_s(ji,jj,jl) , ' old_v_s : ', old_v_s(ji,jj,jl)778 WRITE(numout,*) ' v_s : ', v_s(ji,jj,jl) , ' v_s_b : ', v_s_b(ji,jj,jl) 778 779 WRITE(numout,*) ' d_v_s_trp : ', d_v_s_trp(ji,jj,jl) , ' d_v_s_thd : ', d_v_s_thd(ji,jj,jl) 779 WRITE(numout,*) ' e_i1 : ', e_i(ji,jj,1,jl)/1.0e9 , ' old_ei1 : ', old_e_i(ji,jj,1,jl)/1.0e9780 WRITE(numout,*) ' e_i1 : ', e_i(ji,jj,1,jl)/1.0e9 , ' ei1 : ', e_i_b(ji,jj,1,jl)/1.0e9 780 781 WRITE(numout,*) ' de_i1_trp : ', d_e_i_trp(ji,jj,1,jl)/1.0e9, ' de_i1_thd : ', d_e_i_thd(ji,jj,1,jl)/1.0e9 781 WRITE(numout,*) ' e_i2 : ', e_i(ji,jj,2,jl)/1.0e9 , ' old_ei2 : ', old_e_i(ji,jj,2,jl)/1.0e9782 WRITE(numout,*) ' e_i2 : ', e_i(ji,jj,2,jl)/1.0e9 , ' ei2_b : ', e_i_b(ji,jj,2,jl)/1.0e9 782 783 WRITE(numout,*) ' de_i2_trp : ', d_e_i_trp(ji,jj,2,jl)/1.0e9, ' de_i2_thd : ', d_e_i_thd(ji,jj,2,jl)/1.0e9 783 WRITE(numout,*) ' e_snow : ', e_s(ji,jj,1,jl) , ' old_e_snow : ', old_e_s(ji,jj,1,jl)784 WRITE(numout,*) ' e_snow : ', e_s(ji,jj,1,jl) , ' e_snow_b : ', e_s_b(ji,jj,1,jl) 784 785 WRITE(numout,*) ' d_e_s_trp : ', d_e_s_trp(ji,jj,1,jl) , ' d_e_s_thd : ', d_e_s_thd(ji,jj,1,jl) 785 WRITE(numout,*) ' smv_i : ', smv_i(ji,jj,jl) , ' old_smv_i : ', old_smv_i(ji,jj,jl)786 WRITE(numout,*) ' smv_i : ', smv_i(ji,jj,jl) , ' smv_i_b : ', smv_i_b(ji,jj,jl) 786 787 WRITE(numout,*) ' d_smv_i_trp: ', d_smv_i_trp(ji,jj,jl) , ' d_smv_i_thd: ', d_smv_i_thd(ji,jj,jl) 787 WRITE(numout,*) ' oa_i : ', oa_i(ji,jj,jl) , ' o ld_oa_i : ', old_oa_i(ji,jj,jl)788 WRITE(numout,*) ' oa_i : ', oa_i(ji,jj,jl) , ' oa_i_b : ', oa_i_b(ji,jj,jl) 788 789 WRITE(numout,*) ' d_oa_i_trp : ', d_oa_i_trp(ji,jj,jl) , ' d_oa_i_thd : ', d_oa_i_thd(ji,jj,jl) 789 790 END DO !jl … … 793 794 WRITE(numout,*) ' ~~~~~~~~~~~~~~~~ ' 794 795 WRITE(numout,*) ' - Heat fluxes in and out the ice ***' 795 WRITE(numout,*) ' qsr_ini : ', pfrld(ji,jj) * qsr(ji,jj) + SUM( old_a_i(ji,jj,:) * qsr_ice(ji,jj,:) )796 WRITE(numout,*) ' qns_ini : ', pfrld(ji,jj) * qns(ji,jj) + SUM( old_a_i(ji,jj,:) * qns_ice(ji,jj,:) )796 WRITE(numout,*) ' qsr_ini : ', pfrld(ji,jj) * qsr(ji,jj) + SUM( a_i_b(ji,jj,:) * qsr_ice(ji,jj,:) ) 797 WRITE(numout,*) ' qns_ini : ', pfrld(ji,jj) * qns(ji,jj) + SUM( a_i_b(ji,jj,:) * qns_ice(ji,jj,:) ) 797 798 WRITE(numout,*) 798 799 WRITE(numout,*) -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90
r4621 r4899 53 53 USE agrif_lim2_update 54 54 # endif 55 56 #if defined key_bdy 57 USE bdyice_lim ! unstructured open boundary data (bdy_ice_lim routine) 58 #endif 55 59 56 60 IMPLICIT NONE … … 205 209 CALL lim_trp_2 ( kt ) ! Ice transport ( Advection/diffusion ) 206 210 IF( ln_limdmp ) CALL lim_dmp_2 ( kt ) ! Ice damping 211 #if defined key_bdy 212 CALL bdy_ice_lim( kt ) ! bdy ice thermo 213 #endif 207 214 END IF 208 215 #if defined key_coupled -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r4624 r4899 186 186 187 187 fmmflx(:,:) = 0.0_wp ! freezing-melting array initialisation 188 189 taum(:,:) = 0.0_wp ! Initialise taum for use in gls in case of reduced restart 188 190 189 191 ! ! restartability -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_mle.F90
r4624 r4899 203 203 ! 204 204 ! !== structure function value at uw- and vw-points ==! 205 zhu(:,:) = 1._wp / zhu(:,:) ! hu --> 1/hu 206 zhv(:,:) = 1._wp / zhv(:,:) 205 DO jj = 1, jpjm1 206 DO ji = 1, fs_jpim1 ! vector opt. 207 zhu(ji,jj) = 1._wp / zhu(ji,jj) ! hu --> 1/hu 208 zhv(ji,jj) = 1._wp / zhv(ji,jj) 209 END DO 210 END DO 211 ! 207 212 zpsi_uw(:,:,:) = 0._wp 208 213 zpsi_vw(:,:,:) = 0._wp -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r4624 r4899 129 129 IF( kt == nit000 ) THEN ! Set the forcing field at nit000 - 1 130 130 ! ! ----------------------------------- 131 qsr_hc(:,:,:) = 0.e0 132 ! 131 133 IF( ln_rstart .AND. & ! Restart: read in restart file 132 134 & iom_varid( numror, 'qsr_hc_b', ldstop = .FALSE. ) > 0 ) THEN -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
r4624 r4899 1258 1258 en (:,:,:) = rn_emin 1259 1259 mxln(:,:,:) = 0.001 1260 avt_k (:,:,:) = avt (:,:,:) 1261 avm_k (:,:,:) = avm (:,:,:) 1262 avmu_k(:,:,:) = avmu(:,:,:) 1263 avmv_k(:,:,:) = avmv(:,:,:) 1260 1264 DO jit = nit000 + 1, nit000 + 10 ; CALL zdf_gls( jit ) ; END DO 1261 1265 ENDIF -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/oce.F90
r4354 r4899 85 85 ALLOCATE(rhd (jpi,jpj,jpk) , & 86 86 & rhop(jpi,jpj,jpk) , & 87 & rke(jpi,jpj,jpk) , & 87 88 & sshb(jpi,jpj) , sshn(jpi,jpj) , ssha(jpi,jpj) , & 88 89 & ub_b(jpi,jpj) , un_b(jpi,jpj) , ua_b(jpi,jpj) , & -
branches/2014/dev_r4743_NOC2_ZTS/NEMOGCM/NEMO/OPA_SRC/step.F90
r4624 r4899 302 302 IF( lk_diaobs ) CALL dia_obs( kstp ) ! obs-minus-model (assimilation) diagnostics (call after dynamics update) 303 303 304 IF( lrst_oce .AND. ln_diahsb ) CALL dia_hsb_rst( kstp, 'WRITE' )305 304 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 306 305 ! Control and restarts
Note: See TracChangeset
for help on using the changeset viewer.