Changeset 8372 for branches/NERC
- Timestamp:
- 2017-07-25T18:58:24+02:00 (7 years ago)
- Location:
- branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA
- Files:
-
- 2 deleted
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_diag.F90
r8344 r8372 31 31 !!------------------------------------------------------------------- 32 32 USE bio_med_diag_iomput_mod, ONLY: bio_med_diag_iomput 33 USE bio_med_diag_trc_mod, ONLY: bio_med_diag_trc34 33 USE bio_medusa_mod 35 34 USE dom_oce, ONLY: e3t_0, e3t_n, & … … 42 41 USE sms_medusa, ONLY: xrfn, xthetapd, xthetapn, & 43 42 xthetazme, xthetazmi 44 USE trc, ONLY: ln_diatrc,med_diag43 USE trc, ONLY: med_diag 45 44 # if defined key_roam 46 45 USE trcoxy_medusa, ONLY: oxy_sato … … 193 192 # endif 194 193 195 IF( lk_iomput .AND. .NOT. ln_diatrc ) THEN 196 197 !!--------------------------------------------------------------- 198 !! Calculates the diagnostics used with iom_put 199 !!--------------------------------------------------------------- 200 CALL bio_med_diag_iomput( jk ) 201 202 ELSE IF( ln_diatrc ) THEN 203 204 !!--------------------------------------------------------------- 205 !! The diagnostics without using iom_use 206 !!--------------------------------------------------------------- 207 CALL bio_med_diag_trc( jk ) 208 209 ENDIF 194 !!--------------------------------------------------------------- 195 !! Calculates the diagnostics used with iom_put 196 !!--------------------------------------------------------------- 197 CALL bio_med_diag_iomput( jk ) 210 198 211 199 END SUBROUTINE bio_medusa_diag -
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_fin.F90
r8352 r8372 51 51 zn_sed_c, zn_sed_ca, zn_sed_fe, & 52 52 zn_sed_n, zn_sed_si 53 USE trc, ONLY: ctrc2d, ctrc3d, ln_diatrc, & 54 med_diag, nittrc000, & 55 trbio, trc2d, trc3d 53 USE trc, ONLY: med_diag, nittrc000 56 54 USE trcnam_trp, ONLY: ln_trcadv_cen2, ln_trcadv_tvd 57 55 … … 100 98 zn_sed_ca(:,:) = za_sed_ca(:,:) 101 99 endif 102 IF( ln_diatrc ) THEN103 DO jj = 2,jpjm1104 DO ji = 2,jpim1105 trc2d(ji,jj,131) = za_sed_n(ji,jj)106 trc2d(ji,jj,132) = za_sed_fe(ji,jj)107 trc2d(ji,jj,133) = za_sed_c(ji,jj)108 trc2d(ji,jj,134) = za_sed_si(ji,jj)109 trc2d(ji,jj,135) = za_sed_ca(ji,jj)110 ENDDO111 ENDDO112 ENDIF113 100 !! 114 101 if (ibenthic.eq.2) then … … 314 301 # endif 315 302 316 IF( ln_diatrc ) THEN317 !!-----------------------------------------------------------------318 !! Output several accumulated diagnostics319 !! - biomass-average phytoplankton limitation terms320 !! - integrated tendency terms321 !!-----------------------------------------------------------------322 !!323 DO jj = 2,jpjm1324 DO ji = 2,jpim1325 !! non-diatom phytoplankton limitations326 trc2d(ji,jj,25) = trc2d(ji,jj,25) / MAX(ftot_pn(ji,jj), rsmall)327 trc2d(ji,jj,26) = trc2d(ji,jj,26) / MAX(ftot_pn(ji,jj), rsmall)328 trc2d(ji,jj,27) = trc2d(ji,jj,27) / MAX(ftot_pn(ji,jj), rsmall)329 !! diatom phytoplankton limitations330 trc2d(ji,jj,28) = trc2d(ji,jj,28) / MAX(ftot_pd(ji,jj), rsmall)331 trc2d(ji,jj,29) = trc2d(ji,jj,29) / MAX(ftot_pd(ji,jj), rsmall)332 trc2d(ji,jj,30) = trc2d(ji,jj,30) / MAX(ftot_pd(ji,jj), rsmall)333 trc2d(ji,jj,31) = trc2d(ji,jj,31) / MAX(ftot_pd(ji,jj), rsmall)334 trc2d(ji,jj,32) = trc2d(ji,jj,32) / MAX(ftot_pd(ji,jj), rsmall)335 !! tendency terms336 trc2d(ji,jj,76) = fflx_n(ji,jj)337 trc2d(ji,jj,77) = fflx_si(ji,jj)338 trc2d(ji,jj,78) = fflx_fe(ji,jj)339 !! Integrated biomass.340 !! integrated non-diatom phytoplankton341 trc2d(ji,jj,79) = ftot_pn(ji,jj)342 !! integrated diatom phytoplankton343 trc2d(ji,jj,80) = ftot_pd(ji,jj)344 !! Integrated microzooplankton345 trc2d(ji,jj,217) = ftot_zmi(ji,jj)346 !! Integrated mesozooplankton347 trc2d(ji,jj,218) = ftot_zme(ji,jj)348 !! Integrated slow detritus, nitrogen349 trc2d(ji,jj,219) = ftot_det(ji,jj)350 !! Integrated slow detritus, carbon351 trc2d(ji,jj,220) = ftot_dtc(ji,jj)352 # if defined key_roam353 !! The balance of nitrogen production/consumption.354 !! integrated nitrogen production355 trc2d(ji,jj,111) = fnit_prod(ji,jj)356 !! integrated nitrogen consumption357 trc2d(ji,jj,112) = fnit_cons(ji,jj)358 !! The balance of carbon production/consumption.359 !! integrated carbon production360 trc2d(ji,jj,113) = fcar_prod(ji,jj)361 !! integrated carbon consumption362 trc2d(ji,jj,114) = fcar_cons(ji,jj)363 !! The balance of oxygen production/consumption.364 !! integrated oxygen production365 trc2d(ji,jj,115) = foxy_prod(ji,jj)366 !! integrated oxygen consumption367 trc2d(ji,jj,116) = foxy_cons(ji,jj)368 !! integrated unrealised oxygen consumption369 trc2d(ji,jj,117) = foxy_anox(ji,jj)370 # endif371 ENDDO372 ENDDO373 374 # if defined key_roam375 # if defined key_axy_nancheck376 !!---------------------------------------------------------------377 !! Check for NaNs in diagnostic outputs378 !!---------------------------------------------------------------379 !!380 !! 2D diagnostics381 DO jn = 1,150382 fq0 = SUM(trc2d(:,:,jn))383 !! AXY (30/01/14): "isnan" problem on HECTOR384 !! if (fq0 /= fq0 ) then385 if ( ieee_is_nan( fq0 ) ) then386 !! there's a NaN here387 if (lwp) write(numout,*) &388 'NAN detected in 2D diagnostic field', jn, 'at time', &389 kt, 'at position:'390 DO jj = 1,jpj391 DO ji = 1,jpi392 if ( ieee_is_nan( trc2d(ji,jj,jn) ) ) then393 if (lwp) write (numout,'(a,3i6)') 'NAN-CHECK', &394 ji, jj, jn395 endif396 ENDDO397 ENDDO398 CALL ctl_stop( 'trcbio_medusa, NAN in 2D diagnostic field' )399 endif400 ENDDO401 !!402 !! 3D diagnostics403 DO jn = 1,5404 fq0 = SUM(trc3d(:,:,:,jn))405 !! AXY (30/01/14): "isnan" problem on HECTOR406 !! if (fq0 /= fq0 ) then407 if ( ieee_is_nan( fq0 ) ) then408 !! there's a NaN here409 if (lwp) write(numout,*) &410 'NAN detected in 3D diagnostic field', jn, 'at time', &411 kt, 'at position:'412 DO jk = 1,jpk413 DO jj = 1,jpj414 DO ji = 1,jpi415 if ( ieee_is_nan( trc3d(ji,jj,jk,jn) ) ) then416 if (lwp) write (numout,'(a,4i6)') 'NAN-CHECK', &417 ji, jj, jk, jn418 endif419 ENDDO420 ENDDO421 ENDDO422 CALL ctl_stop( 'trcbio_medusa, NAN in 3D diagnostic field' )423 endif424 ENDDO425 CALL flush(numout)426 # endif427 # endif428 429 !!----------------------------------------------------------------430 !! Don't know what this does; belongs to someone else ...431 !!----------------------------------------------------------------432 !!433 !! Lateral boundary conditions on trc2d434 DO jn=1,jp_medusa_2d435 CALL lbc_lnk(trc2d(:,:,jn),'T',1. )436 ENDDO437 438 !! Lateral boundary conditions on trc3d439 DO jn=1,jp_medusa_3d440 CALL lbc_lnk(trc3d(:,:,1,jn),'T',1. )441 ENDDO442 443 444 # if defined key_axy_nodiag445 !!----------------------------------------------------------------446 !! Blank diagnostics as a NaN-trap447 !!----------------------------------------------------------------448 !!449 !! blank 2D diagnostic array450 trc2d(:,:,:) = 0.e0451 !!452 !! blank 3D diagnostic array453 trc3d(:,:,:,:) = 0.e0454 # endif455 456 457 !!----------------------------------------------------------------458 !! Add in XML diagnostics stuff459 !!----------------------------------------------------------------460 !!461 !! ** 2D diagnostics462 DO jn=1,jp_medusa_2d463 CALL iom_put(TRIM(ctrc2d(jn)), trc2d(:,:,jn))464 END DO465 !! AXY (17/02/14): don't think I need this if I modify the above for466 !! all diagnostics467 !! # if defined key_roam468 !! DO jn=91,jp_medusa_2d469 !! CALL iom_put(TRIM(ctrc2d(jn)), trc2d(:,:,jn))470 !! END DO471 !! # endif472 !!473 !! ** 3D diagnostics474 DO jn=1,jp_medusa_3d475 CALL iom_put(TRIM(ctrc3d(jn)), trc3d(:,:,:,jn))476 END DO477 !! AXY (17/02/14): don't think I need this if I modify the above for478 !! all diagnostics479 !! # if defined key_roam480 !! CALL iom_put(TRIM(ctrc3d(5)), trc3d(:,:,:,5))481 !! # endif482 483 484 ELSE IF( lk_iomput .AND. .NOT. ln_diatrc ) THEN485 303 !!!--------------------------------------------------------------- 486 304 !! Add very last diag calculations … … 1173 991 DEALLOCATE( zw2d ) 1174 992 1175 ENDIF ! end of ln_diatrc option1176 1177 993 END SUBROUTINE bio_medusa_fin 1178 994 -
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_init.F90
r8344 r8372 35 35 USE par_oce, ONLY: jpi, jpj, jpk 36 36 USE sms_medusa, ONLY: jdms 37 USE trc, ONLY: ln_diatrc, med_diag, nittrc000 , &38 trc2d, trc3d37 USE trc, ONLY: ln_diatrc, med_diag, nittrc000 38 USE in_out_manager, ONLY: lwp 39 39 40 40 # if defined key_iomput … … 47 47 48 48 IF( ln_diatrc ) THEN 49 !! blank 2D diagnostic array 50 trc2d(:,:,:) = 0.e0 51 !! 52 !! blank 3D diagnostic array 53 trc3d(:,:,:,:) = 0.e0 49 IF (lwp) write (numout,*) 'Diagnostics are now ALL through XIOS (key_xios)' 50 IF (lwp) write (numout,*) 'No more key_diatrc anymore.' 54 51 ENDIF 55 52 … … 171 168 !! ----------------------------- 172 169 !! Juju :: add kt condition !! 173 IF ( lk_iomput .AND. .NOT. ln_diatrc) THEN170 IF ( lk_iomput ) THEN 174 171 175 172 !! initialise iom_use test -
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_update.F90
r8344 r8372 73 73 jpalk, jpchd, jpchn, jpdet, jpdic, & 74 74 jpdin, jpdtc, jpfer, jpoxy, jppds, & 75 jpphd, jpphn, jpsil, jpzme, jpzmi 75 jpphd, jpphn, jpsil, jpzme, jpzmi, & 76 jpalk_lc, jpchd_lc, jpchn_lc, jpdet_lc, & 77 jpdic_lc, jpdin_lc, jpdtc_lc, jpfer_lc, & 78 jpoxy_lc, jppds_lc, jpphd_lc, jpphn_lc, & 79 jpsil_lc, jpzme_lc, jpzmi_lc 76 80 USE par_oce, ONLY: jpi, jpim1, jpj, jpjm1 77 81 USE par_trc, ONLY: jptra … … 130 134 !!---------------------------------------------------------- 131 135 !! chlorophyll 132 btra(ji,jj,jpchn ) = b0 * ( ( (frn(ji,jj) * fprn(ji,jj) * &136 btra(ji,jj,jpchn_lc) = b0 * ( ( (frn(ji,jj) * fprn(ji,jj) * & 133 137 zphn(ji,jj) ) - & 134 138 fgmipn(ji,jj) - fgmepn(ji,jj) - & 135 139 fdpn(ji,jj) - fdpn2(ji,jj) ) * & 136 140 (fthetan(ji,jj) / xxi) ) 137 btra(ji,jj,jpchd ) = b0 * ( ( (frd(ji,jj) * fprd(ji,jj) * &141 btra(ji,jj,jpchd_lc) = b0 * ( ( (frd(ji,jj) * fprd(ji,jj) * & 138 142 zphd(ji,jj) ) - & 139 143 fgmepd(ji,jj) - fdpd(ji,jj) - & … … 150 154 !!---------------------------------------------------------- 151 155 !! phytoplankton 152 btra(ji,jj,jpphn ) = b0 * ( (fprn(ji,jj) * zphn(ji,jj)) - &156 btra(ji,jj,jpphn_lc) = b0 * ( (fprn(ji,jj) * zphn(ji,jj)) - & 153 157 fgmipn(ji,jj) - fgmepn(ji,jj) - & 154 158 fdpn(ji,jj) - fdpn2(ji,jj) ) 155 btra(ji,jj,jpphd ) = b0 * ( (fprd(ji,jj) * zphd(ji,jj)) - &159 btra(ji,jj,jpphd_lc) = b0 * ( (fprd(ji,jj) * zphd(ji,jj)) - & 156 160 fgmepd(ji,jj) - fdpd(ji,jj) - & 157 161 fdpd2(ji,jj) ) 158 btra(ji,jj,jppds ) = b0 * ( (fprds(ji,jj) * zpds(ji,jj)) - &162 btra(ji,jj,jppds_lc) = b0 * ( (fprds(ji,jj) * zpds(ji,jj)) - & 159 163 fgmepds(ji,jj) - fdpds(ji,jj) - & 160 164 fsdiss(ji,jj) - fdpds2(ji,jj) ) … … 169 173 !!---------------------------------------------------------- 170 174 !! zooplankton 171 btra(ji,jj,jpzmi ) = b0 * (fmigrow(ji,jj) - fgmezmi(ji,jj) - &175 btra(ji,jj,jpzmi_lc) = b0 * (fmigrow(ji,jj) - fgmezmi(ji,jj) - & 172 176 fdzmi(ji,jj) - fdzmi2(ji,jj)) 173 btra(ji,jj,jpzme ) = b0 * (fmegrow(ji,jj) - fdzme(ji,jj) - &177 btra(ji,jj,jpzme_lc) = b0 * (fmegrow(ji,jj) - fdzme(ji,jj) - & 174 178 fdzme2(ji,jj)) 175 179 ENDIF … … 183 187 !!---------------------------------------------------------- 184 188 !! detritus 185 btra(ji,jj,jpdet ) = b0 * &189 btra(ji,jj,jpdet_lc) = b0 * & 186 190 ! mort. losses 187 191 (fdpn(ji,jj) + ((1.0 - xfdfrac1) * & … … 236 240 endif 237 241 !! 238 btra(ji,jj,jpdin ) = b0 * ( fn_prod + fn_cons )242 btra(ji,jj,jpdin_lc) = b0 * ( fn_prod + fn_cons ) 239 243 !! 240 244 !! consumption of dissolved nitrogen … … 281 285 endif 282 286 !! 283 btra(ji,jj,jpsil ) = b0 * ( &287 btra(ji,jj,jpsil_lc) = b0 * ( & 284 288 fs_prod + fs_cons ) 285 289 !! consumption of dissolved silicon … … 298 302 !!---------------------------------------------------------- 299 303 !! dissolved "iron" nutrient 300 btra(ji,jj,jpfer ) = b0 * ( (xrfn * btra(ji,jj,jpdin)) + &304 btra(ji,jj,jpfer_lc) = b0 * ( (xrfn * btra(ji,jj,jpdin_lc)) + & 301 305 ffetop(ji,jj) + ffebot(ji,jj) - & 302 306 ffescav(ji,jj) ) … … 305 309 !!---------------------------------------------------------- 306 310 !! AXY (26/11/08): implicit detrital carbon change 307 btra(ji,jj,jpdtc ) = b0 * ( &311 btra(ji,jj,jpdtc_lc) = b0 * ( & 308 312 ! mort. losses 309 313 (xthetapn * fdpn(ji,jj)) + & … … 381 385 endif 382 386 !! 383 btra(ji,jj,jpdic ) = b0 * ( fc_prod + fc_cons )387 btra(ji,jj,jpdic_lc) = b0 * ( fc_prod + fc_cons ) 384 388 !! consumption of dissolved carbon 385 389 fcar_cons(ji,jj) = fcar_cons(ji,jj) + ( fse3t(ji,jj,jk) * & … … 418 422 endif 419 423 !! 420 btra(ji,jj,jpalk ) = b0 * ( fa_prod + fa_cons )424 btra(ji,jj,jpalk_lc) = b0 * ( fa_prod + fa_cons ) 421 425 ENDIF 422 426 ENDDO … … 538 542 !! deficient O2; production fluxes only 539 543 if (zoxy(ji,jj).lt.xo2min) then 540 btra(ji,jj,jpoxy ) = b0 * fo2_prod(ji,jj)544 btra(ji,jj,jpoxy_lc) = b0 * fo2_prod(ji,jj) 541 545 foxy_prod(ji,jj) = foxy_prod(ji,jj) + ( fse3t(ji,jj,jk) * & 542 546 fo2_prod(ji,jj) ) … … 545 549 else 546 550 !! sufficient O2; production + consumption fluxes 547 btra(ji,jj,jpoxy ) = b0 * ( fo2_prod(ji,jj) + &551 btra(ji,jj,jpoxy_lc) = b0 * ( fo2_prod(ji,jj) + & 548 552 fo2_cons(ji,jj) ) 549 553 foxy_prod(ji,jj) = foxy_prod(ji,jj) + & … … 564 568 !! 565 569 !! CO2 flux 566 btra(ji,jj,jpdic ) = btra(ji,jj,jpdic) + (b0 * &570 btra(ji,jj,jpdic_lc) = btra(ji,jj,jpdic_lc) + (b0 * & 567 571 f_co2flux(ji,jj)) 568 572 !! 569 573 !! O2 flux (mol/m3/s -> mmol/m3/d) 570 btra(ji,jj,jpoxy ) = btra(ji,jj,jpoxy) + (b0 * &574 btra(ji,jj,jpoxy_lc) = btra(ji,jj,jpoxy_lc) + (b0 * & 571 575 f_o2flux(ji,jj)) 572 576 endif … … 586 590 if (idf.eq.1.AND.idfval.eq.1) then 587 591 IF (lwp) write (numout,*) '------------------------------' 588 IF (lwp) write (numout,*) 'btra(ji,jj,jpchn )(',jk,') = ', &589 btra(ji,jj,jpchn )590 IF (lwp) write (numout,*) 'btra(ji,jj,jpchd )(',jk,') = ', &591 btra(ji,jj,jpchd )592 IF (lwp) write (numout,*) 'btra(ji,jj,jpphn )(',jk,') = ', &593 btra(ji,jj,jpphn )594 IF (lwp) write (numout,*) 'btra(ji,jj,jpphd )(',jk,') = ', &595 btra(ji,jj,jpphd )596 IF (lwp) write (numout,*) 'btra(ji,jj,jppds )(',jk,') = ', &597 btra(ji,jj,jppds )598 IF (lwp) write (numout,*) 'btra(ji,jj,jpzmi )(',jk,') = ', &599 btra(ji,jj,jpzmi )600 IF (lwp) write (numout,*) 'btra(ji,jj,jpzme )(',jk,') = ', &601 btra(ji,jj,jpzme )602 IF (lwp) write (numout,*) 'btra(ji,jj,jpdet )(',jk,') = ', &603 btra(ji,jj,jpdet )604 IF (lwp) write (numout,*) 'btra(ji,jj,jpdin )(',jk,') = ', &605 btra(ji,jj,jpdin )606 IF (lwp) write (numout,*) 'btra(ji,jj,jpsil )(',jk,') = ', &607 btra(ji,jj,jpsil )608 IF (lwp) write (numout,*) 'btra(ji,jj,jpfer )(',jk,') = ', &609 btra(ji,jj,jpfer )592 IF (lwp) write (numout,*) 'btra(ji,jj,jpchn_lc)(',jk,') = ', & 593 btra(ji,jj,jpchn_lc) 594 IF (lwp) write (numout,*) 'btra(ji,jj,jpchd_lc)(',jk,') = ', & 595 btra(ji,jj,jpchd_lc) 596 IF (lwp) write (numout,*) 'btra(ji,jj,jpphn_lc)(',jk,') = ', & 597 btra(ji,jj,jpphn_lc) 598 IF (lwp) write (numout,*) 'btra(ji,jj,jpphd_lc)(',jk,') = ', & 599 btra(ji,jj,jpphd_lc) 600 IF (lwp) write (numout,*) 'btra(ji,jj,jppds_lc)(',jk,') = ', & 601 btra(ji,jj,jppds_lc) 602 IF (lwp) write (numout,*) 'btra(ji,jj,jpzmi_lc)(',jk,') = ', & 603 btra(ji,jj,jpzmi_lc) 604 IF (lwp) write (numout,*) 'btra(ji,jj,jpzme_lc)(',jk,') = ', & 605 btra(ji,jj,jpzme_lc) 606 IF (lwp) write (numout,*) 'btra(ji,jj,jpdet_lc)(',jk,') = ', & 607 btra(ji,jj,jpdet_lc) 608 IF (lwp) write (numout,*) 'btra(ji,jj,jpdin_lc)(',jk,') = ', & 609 btra(ji,jj,jpdin_lc) 610 IF (lwp) write (numout,*) 'btra(ji,jj,jpsil_lc)(',jk,') = ', & 611 btra(ji,jj,jpsil_lc) 612 IF (lwp) write (numout,*) 'btra(ji,jj,jpfer_lc)(',jk,') = ', & 613 btra(ji,jj,jpfer_lc) 610 614 # if defined key_roam 611 IF (lwp) write (numout,*) 'btra(ji,jj,jpdtc )(',jk,') = ', &612 btra(ji,jj,jpdtc )613 IF (lwp) write (numout,*) 'btra(ji,jj,jpdic )(',jk,') = ', &614 btra(ji,jj,jpdic )615 IF (lwp) write (numout,*) 'btra(ji,jj,jpalk )(',jk,') = ', &616 btra(ji,jj,jpalk )617 IF (lwp) write (numout,*) 'btra(ji,jj,jpoxy )(',jk,') = ', &618 btra(ji,jj,jpoxy )615 IF (lwp) write (numout,*) 'btra(ji,jj,jpdtc_lc)(',jk,') = ', & 616 btra(ji,jj,jpdtc_lc) 617 IF (lwp) write (numout,*) 'btra(ji,jj,jpdic_lc)(',jk,') = ', & 618 btra(ji,jj,jpdic_lc) 619 IF (lwp) write (numout,*) 'btra(ji,jj,jpalk_lc)(',jk,') = ', & 620 btra(ji,jj,jpalk_lc) 621 IF (lwp) write (numout,*) 'btra(ji,jj,jpoxy_lc)(',jk,') = ', & 622 btra(ji,jj,jpoxy_lc) 619 623 # endif 620 624 endif … … 633 637 !! === nitrogen === 634 638 fflx_n(ji,jj) = fflx_n(ji,jj) + fse3t(ji,jj,jk) * & 635 ( btra(ji,jj,jpphn ) + btra(ji,jj,jpphd) + &636 btra(ji,jj,jpzmi ) + btra(ji,jj,jpzme) + &637 btra(ji,jj,jpdet ) + btra(ji,jj,jpdin) )639 ( btra(ji,jj,jpphn_lc) + btra(ji,jj,jpphd_lc) + & 640 btra(ji,jj,jpzmi_lc) + btra(ji,jj,jpzme_lc) + & 641 btra(ji,jj,jpdet_lc) + btra(ji,jj,jpdin_lc) ) 638 642 !! === silicon === 639 643 fflx_si(ji,jj) = fflx_si(ji,jj) + fse3t(ji,jj,jk) * & 640 ( btra(ji,jj,jppds ) + btra(ji,jj,jpsil) )644 ( btra(ji,jj,jppds_lc) + btra(ji,jj,jpsil_lc) ) 641 645 !! === iron === 642 646 fflx_fe(ji,jj) = fflx_fe(ji,jj) + fse3t(ji,jj,jk) * & 643 647 ( (xrfn * & 644 (btra(ji,jj,jpphn ) + btra(ji,jj,jpphd) + &645 btra(ji,jj,jpzmi ) + btra(ji,jj,jpzme) + &646 btra(ji,jj,jpdet ))) + btra(ji,jj,jpfer) )648 (btra(ji,jj,jpphn_lc) + btra(ji,jj,jpphd_lc) + & 649 btra(ji,jj,jpzmi_lc) + btra(ji,jj,jpzme_lc) + & 650 btra(ji,jj,jpdet_lc))) + btra(ji,jj,jpfer_lc) ) 647 651 # if defined key_roam 648 652 !! === carbon === 649 653 fflx_c(ji,jj) = fflx_c(ji,jj) + fse3t(ji,jj,jk) * & 650 ( (xthetapn * btra(ji,jj,jpphn )) + &651 (xthetapd * btra(ji,jj,jpphd )) + &652 (xthetazmi * btra(ji,jj,jpzmi )) + &653 (xthetazme * btra(ji,jj,jpzme )) + &654 btra(ji,jj,jpdtc ) + btra(ji,jj,jpdic) )654 ( (xthetapn * btra(ji,jj,jpphn_lc)) + & 655 (xthetapd * btra(ji,jj,jpphd_lc)) + & 656 (xthetazmi * btra(ji,jj,jpzmi_lc)) + & 657 (xthetazme * btra(ji,jj,jpzme_lc)) + & 658 btra(ji,jj,jpdtc_lc) + btra(ji,jj,jpdic_lc) ) 655 659 !! === alkalinity === 656 660 fflx_a(ji,jj) = fflx_a(ji,jj) + fse3t(ji,jj,jk) * & 657 btra(ji,jj,jpalk )661 btra(ji,jj,jpalk_lc) 658 662 !! === oxygen === 659 663 fflx_o2(ji,jj) = fflx_o2(ji,jj) + fse3t(ji,jj,jk) * & 660 btra(ji,jj,jpoxy )664 btra(ji,jj,jpoxy_lc) 661 665 # endif 662 666 ENDIF … … 694 698 if (ibio_switch.eq.1) then 695 699 tra(ji,jj,jk,jpchn) = tra(ji,jj,jk,jpchn) + & 696 (btra(ji,jj,jpchn ) / 86400.)700 (btra(ji,jj,jpchn_lc) / 86400.) 697 701 tra(ji,jj,jk,jpchd) = tra(ji,jj,jk,jpchd) + & 698 (btra(ji,jj,jpchd ) / 86400.)702 (btra(ji,jj,jpchd_lc) / 86400.) 699 703 tra(ji,jj,jk,jpphn) = tra(ji,jj,jk,jpphn) + & 700 (btra(ji,jj,jpphn ) / 86400.)704 (btra(ji,jj,jpphn_lc) / 86400.) 701 705 tra(ji,jj,jk,jpphd) = tra(ji,jj,jk,jpphd) + & 702 (btra(ji,jj,jpphd ) / 86400.)706 (btra(ji,jj,jpphd_lc) / 86400.) 703 707 tra(ji,jj,jk,jppds) = tra(ji,jj,jk,jppds) + & 704 (btra(ji,jj,jppds ) / 86400.)708 (btra(ji,jj,jppds_lc) / 86400.) 705 709 tra(ji,jj,jk,jpzmi) = tra(ji,jj,jk,jpzmi) + & 706 (btra(ji,jj,jpzmi ) / 86400.)710 (btra(ji,jj,jpzmi_lc) / 86400.) 707 711 tra(ji,jj,jk,jpzme) = tra(ji,jj,jk,jpzme) + & 708 (btra(ji,jj,jpzme ) / 86400.)712 (btra(ji,jj,jpzme_lc) / 86400.) 709 713 tra(ji,jj,jk,jpdet) = tra(ji,jj,jk,jpdet) + & 710 (btra(ji,jj,jpdet ) / 86400.)714 (btra(ji,jj,jpdet_lc) / 86400.) 711 715 tra(ji,jj,jk,jpdin) = tra(ji,jj,jk,jpdin) + & 712 (btra(ji,jj,jpdin ) / 86400.)716 (btra(ji,jj,jpdin_lc) / 86400.) 713 717 tra(ji,jj,jk,jpsil) = tra(ji,jj,jk,jpsil) + & 714 (btra(ji,jj,jpsil ) / 86400.)718 (btra(ji,jj,jpsil_lc) / 86400.) 715 719 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + & 716 (btra(ji,jj,jpfer ) / 86400.)720 (btra(ji,jj,jpfer_lc) / 86400.) 717 721 # if defined key_roam 718 722 tra(ji,jj,jk,jpdtc) = tra(ji,jj,jk,jpdtc) + & 719 (btra(ji,jj,jpdtc ) / 86400.)723 (btra(ji,jj,jpdtc_lc) / 86400.) 720 724 tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + & 721 (btra(ji,jj,jpdic ) / 86400.)725 (btra(ji,jj,jpdic_lc) / 86400.) 722 726 tra(ji,jj,jk,jpalk) = tra(ji,jj,jk,jpalk) + & 723 (btra(ji,jj,jpalk ) / 86400.)727 (btra(ji,jj,jpalk_lc) / 86400.) 724 728 tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) + & 725 (btra(ji,jj,jpoxy ) / 86400.)729 (btra(ji,jj,jpoxy_lc) / 86400.) 726 730 # endif 727 731 endif … … 737 741 IF( med_diag%FBDDTALK%dgsave ) THEN 738 742 fbddtalk(ji,jj) = fbddtalk(ji,jj) + & 739 (btra(ji,jj,jpalk ) * fse3t(ji,jj,jk))743 (btra(ji,jj,jpalk_lc) * fse3t(ji,jj,jk)) 740 744 ENDIF 741 745 IF( med_diag%FBDDTDIC%dgsave ) THEN 742 746 fbddtdic(ji,jj) = fbddtdic(ji,jj) + & 743 (btra(ji,jj,jpdic ) * fse3t(ji,jj,jk))747 (btra(ji,jj,jpdic_lc) * fse3t(ji,jj,jk)) 744 748 ENDIF 745 749 IF( med_diag%FBDDTDIFE%dgsave ) THEN 746 750 fbddtdife(ji,jj) = fbddtdife(ji,jj) + & 747 (btra(ji,jj,jpfer ) * fse3t(ji,jj,jk))751 (btra(ji,jj,jpfer_lc) * fse3t(ji,jj,jk)) 748 752 ENDIF 749 753 IF( med_diag%FBDDTDIN%dgsave ) THEN 750 754 fbddtdin(ji,jj) = fbddtdin(ji,jj) + & 751 (btra(ji,jj,jpdin ) * fse3t(ji,jj,jk))755 (btra(ji,jj,jpdin_lc) * fse3t(ji,jj,jk)) 752 756 ENDIF 753 757 IF( med_diag%FBDDTDISI%dgsave ) THEN 754 758 fbddtdisi(ji,jj) = fbddtdisi(ji,jj) + & 755 (btra(ji,jj,jpsil ) * fse3t(ji,jj,jk))759 (btra(ji,jj,jpsil_lc) * fse3t(ji,jj,jk)) 756 760 ENDIF 757 761 !! 758 762 IF( med_diag%BDDTALK3%dgsave ) THEN 759 bddtalk3(ji,jj,jk) = btra(ji,jj,jpalk )763 bddtalk3(ji,jj,jk) = btra(ji,jj,jpalk_lc) 760 764 ENDIF 761 765 IF( med_diag%BDDTDIC3%dgsave ) THEN 762 bddtdic3(ji,jj,jk) = btra(ji,jj,jpdic )766 bddtdic3(ji,jj,jk) = btra(ji,jj,jpdic_lc) 763 767 ENDIF 764 768 IF( med_diag%BDDTDIFE3%dgsave ) THEN 765 bddtdife3(ji,jj,jk) = btra(ji,jj,jpfer )769 bddtdife3(ji,jj,jk) = btra(ji,jj,jpfer_lc) 766 770 ENDIF 767 771 IF( med_diag%BDDTDIN3%dgsave ) THEN 768 bddtdin3(ji,jj,jk) = btra(ji,jj,jpdin )772 bddtdin3(ji,jj,jk) = btra(ji,jj,jpdin_lc) 769 773 ENDIF 770 774 IF( med_diag%BDDTDISI3%dgsave ) THEN 771 bddtdisi3(ji,jj,jk) = btra(ji,jj,jpsil )775 bddtdisi3(ji,jj,jk) = btra(ji,jj,jpsil_lc) 772 776 ENDIF 773 777 ENDIF … … 790 794 if (tmask(ji,jj,jk) == 1) then 791 795 !! 792 DO jn = 1,jp tra796 DO jn = 1,jp_medusa 793 797 fq0 = btra(ji,jj,jn) 794 798 !! AXY (30/01/14): "isnan" problem on HECTOR … … 801 805 endif 802 806 ENDDO 803 DO jn = 1,jptra807 DO jn = jp_msa0,jp_msa1 804 808 fq0 = tra(ji,jj,jk,jn) 805 809 !! AXY (30/01/14): "isnan" problem on HECTOR … … 818 822 # endif 819 823 820 !!----------------------------------------------------------821 !! Check model conservation822 !! these terms merely sum up the tendency terms of the relevant823 !! state variables, which should sum to zero; the iron cycle is824 !! complicated by fluxes that add (aeolian deposition and825 !! seafloor remineralisation) and remove (scavenging) dissolved826 !! iron from the model (i.e. the sum of iron fluxes is unlikely827 !! to be zero)828 !!----------------------------------------------------------829 !! DO jj = 2,jpjm1830 !! DO ji = 2,jpim1831 !! if (tmask(ji,jj,jk) == 1) then832 !!833 !! fnit0 = btra(ji,jj,jpphn) + btra(ji,jj,jpphd) + &834 !! btra(ji,jj,jpzmi) + btra(ji,jj,jpzme) + &835 !! btra(ji,jj,jpdet) + btra(ji,jj,jpdin) ! + &836 !! ftempn(ji,jj)837 !! fsil0 = btra(ji,jj,jppds) + btra(ji,jj,jpsil) ! + &838 !! ftempsi(ji,jj)839 !! ffer0 = (xrfn * fnit0) + btra(ji,jj,jpfer)840 # if defined key_roam841 !! fcar0 = 0.842 !! falk0 = 0.843 !! foxy0 = 0.844 # endif845 !!846 !! if (kt/240*240.eq.kt) then847 !! if (ji.eq.2.and.jj.eq.2.and.jk.eq.1) then848 !! IF (lwp) write (*,*) &849 !! '*******!MEDUSA Conservation!*******',kt850 # if defined key_roam851 !! IF (lwp) write (*,*) fnit0,fsil0,ffer0,fcar0,falk0, &852 !! foxy0853 # else854 !! IF (lwp) write (*,*) fnit0,fsil0,ffer0855 # endif856 !! endif857 !! endif858 859 !! ENDIF860 !! ENDDO861 !! ENDDO862 824 863 825 END SUBROUTINE bio_medusa_update -
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/par_medusa.F90
r8345 r8372 93 93 # endif 94 94 95 ! assign an index in trc arrays for each PTS prognostic variables 96 INTEGER, PUBLIC, PARAMETER :: jpchn_lc = 1 !: non-diatom chlorophyll concentration 97 INTEGER, PUBLIC, PARAMETER :: jpchd_lc = 2 !: diatom chlorophyll concentration 98 INTEGER, PUBLIC, PARAMETER :: jpphn_lc = 3 !: non-diatom concentration 99 INTEGER, PUBLIC, PARAMETER :: jpphd_lc = 4 !: diatom concentration 100 INTEGER, PUBLIC, PARAMETER :: jpzmi_lc = 5 !: microzooplankton concentration 101 INTEGER, PUBLIC, PARAMETER :: jpzme_lc = 6 !: mesozooplankton concentration 102 INTEGER, PUBLIC, PARAMETER :: jpdin_lc = 7 !: dissolved inorganic nitrogen concentration 103 INTEGER, PUBLIC, PARAMETER :: jpsil_lc = 8 !: silicic acid concentration 104 INTEGER, PUBLIC, PARAMETER :: jpfer_lc = 9 !: total iron concentration 105 INTEGER, PUBLIC, PARAMETER :: jpdet_lc = 10 !: slow-sinking detritus concentration 106 INTEGER, PUBLIC, PARAMETER :: jppds_lc = 11 !: diatom silicon concentration 107 # if defined key_roam 108 INTEGER, PUBLIC, PARAMETER :: jpdtc_lc = 12 !: slow-sinking detritus carbon concentration 109 INTEGER, PUBLIC, PARAMETER :: jpdic_lc = 13 !: dissolved inorganic carbon concentration 110 INTEGER, PUBLIC, PARAMETER :: jpalk_lc = 14 !: alkalinity 111 INTEGER, PUBLIC, PARAMETER :: jpoxy_lc = 15 !: dissolved oxygen concentration 112 # endif 113 95 114 #else 96 115 !!--------------------------------------------------------------------- -
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
r8352 r8372 82 82 nday_year, nsec_day, nyear, & 83 83 rdt, tmask 84 USE in_out_manager, ONLY: lwp, numout 84 USE in_out_manager, ONLY: lwp, numout, nn_date0 85 85 # if defined key_iomput 86 86 USE iom, ONLY: lk_iomput … … 99 99 USE sbc_oce, ONLY: lk_oasis 100 100 USE sms_medusa, ONLY: hist_pco2 101 USE trc, ONLY: ln_diatrc, ln_rsttr, & 102 nittrc000, trn 103 101 USE trc, ONLY: ln_rsttr, nittrc000, trn 104 102 USE bio_medusa_init_mod, ONLY: bio_medusa_init 105 103 USE carb_chem_mod, ONLY: carb_chem … … 242 240 243 241 # if defined key_axy_nancheck 244 DO jn = 1,jptra242 DO jn = jp_msa0,jp_msa1 245 243 !! fq0 = MINVAL(trn(:,:,:,jn)) 246 244 !! fq1 = MAXVAL(trn(:,:,:,jn)) … … 640 638 !! 2d specific k level diags 641 639 !!------------------------------------------------------- 642 IF( lk_iomput .AND. .NOT. ln_diatrc) THEN640 IF( lk_iomput ) THEN 643 641 CALL bio_medusa_diag_slice( jk ) 644 642 ENDIF … … 651 649 !!------------------------------------------------------------------ 652 650 CALL bio_medusa_fin( kt ) 653 654 # if defined key_trc_diabio655 !! Lateral boundary conditions on trcbio656 DO jn=1,jp_medusa_trd657 CALL lbc_lnk(trbio(:,:,1,jn),'T',1. )658 ENDDO659 # endif660 651 661 652 # if defined key_debug_medusa -
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcnam_medusa.F90
r8131 r8372 93 93 INTEGER :: jl, jn 94 94 INTEGER :: ios ! Local integer output status for namelist read 95 TYPE(DIAG), DIMENSION(jp_medusa_2d) :: meddia2d96 TYPE(DIAG), DIMENSION(jp_medusa_3d) :: meddia3d97 TYPE(DIAG), DIMENSION(jp_medusa_trd) :: meddiabio98 95 CHARACTER(LEN=32) :: clname 99 96 !! 100 NAMELIST/nammeddia/ meddia3d, meddia2d ! additional diagnostics101 102 97 !!---------------------------------------------------------------------- 103 98 … … 126 121 # if defined key_debug_medusa 127 122 CALL flush(numout) 128 # endif129 !130 # if defined key_debug_medusa131 IF (lwp) write (numout,*) '------------------------------'132 IF (lwp) write (numout,*) 'Jpalm - debug'133 IF (lwp) write (numout,*) 'Just before reading namelist_medusa :: nammeddia'134 IF (lwp) write (numout,*) ' '135 CALL flush(numout)136 # endif137 138 IF( ( .NOT.lk_iomput .AND. ln_diatrc ) .OR. ( ln_diatrc .AND. lk_medusa ) ) THEN139 !140 ! Namelist nammeddia141 ! -------------------142 REWIND( numnatp_ref ) ! Namelist nammeddia in reference namelist : MEDUSA diagnostics143 READ ( numnatp_ref, nammeddia, IOSTAT = ios, ERR = 901)144 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammeddia in reference namelist', lwp )145 146 REWIND( numnatp_cfg ) ! Namelist nammeddia in configuration namelist : MEDUSA diagnostics147 READ ( numnatp_cfg, nammeddia, IOSTAT = ios, ERR = 902 )148 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammeddia in configuration namelist', lwp )149 IF(lwm) WRITE ( numonp, nammeddia )150 151 # if defined key_debug_medusa152 IF (lwp) write (numout,*) '------------------------------'153 IF (lwp) write (numout,*) 'Jpalm - debug'154 IF (lwp) write (numout,*) 'reading namelist_medusa :: nammeddia OK'155 IF (lwp) write (numout,*) 'Check number of variable in nammeddia:'156 IF (lwp) write (numout,*) 'jp_medusa_2d: ',jp_medusa_2d ,'jp_medusa_3d: ',jp_medusa_3d157 IF (lwp) write (numout,*) ' '158 CALL flush(numout)159 # endif160 DO jl = 1, jp_medusa_2d161 jn = jp_msa0_2d + jl - 1162 # if defined key_debug_medusa163 IF (lwp) write (numout,*) 'Check what is readden in nammeddia: -- 2D'164 IF (lwp) write (numout,*) jl,'meddia2d-sname: ',meddia2d(jl)%sname165 IF (lwp) write (numout,*) jl,'meddia2d-lname: ',meddia2d(jl)%lname166 IF (lwp) write (numout,*) jl,'meddia2d-units: ',meddia2d(jl)%units167 CALL flush(numout)168 # endif169 ctrc2d(jn) = meddia2d(jl)%sname170 ctrc2l(jn) = meddia2d(jl)%lname171 ctrc2u(jn) = meddia2d(jl)%units172 END DO173 174 DO jl = 1, jp_medusa_3d175 jn = jp_msa0_3d + jl - 1176 # if defined key_debug_medusa177 IF (lwp) write (numout,*) 'Check what is readden in nammeddia: -- 3D'178 IF (lwp) write (numout,*) jl,'meddia3d-sname: ',meddia3d(jl)%sname179 IF (lwp) write (numout,*) jl,'meddia3d-lname: ',meddia3d(jl)%lname180 IF (lwp) write (numout,*) jl,'meddia3d-units: ',meddia3d(jl)%units181 CALL flush(numout)182 # endif183 ctrc3d(jn) = meddia3d(jl)%sname184 ctrc3l(jn) = meddia3d(jl)%lname185 ctrc3u(jn) = meddia3d(jl)%units186 END DO187 188 IF(lwp) THEN ! control print189 # if defined key_debug_medusa190 IF (lwp) write (numout,*) '------------------------------'191 IF (lwp) write (numout,*) 'Jpalm - debug'192 IF (lwp) write (numout,*) 'Var name assignation OK'193 IF (lwp) write (numout,*) 'next check var names'194 IF (lwp) write (numout,*) ' '195 CALL flush(numout)196 # endif197 WRITE(numout,*)198 WRITE(numout,*) ' Namelist : natadd'199 DO jl = 1, jp_medusa_3d200 jn = jp_msa0_3d + jl - 1201 WRITE(numout,*) ' 3d diag nb : ', jn, ' short name : ', ctrc3d(jn), &202 & ' long name : ', ctrc3l(jn), ' unit : ', ctrc3u(jn)203 END DO204 WRITE(numout,*) ' '205 206 DO jl = 1, jp_medusa_2d207 jn = jp_msa0_2d + jl - 1208 WRITE(numout,*) ' 2d diag nb : ', jn, ' short name : ', ctrc2d(jn), &209 & ' long name : ', ctrc2l(jn), ' unit : ', ctrc2u(jn)210 END DO211 WRITE(numout,*) ' '212 ENDIF213 !214 ENDIF215 !216 # if defined key_debug_medusa217 CALL flush(numout)218 123 # endif 219 124 -
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsed_medusa.F90
r8074 r8372 45 45 46 46 !! * Module variables 47 INTEGER :: &48 ryyss, & !: number of seconds per year49 rmtss !: number of seconds per month47 !! INTEGER :: & 48 !! ryyss, & !: number of seconds per year 49 !! rmtss !: number of seconds per month 50 50 51 51 !! AXY (10/02/09) … … 123 123 124 124 ! Number of seconds per year and per month 125 ryyss = nyear_len(1) * rday126 rmtss = ryyss / raamo125 !! ryyss = nyear_len(1) * rday 126 !! rmtss = ryyss / raamo 127 127 128 128 !! AXY (20/11/14): alter this to report on first MEDUSA call … … 173 173 ztra = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 174 174 tra(ji,jj,jk,jpdet) = tra(ji,jj,jk,jpdet) + ztra 175 # if defined key_trc_diabio 176 trbio(ji,jj,jk,8) = ztra 177 # endif 178 IF (lk_iomput .AND. .NOT. ln_diatrc) THEN 179 IF( med_diag%DSED%dgsave ) THEN 180 zw2d(ji,jj) = zw2d(ji,jj) + ztra * fse3t(ji,jj,jk) * 86400. 181 ENDIF 182 ELSE IF( ln_diatrc ) THEN 183 trc2d(ji,jj,8) = trc2d(ji,jj,8) + ztra * fse3t(ji,jj,jk) * 86400. 184 ENDIF 175 IF( med_diag%DSED%dgsave ) THEN 176 zw2d(ji,jj) = zw2d(ji,jj) + ztra * fse3t(ji,jj,jk) * 86400. 177 ENDIF 185 178 186 179 END DO … … 188 181 END DO 189 182 ! 190 # if defined key_trc_diabio 191 CALL lbc_lnk (trbio(:,:,1,8), 'T', 1. ) ! Lateral boundary conditions on trcbio 192 # endif 193 IF( ln_diatrc ) CALL lbc_lnk( trc2d(:,:,8), 'T', 1. ) ! Lateral boundary conditions on trc2d 194 !! 195 IF (lk_iomput .AND. .NOT. ln_diatrc) THEN 196 IF( med_diag%DSED%dgsave ) THEN 197 CALL iom_put( "DSED" , zw2d) 198 CALL wrk_dealloc( jpi, jpj, zw2d ) 199 ENDIF 200 ELSE IF (lk_iomput .AND. ln_diatrc) THEN 201 CALL iom_put( "DSED",trc2d(:,:,8) ) 183 IF( med_diag%DSED%dgsave ) THEN 184 CALL iom_put( "DSED" , zw2d) 185 CALL wrk_dealloc( jpi, jpj, zw2d ) 202 186 ENDIF 203 187 !! … … 229 213 ztra = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 230 214 tra(ji,jj,jk,jpdtc) = tra(ji,jj,jk,jpdtc) + ztra 231 !! # if defined key_trc_diabio232 !! trbio(ji,jj,jk,8) = ztra233 !! # endif234 !! IF( ln_diatrc ) &235 !! & trc2d(ji,jj,8) = trc2d(ji,jj,8) + ztra * fse3t(ji,jj,jk) * 86400.236 215 END DO 237 216 END DO 238 217 END DO 239 218 ! 240 !! # if defined key_trc_diabio241 !! CALL lbc_lnk (trbio(:,:,1,8), 'T', 1. ) ! Lateral boundary conditions on trcbio242 !! # endif243 !! IF( ln_diatrc ) CALL lbc_lnk( trc2d(:,:,8), 'T', 1. ) ! Lateral boundary conditions on trc2d244 !! # if defined key_iomput245 !! CALL iom_put( "DSED",trc2d(:,:,8) )246 !! # endif247 219 248 220 # endif
Note: See TracChangeset
for help on using the changeset viewer.