Changeset 7912 for branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
- Timestamp:
- 2017-04-13T18:05:31+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
r7886 r7912 95 95 USE sbc_oce, ONLY: lk_oasis 96 96 USE oce, ONLY: CO2Flux_out_cpl, DMS_out_cpl, PCO2a_in_cpl 97 USE bio_medusa_mod 98 USE bio_medusa_init_mod, ONLY: bio_medusa_init 97 99 98 100 IMPLICIT NONE 99 101 PRIVATE 100 102 101 PUBLIC trc_bio_medusa ! called in ???103 PUBLIC trc_bio_medusa ! called in trcsms_medusa.F90 102 104 103 105 !!* Substitution … … 187 189 REAL(wp), DIMENSION(jpi,jpj) :: fun_Q10 188 190 !! AXY (01/03/10): add in mixed layer PP diagnostics 189 REAL(wp), DIMENSION(jpi,jpj) :: fprn_ml,fprd_ml191 ! REAL(wp), DIMENSION(jpi,jpj) :: fprn_ml,fprd_ml 190 192 !! 191 193 !! nutrient limiting factors … … 200 202 REAL(wp), DIMENSION(jpi,jpj) :: ffetop,ffebot,ffescav 201 203 REAL(wp) :: xLgF, xFeT, xFeF, xFeL !! state variables for iron-ligand system 202 REAL(wp), DIMENSION(jpi,jpj) :: xFree !! state variables for iron-ligand system204 ! REAL(wp), DIMENSION(jpi,jpj) :: xFree !! state variables for iron-ligand system 203 205 REAL(wp) :: xb_coef_tmp, xb2M4ac !! iron-ligand parameters 204 206 REAL(wp) :: xmaxFeF,fdeltaFe !! max Fe' parameters … … 223 225 !! 224 226 !! mortality/Remineralisation (defunct parameter "fz" removed) 225 REAL(wp , DIMENSION(jpi,jpj)) :: fdpn,fdpd,fdpds,fdzmi,fdzme,fdd227 REAL(wp), DIMENSION(jpi,jpj) :: fdpn,fdpd,fdpds,fdzmi,fdzme,fdd 226 228 # if defined key_roam 227 REAL(wp , DIMENSION(jpi,jpj)) :: fddc229 REAL(wp), DIMENSION(jpi,jpj) :: fddc 228 230 # endif 229 231 REAL(wp), DIMENSION(jpi,jpj) :: fdpn2,fdpd2,fdpds2,fdzmi2,fdzme2 … … 231 233 REAL(wp), DIMENSION(jpi,jpj) :: fslownflux, fslowcflux 232 234 REAL(wp), DIMENSION(jpi,jpj) :: fregen,fregensi 233 REAL(wp), DIMENSION(jpi,jpj) :: fregenfast,fregenfastsi235 ! REAL(wp), DIMENSION(jpi,jpj) :: fregenfast,fregenfastsi 234 236 # if defined key_roam 235 ! Doesn't look like this is used - marc 10/4/17236 ! REAL(wp), DIMENSION(jpi,jpj) :: fregenc237 REAL(wp), DIMENSION(jpi,jpj) :: fregenfastc237 !! Doesn't look like this is used - marc 10/4/17 238 !! REAL(wp), DIMENSION(jpi,jpj) :: fregenc 239 ! REAL(wp), DIMENSION(jpi,jpj) :: fregenfastc 238 240 # endif 239 241 !! … … 242 244 REAL(WP), DIMENSION(jpi,jpj) :: ftempn,ftempsi,ftempfe,ftempc,ftempca 243 245 REAL(wp), DIMENSION(jpi,jpj) :: freminn,freminsi,freminfe,freminc,freminca 244 REAL(wp), DIMENSION(jpi,jpj) :: ffastn,ffastsi,ffastfe,ffastc,ffastca246 ! REAL(wp), DIMENSION(jpi,jpj) :: ffastn,ffastsi,ffastfe,ffastc,ffastca 245 247 REAL(wp), DIMENSION(jpi,jpj) :: fprotf 246 REAL(wp), DIMENSION(jpi,jpj) :: fsedn,fsedsi,fsedfe,fsedc,fsedca247 REAL(wp), DIMENSION(jpi,jpj) :: fccd248 ! REAL(wp), DIMENSION(jpi,jpj) :: fsedn,fsedsi,fsedfe,fsedc,fsedca 249 ! REAL(wp), DIMENSION(jpi,jpj) :: fccd 248 250 REAL(wp), DIMENSION(jpi,jpj) :: fccd_dep 249 251 !! … … 254 256 ! I don't think ffast2slowfe is used - marc 10/4/17 255 257 ! REAL(wp), DIMENSION(jpi,jpj) :: ffast2slown,ffast2slowfe,ffast2slowc 256 REAL(wp), DIMENSION(jpi,jpj) :: ffast2slown,ffast2slow 258 REAL(wp), DIMENSION(jpi,jpj) :: ffast2slown,ffast2slowc 257 259 !! 258 260 !! conservation law … … 266 268 !! 267 269 !! water column nutrient and flux integrals 268 REAL(wp), DIMENSION(jpi,jpj) :: ftot_n,ftot_si,ftot_fe269 REAL(wp), DIMENSION(jpi,jpj) :: fflx_n,fflx_si,fflx_fe270 REAL(wp), DIMENSION(jpi,jpj) :: fifd_n,fifd_si,fifd_fe271 REAL(wp), DIMENSION(jpi,jpj) :: fofd_n,fofd_si,fofd_fe270 ! REAL(wp), DIMENSION(jpi,jpj) :: ftot_n,ftot_si,ftot_fe 271 ! REAL(wp), DIMENSION(jpi,jpj) :: fflx_n,fflx_si,fflx_fe 272 ! REAL(wp), DIMENSION(jpi,jpj) :: fifd_n,fifd_si,fifd_fe 273 ! REAL(wp), DIMENSION(jpi,jpj) :: fofd_n,fofd_si,fofd_fe 272 274 # if defined key_roam 273 REAL(wp), DIMENSION(jpi,jpj) :: ftot_c,ftot_a,ftot_o2274 REAL(wp), DIMENSION(jpi,jpj) :: fflx_c,fflx_a,fflx_o2275 REAL(wp), DIMENSION(jpi,jpj) :: fifd_c,fifd_a,fifd_o2276 REAL(wp), DIMENSION(jpi,jpj) :: fofd_c,fofd_a,fofd_o2275 ! REAL(wp), DIMENSION(jpi,jpj) :: ftot_c,ftot_a,ftot_o2 276 ! REAL(wp), DIMENSION(jpi,jpj) :: fflx_c,fflx_a,fflx_o2 277 ! REAL(wp), DIMENSION(jpi,jpj) :: fifd_c,fifd_a,fifd_o2 278 ! REAL(wp), DIMENSION(jpi,jpj) :: fofd_c,fofd_a,fofd_o2 277 279 # endif 278 280 !! 279 281 !! zooplankton grazing integrals 280 REAL(wp), DIMENSION(jpi,jpj) :: fzmi_i,fzmi_o,fzme_i,fzme_o282 ! REAL(wp), DIMENSION(jpi,jpj) :: fzmi_i,fzmi_o,fzme_i,fzme_o 281 283 !! 282 284 !! limitation term temporary variables 283 REAL(wp), DIMENSION(jpi,jpj) :: ftot_pn,ftot_pd284 REAL(wp), DIMENSION(jpi,jpj) :: ftot_zmi,ftot_zme,ftot_det,ftot_dtc285 ! REAL(wp), DIMENSION(jpi,jpj) :: ftot_pn,ftot_pd 286 ! REAL(wp), DIMENSION(jpi,jpj) :: ftot_zmi,ftot_zme,ftot_det,ftot_dtc 285 287 !! use ballast scheme (1) or simple exponential scheme (0; a conservation test) 286 288 INTEGER :: iball … … 293 295 !! nitrogen and silicon production and consumption 294 296 REAL(wp) :: fn_prod, fn_cons, fs_prod, fs_cons 295 REAL(wp), DIMENSION(jpi,jpj) :: fnit_prod, fnit_cons, fsil_prod, fsil_cons297 ! REAL(wp), DIMENSION(jpi,jpj) :: fnit_prod, fnit_cons, fsil_prod, fsil_cons 296 298 # if defined key_roam 297 299 !! … … 304 306 REAL(wp), DIMENSION(jpi,jpj) :: f_TDIC, f_TALK, f_dcf, f_henry 305 307 REAL(wp), DIMENSION(jpi,jpj) :: f_pp0 306 REAL(wp), DIMENSION(jpi,jpj) :: f_kw660, f_o2flux, f_o2sat, f_o2sat3 307 REAL(wp), DIMENSION(jpi,jpj) :: f_omcal, f_omarg 308 REAL(wp), DIMENSION(jpi,jpj) :: f_kw660, f_o2flux, f_o2sat 309 REAL(wp) :: f_o2sat3 310 ! REAL(wp), DIMENSION(jpi,jpj) :: f_omcal, f_omarg 308 311 !! 309 312 !! AXY (23/06/15): additional diagnostics for MOCSY and oxygen … … 323 326 !! carbon, alkalinity production and consumption 324 327 REAL(wp) :: fc_prod, fc_cons, fa_prod, fa_cons 325 REAL(wp), DIMENSION(jpi,jpj) :: fcomm_resp326 REAL(wp), DIMENSION(jpi,jpj) :: fcar_prod, fcar_cons328 ! REAL(wp), DIMENSION(jpi,jpj) :: fcomm_resp 329 ! REAL(wp), DIMENSION(jpi,jpj) :: fcar_prod, fcar_cons 327 330 !! 328 331 !! oxygen production and consumption (and non-consumption) 329 332 REAL(wp), DIMENSION(jpi,jpj) :: fo2_prod, fo2_cons, fo2_ncons, fo2_ccons 330 REAL(wp), DIMENSION(jpi,jpj) :: foxy_prod, foxy_cons, foxy_anox333 ! REAL(wp), DIMENSION(jpi,jpj) :: foxy_prod, foxy_cons, foxy_anox 331 334 !! Jpalm (11-08-2014) 332 335 !! add DMS in MEDUSA for UKESM1 model … … 338 341 !! 339 342 !! benthic fluxes 340 INTEGER :: ibenthic341 REAL(wp), DIMENSION(jpi,jpj) :: f_sbenin_n, f_sbenin_fe, f_sbenin_c342 REAL(wp), DIMENSION(jpi,jpj) :: f_fbenin_n, f_fbenin_fe, f_fbenin_si, f_fbenin_c, f_fbenin_ca343 REAL(wp), DIMENSION(jpi,jpj) :: f_benout_n, f_benout_fe, f_benout_si, f_benout_c, f_benout_ca343 ! INTEGER :: ibenthic 344 ! REAL(wp), DIMENSION(jpi,jpj) :: f_sbenin_n, f_sbenin_fe, f_sbenin_c 345 ! REAL(wp), DIMENSION(jpi,jpj) :: f_fbenin_n, f_fbenin_fe, f_fbenin_si, f_fbenin_c, f_fbenin_ca 346 ! REAL(wp), DIMENSION(jpi,jpj) :: f_benout_n, f_benout_fe, f_benout_si, f_benout_c, f_benout_ca 344 347 REAL(wp) :: zfact 345 348 !! 346 349 !! benthic fluxes of CaCO3 that shouldn't happen because of lysocline 347 REAL(wp), DIMENSION(jpi,jpj) :: f_benout_lyso_ca350 ! REAL(wp), DIMENSION(jpi,jpj) :: f_benout_lyso_ca 348 351 !! 349 352 !! riverine fluxes 350 REAL(wp), DIMENSION(jpi,jpj) :: f_runoff, f_riv_n, f_riv_si, f_riv_c, f_riv_alk353 ! REAL(wp), DIMENSION(jpi,jpj) :: f_runoff, f_riv_n, f_riv_si, f_riv_c, f_riv_alk 351 354 !! AXY (19/07/12): variables for local riverine fluxes to handle inputs below surface 352 355 REAL(wp), DIMENSION(jpi,jpj) :: f_riv_loc_n, f_riv_loc_si, f_riv_loc_c, f_riv_loc_alk 353 !!354 !! Jpalm -- 11-10-2015 -- adapt diag to iom_use355 !! 2D var for diagnostics.356 REAL(wp), POINTER, DIMENSION(:,: ) :: fprn2d, fdpn2d, fprd2d, fdpd2d, fprds2d, fsdiss2d, fgmipn2d357 REAL(wp), POINTER, DIMENSION(:,: ) :: fgmid2d, fdzmi2d, fgmepn2d, fgmepd2d, fgmezmi2d, fgmed2d358 REAL(wp), POINTER, DIMENSION(:,: ) :: fdzme2d, fslown2d, fdd2d, ffetop2d, ffebot2d, ffescav2d359 REAL(wp), POINTER, DIMENSION(:,: ) :: fjln2d, fnln2d, ffln2d, fjld2d, fnld2d, ffld2d, fsld2d2360 REAL(wp), POINTER, DIMENSION(:,: ) :: fsld2d, fregen2d, fregensi2d, ftempn2d, ftempsi2d, ftempfe2d361 REAL(wp), POINTER, DIMENSION(:,: ) :: ftempc2d, ftempca2d, freminn2d, freminsi2d, freminfe2d362 REAL(wp), POINTER, DIMENSION(:,: ) :: freminc2d, freminca2d363 REAL(wp), POINTER, DIMENSION(:,: ) :: zw2d364 # if defined key_roam365 REAL(wp), POINTER, DIMENSION(:,: ) :: ffastca2d, rivn2d, rivsi2d, rivc2d, rivalk2d, fslowc2d366 REAL(wp), POINTER, DIMENSION(:,: ) :: fdpn22d, fdpd22d, fdzmi22d, fdzme22d, zimesn2d, zimesd2d367 REAL(wp), POINTER, DIMENSION(:,: ) :: zimesc2d, zimesdc2d, ziexcr2d, ziresp2d, zigrow2d, zemesn2d368 REAL(wp), POINTER, DIMENSION(:,: ) :: zemesd2d, zemesc2d, zemesdc2d, zeexcr2d, zeresp2d, zegrow2d369 REAL(wp), POINTER, DIMENSION(:,: ) :: mdetc2d, gmidc2d, gmedc2d, f_pco2a2d, f_pco2w2d, f_co2flux2d370 REAL(wp), POINTER, DIMENSION(:,: ) :: f_TDIC2d, f_TALK2d, f_kw6602d, f_pp02d, f_o2flux2d, f_o2sat2d371 REAL(wp), POINTER, DIMENSION(:,: ) :: dms_andr2d, dms_simo2d, dms_aran2d, dms_hall2d, dms_surf2d372 REAL(wp), POINTER, DIMENSION(:,: ) :: iben_n2d, iben_fe2d, iben_c2d, iben_si2d, iben_ca2d, oben_n2d373 REAL(wp), POINTER, DIMENSION(:,: ) :: oben_fe2d, oben_c2d, oben_si2d, oben_ca2d, sfr_ocal2d374 REAL(wp), POINTER, DIMENSION(:,: ) :: sfr_oarg2d, lyso_ca2d375 !! AXY (23/11/16): extra MOCSY diagnostics376 REAL(wp), POINTER, DIMENSION(:,: ) :: f_xco2a_2d, f_fco2w_2d, f_fco2a_2d377 REAL(wp), POINTER, DIMENSION(:,: ) :: f_ocnrhosw_2d, f_ocnschco2_2d, f_ocnkwco2_2d378 REAL(wp), POINTER, DIMENSION(:,: ) :: f_ocnk0_2d, f_co2starair_2d, f_ocndpco2_2d379 # endif380 !!381 !! 3D var for diagnostics.382 REAL(wp), POINTER, DIMENSION(:,:,:) :: tpp3d, detflux3d, remin3dn383 !!384 # if defined key_roam385 !! AXY (04/11/16)386 !! 2D var for new CMIP6 diagnostics (behind a key_roam ifdef for simplicity)387 REAL(wp), POINTER, DIMENSION(:,: ) :: fgco2, intdissic, intdissin, intdissisi, inttalk, o2min, zo2min388 REAL(wp), POINTER, DIMENSION(:,: ) :: fbddtalk, fbddtdic, fbddtdife, fbddtdin, fbddtdisi389 !!390 !! 3D var for new CMIP6 diagnostics391 REAL(wp), POINTER, DIMENSION(:,:,:) :: tppd3392 REAL(wp), POINTER, DIMENSION(:,:,:) :: bddtalk3, bddtdic3, bddtdife3, bddtdin3, bddtdisi3393 REAL(wp), POINTER, DIMENSION(:,:,:) :: fd_nit3, fd_sil3, fd_car3, fd_cal3394 REAL(wp), POINTER, DIMENSION(:,:,:) :: co33, co3satarag3, co3satcalc3, dcalc3395 REAL(wp), POINTER, DIMENSION(:,:,:) :: expc3, expn3396 REAL(wp), POINTER, DIMENSION(:,:,:) :: fediss3, fescav3397 REAL(wp), POINTER, DIMENSION(:,:,:) :: migrazp3, migrazd3, megrazp3, megrazd3, megrazz3398 REAL(wp), POINTER, DIMENSION(:,:,:) :: o2sat3, pbsi3, pcal3, remoc3399 REAL(wp), POINTER, DIMENSION(:,:,:) :: pnlimj3, pnlimn3, pnlimfe3, pdlimj3, pdlimn3, pdlimfe3, pdlimsi3400 # endif401 356 !!--------------------------------------------------------------------- 402 357 … … 468 423 469 424 !!---------------------------------------------------------------------- 470 !! blank fast-sinking detritus 2D fields425 !! Initialise arrays to zero and set up arrays for diagnostics 471 426 !!---------------------------------------------------------------------- 472 !! 473 ffastn(:,:) = 0.0 !! organic nitrogen 474 ffastsi(:,:) = 0.0 !! biogenic silicon 475 ffastfe(:,:) = 0.0 !! organic iron 476 ffastc(:,:) = 0.0 !! organic carbon 477 ffastca(:,:) = 0.0 !! biogenic calcium carbonate 478 !! 479 fsedn(:,:) = 0.0 !! Seafloor flux of N 480 fsedsi(:,:) = 0.0 !! Seafloor flux of Si 481 fsedfe(:,:) = 0.0 !! Seafloor flux of Fe 482 fsedc(:,:) = 0.0 !! Seafloor flux of C 483 fsedca(:,:) = 0.0 !! Seafloor flux of CaCO3 484 !! 485 fregenfast(:,:) = 0.0 !! integrated N regeneration (fast detritus) 486 fregenfastsi(:,:) = 0.0 !! integrated Si regeneration (fast detritus) 487 # if defined key_roam 488 fregenfastc(:,:) = 0.0 !! integrated C regeneration (fast detritus) 489 # endif 490 !! 491 fccd(:,:) = 0.0 !! last depth level before CCD 492 493 !!---------------------------------------------------------------------- 494 !! blank nutrient/flux inventories 495 !!---------------------------------------------------------------------- 496 !! 497 fflx_n(:,:) = 0.0 !! nitrogen flux total 498 fflx_si(:,:) = 0.0 !! silicon flux total 499 fflx_fe(:,:) = 0.0 !! iron flux total 500 fifd_n(:,:) = 0.0 !! nitrogen fast detritus production 501 fifd_si(:,:) = 0.0 !! silicon fast detritus production 502 fifd_fe(:,:) = 0.0 !! iron fast detritus production 503 fofd_n(:,:) = 0.0 !! nitrogen fast detritus remineralisation 504 fofd_si(:,:) = 0.0 !! silicon fast detritus remineralisation 505 fofd_fe(:,:) = 0.0 !! iron fast detritus remineralisation 506 # if defined key_roam 507 fflx_c(:,:) = 0.0 !! carbon flux total 508 fflx_a(:,:) = 0.0 !! alkalinity flux total 509 fflx_o2(:,:) = 0.0 !! oxygen flux total 510 ftot_c(:,:) = 0.0 !! carbon inventory 511 ftot_a(:,:) = 0.0 !! alkalinity inventory 512 ftot_o2(:,:) = 0.0 !! oxygen inventory 513 fifd_c(:,:) = 0.0 !! carbon fast detritus production 514 fifd_a(:,:) = 0.0 !! alkalinity fast detritus production 515 fifd_o2(:,:) = 0.0 !! oxygen fast detritus production 516 fofd_c(:,:) = 0.0 !! carbon fast detritus remineralisation 517 fofd_a(:,:) = 0.0 !! alkalinity fast detritus remineralisation 518 fofd_o2(:,:) = 0.0 !! oxygen fast detritus remineralisation 519 !! 520 fnit_prod(:,:) = 0.0 !! (organic) nitrogen production 521 fnit_cons(:,:) = 0.0 !! (organic) nitrogen consumption 522 fsil_prod(:,:) = 0.0 !! (inorganic) silicon production 523 fsil_cons(:,:) = 0.0 !! (inorganic) silicon consumption 524 fcar_prod(:,:) = 0.0 !! (organic) carbon production 525 fcar_cons(:,:) = 0.0 !! (organic) carbon consumption 526 !! 527 foxy_prod(:,:) = 0.0 !! oxygen production 528 foxy_cons(:,:) = 0.0 !! oxygen consumption 529 foxy_anox(:,:) = 0.0 !! unrealised oxygen consumption 530 !! 531 # endif 532 ftot_n(:,:) = 0.0 !! N inventory 533 ftot_si(:,:) = 0.0 !! Si inventory 534 ftot_fe(:,:) = 0.0 !! Fe inventory 535 ftot_pn(:,:) = 0.0 !! integrated non-diatom phytoplankton 536 ftot_pd(:,:) = 0.0 !! integrated diatom phytoplankton 537 ftot_zmi(:,:) = 0.0 !! integrated microzooplankton 538 ftot_zme(:,:) = 0.0 !! integrated mesozooplankton 539 ftot_det(:,:) = 0.0 !! integrated slow detritus, nitrogen 540 ftot_dtc(:,:) = 0.0 !! integrated slow detritus, carbon 541 !! 542 fzmi_i(:,:) = 0.0 !! material grazed by microzooplankton 543 fzmi_o(:,:) = 0.0 !! ... sum of fate of this material 544 fzme_i(:,:) = 0.0 !! material grazed by mesozooplankton 545 fzme_o(:,:) = 0.0 !! ... sum of fate of this material 546 !! 547 f_sbenin_n(:,:) = 0.0 !! slow detritus N -> benthic pool 548 f_sbenin_fe(:,:) = 0.0 !! slow detritus Fe -> benthic pool 549 f_sbenin_c(:,:) = 0.0 !! slow detritus C -> benthic pool 550 f_fbenin_n(:,:) = 0.0 !! fast detritus N -> benthic pool 551 f_fbenin_fe(:,:) = 0.0 !! fast detritus Fe -> benthic pool 552 f_fbenin_si(:,:) = 0.0 !! fast detritus Si -> benthic pool 553 f_fbenin_c(:,:) = 0.0 !! fast detritus C -> benthic pool 554 f_fbenin_ca(:,:) = 0.0 !! fast detritus Ca -> benthic pool 555 !! 556 f_benout_n(:,:) = 0.0 !! benthic N pool -> dissolved 557 f_benout_fe(:,:) = 0.0 !! benthic Fe pool -> dissolved 558 f_benout_si(:,:) = 0.0 !! benthic Si pool -> dissolved 559 f_benout_c(:,:) = 0.0 !! benthic C pool -> dissolved 560 f_benout_ca(:,:) = 0.0 !! benthic Ca pool -> dissolved 561 !! 562 f_benout_lyso_ca(:,:) = 0.0 !! benthic Ca pool -> dissolved (when it shouldn't!) 563 !! 564 f_runoff(:,:) = 0.0 !! riverine runoff 565 f_riv_n(:,:) = 0.0 !! riverine N input 566 f_riv_si(:,:) = 0.0 !! riverine Si input 567 f_riv_c(:,:) = 0.0 !! riverine C input 568 f_riv_alk(:,:) = 0.0 !! riverine alk input 569 !! 570 !! Jpalm -- 06-03-2017 -- Forgotten var to init 571 f_omarg(:,:) = 0.0 !! 572 f_omcal(:,:) = 0.0 573 xFree(:,:) = 0.0 !! state variables for iron-ligand system 574 fcomm_resp(:,:) = 0.0 575 fprn_ml(:,:) = 0.0 !! mixed layer PP diagnostics 576 fprd_ml(:,:) = 0.0 !! mixed layer PP diagnostics 577 578 !! 579 !! allocate and initiate 2D diag 580 !! ----------------------------- 581 !! Juju :: add kt condition !! 582 IF ( lk_iomput .AND. .NOT. ln_diatrc ) THEN 583 !! 584 if ( kt == nittrc000 ) CALL trc_nam_iom_medusa !! initialise iom_use test 585 !! 586 CALL wrk_alloc( jpi, jpj, zw2d ) 587 zw2d(:,:) = 0.0 !! 588 IF ( med_diag%PRN%dgsave ) THEN 589 CALL wrk_alloc( jpi, jpj, fprn2d ) 590 fprn2d(:,:) = 0.0 !! 591 ENDIF 592 IF ( med_diag%MPN%dgsave ) THEN 593 CALL wrk_alloc( jpi, jpj, fdpn2d ) 594 fdpn2d(:,:) = 0.0 !! 595 ENDIF 596 IF ( med_diag%PRD%dgsave ) THEN 597 CALL wrk_alloc( jpi, jpj, fprd2d ) 598 fprd2d(:,:) = 0.0 !! 599 ENDIF 600 IF( med_diag%MPD%dgsave ) THEN 601 CALL wrk_alloc( jpi, jpj, fdpd2d ) 602 fdpd2d(:,:) = 0.0 !! 603 ENDIF 604 IF( med_diag%OPAL%dgsave ) THEN 605 CALL wrk_alloc( jpi, jpj, fprds2d ) 606 fprds2d(:,:) = 0.0 !! 607 ENDIF 608 IF( med_diag%OPALDISS%dgsave ) THEN 609 CALL wrk_alloc( jpi, jpj, fsdiss2d ) 610 fsdiss2d(:,:) = 0.0 !! 611 ENDIF 612 IF( med_diag%GMIPn%dgsave ) THEN 613 CALL wrk_alloc( jpi, jpj, fgmipn2d ) 614 fgmipn2d(:,:) = 0.0 !! 615 ENDIF 616 IF( med_diag%GMID%dgsave ) THEN 617 CALL wrk_alloc( jpi, jpj, fgmid2d ) 618 fgmid2d(:,:) = 0.0 !! 619 ENDIF 620 IF( med_diag%MZMI%dgsave ) THEN 621 CALL wrk_alloc( jpi, jpj, fdzmi2d ) 622 fdzmi2d(:,:) = 0.0 !! 623 ENDIF 624 IF( med_diag%GMEPN%dgsave ) THEN 625 CALL wrk_alloc( jpi, jpj, fgmepn2d ) 626 fgmepn2d(:,:) = 0.0 !! 627 ENDIF 628 IF( med_diag%GMEPD%dgsave ) THEN 629 CALL wrk_alloc( jpi, jpj, fgmepd2d ) 630 fgmepd2d(:,:) = 0.0 !! 631 ENDIF 632 IF( med_diag%GMEZMI%dgsave ) THEN 633 CALL wrk_alloc( jpi, jpj, fgmezmi2d ) 634 fgmezmi2d(:,:) = 0.0 !! 635 ENDIF 636 IF( med_diag%GMED%dgsave ) THEN 637 CALL wrk_alloc( jpi, jpj, fgmed2d ) 638 fgmed2d(:,:) = 0.0 !! 639 ENDIF 640 IF( med_diag%MZME%dgsave ) THEN 641 CALL wrk_alloc( jpi, jpj, fdzme2d ) 642 fdzme2d(:,:) = 0.0 !! 643 ENDIF 644 IF( med_diag%DETN%dgsave ) THEN 645 CALL wrk_alloc( jpi, jpj, fslown2d ) 646 fslown2d(:,:) = 0.0 !! 647 ENDIF 648 IF( med_diag%MDET%dgsave ) THEN 649 CALL wrk_alloc( jpi, jpj, fdd2d ) 650 fdd2d(:,:) = 0.0 !! 651 ENDIF 652 IF( med_diag%AEOLIAN%dgsave ) THEN 653 CALL wrk_alloc( jpi, jpj, ffetop2d ) 654 ffetop2d(:,:) = 0.0 !! 655 ENDIF 656 IF( med_diag%BENTHIC%dgsave ) THEN 657 CALL wrk_alloc( jpi, jpj, ffebot2d ) 658 ffebot2d(:,:) = 0.0 !! 659 ENDIF 660 IF( med_diag%SCAVENGE%dgsave ) THEN 661 CALL wrk_alloc( jpi, jpj, ffescav2d ) 662 ffescav2d(:,:) = 0.0 !! 663 ENDIF 664 IF( med_diag%PN_JLIM%dgsave ) THEN 665 CALL wrk_alloc( jpi, jpj, fjln2d ) 666 fjln2d(:,:) = 0.0 !! 667 ENDIF 668 IF( med_diag%PN_NLIM%dgsave ) THEN 669 CALL wrk_alloc( jpi, jpj, fnln2d ) 670 fnln2d(:,:) = 0.0 !! 671 ENDIF 672 IF( med_diag%PN_FELIM%dgsave ) THEN 673 CALL wrk_alloc( jpi, jpj, ffln2d ) 674 ffln2d(:,:) = 0.0 !! 675 ENDIF 676 IF( med_diag%PD_JLIM%dgsave ) THEN 677 CALL wrk_alloc( jpi, jpj, fjld2d ) 678 fjld2d(:,:) = 0.0 !! 679 ENDIF 680 IF( med_diag%PD_NLIM%dgsave ) THEN 681 CALL wrk_alloc( jpi, jpj, fnld2d ) 682 fnld2d(:,:) = 0.0 !! 683 ENDIF 684 IF( med_diag%PD_FELIM%dgsave ) THEN 685 CALL wrk_alloc( jpi, jpj, ffld2d ) 686 ffld2d(:,:) = 0.0 !! 687 ENDIF 688 IF( med_diag%PD_SILIM%dgsave ) THEN 689 CALL wrk_alloc( jpi, jpj, fsld2d2 ) 690 fsld2d2(:,:) = 0.0 !! 691 ENDIF 692 IF( med_diag%PDSILIM2%dgsave ) THEN 693 CALL wrk_alloc( jpi, jpj, fsld2d ) 694 fsld2d(:,:) = 0.0 !! 695 ENDIF 696 !! 697 !! skip SDT_XXXX diagnostics here 698 !! 699 IF( med_diag%TOTREG_N%dgsave ) THEN 700 CALL wrk_alloc( jpi, jpj, fregen2d ) 701 fregen2d(:,:) = 0.0 !! 702 ENDIF 703 IF( med_diag%TOTRG_SI%dgsave ) THEN 704 CALL wrk_alloc( jpi, jpj, fregensi2d ) 705 fregensi2d(:,:) = 0.0 !! 706 ENDIF 707 !! 708 !! skip REG_XXXX diagnostics here 709 !! 710 IF( med_diag%FASTN%dgsave ) THEN 711 CALL wrk_alloc( jpi, jpj, ftempn2d ) 712 ftempn2d(:,:) = 0.0 !! 713 ENDIF 714 IF( med_diag%FASTSI%dgsave ) THEN 715 CALL wrk_alloc( jpi, jpj, ftempsi2d ) 716 ftempsi2d(:,:) = 0.0 !! 717 ENDIF 718 IF( med_diag%FASTFE%dgsave ) THEN 719 CALL wrk_alloc( jpi, jpj, ftempfe2d ) 720 ftempfe2d(:,:) = 0.0 !! 721 ENDIF 722 IF( med_diag%FASTC%dgsave ) THEN 723 CALL wrk_alloc( jpi, jpj, ftempc2d ) 724 ftempc2d(:,:) = 0.0 !! 725 ENDIF 726 IF( med_diag%FASTCA%dgsave ) THEN 727 CALL wrk_alloc( jpi, jpj, ftempca2d ) 728 ftempca2d(:,:) = 0.0 !! 729 ENDIF 730 !! 731 !! skip FDT_XXXX, RG_XXXXF, FDS_XXXX, RGS_XXXXF diagnostics here 732 !! 733 IF( med_diag%REMINN%dgsave ) THEN 734 CALL wrk_alloc( jpi, jpj, freminn2d ) 735 freminn2d(:,:) = 0.0 !! 736 ENDIF 737 IF( med_diag%REMINSI%dgsave ) THEN 738 CALL wrk_alloc( jpi, jpj, freminsi2d ) 739 freminsi2d(:,:) = 0.0 !! 740 ENDIF 741 IF( med_diag%REMINFE%dgsave ) THEN 742 CALL wrk_alloc( jpi, jpj, freminfe2d ) 743 freminfe2d(:,:) = 0.0 !! 744 ENDIF 745 IF( med_diag%REMINC%dgsave ) THEN 746 CALL wrk_alloc( jpi, jpj, freminc2d ) 747 freminc2d(:,:) = 0.0 !! 748 ENDIF 749 IF( med_diag%REMINCA%dgsave ) THEN 750 CALL wrk_alloc( jpi, jpj, freminca2d ) 751 freminca2d(:,:) = 0.0 !! 752 ENDIF 753 # if defined key_roam 754 !! 755 !! skip SEAFLRXX, MED_XXXX, INTFLX_XX, INT_XX, ML_XXX, OCAL_XXX, FE_XXXX, MED_XZE, WIND diagnostics here 756 !! 757 IF( med_diag%RR_0100%dgsave ) THEN 758 CALL wrk_alloc( jpi, jpj, ffastca2d ) 759 ffastca2d(:,:) = 0.0 !! 760 ENDIF 761 762 IF( med_diag%ATM_PCO2%dgsave ) THEN 763 CALL wrk_alloc( jpi, jpj, f_pco2a2d ) 764 f_pco2a2d(:,:) = 0.0 !! 765 ENDIF 766 !! 767 !! skip OCN_PH diagnostic here 768 !! 769 IF( med_diag%OCN_PCO2%dgsave ) THEN 770 CALL wrk_alloc( jpi, jpj, f_pco2w2d ) 771 f_pco2w2d(:,:) = 0.0 !! 772 ENDIF 773 !! 774 !! skip OCNH2CO3, OCN_HCO3, OCN_CO3 diagnostics here 775 !! 776 IF( med_diag%CO2FLUX%dgsave ) THEN 777 CALL wrk_alloc( jpi, jpj, f_co2flux2d ) 778 f_co2flux2d(:,:) = 0.0 !! 779 ENDIF 780 !! 781 !! skip OM_XXX diagnostics here 782 !! 783 IF( med_diag%TCO2%dgsave ) THEN 784 CALL wrk_alloc( jpi, jpj, f_TDIC2d ) 785 f_TDIC2d(:,:) = 0.0 !! 786 ENDIF 787 IF( med_diag%TALK%dgsave ) THEN 788 CALL wrk_alloc( jpi, jpj, f_TALK2d ) 789 f_TALK2d(:,:) = 0.0 !! 790 ENDIF 791 IF( med_diag%KW660%dgsave ) THEN 792 CALL wrk_alloc( jpi, jpj, f_kw6602d ) 793 f_kw6602d(:,:) = 0.0 !! 794 ENDIF 795 IF( med_diag%ATM_PP0%dgsave ) THEN 796 CALL wrk_alloc( jpi, jpj, f_pp02d ) 797 f_pp02d(:,:) = 0.0 !! 798 ENDIF 799 IF( med_diag%O2FLUX%dgsave ) THEN 800 CALL wrk_alloc( jpi, jpj, f_o2flux2d ) 801 f_o2flux2d(:,:) = 0.0 !! 802 ENDIF 803 IF( med_diag%O2SAT%dgsave ) THEN 804 CALL wrk_alloc( jpi, jpj, f_o2sat2d ) 805 f_o2sat2d(:,:) = 0.0 !! 806 ENDIF 807 !! 808 !! skip XXX_CCD diagnostics here 809 !! 810 IF( med_diag%SFR_OCAL%dgsave ) THEN 811 CALL wrk_alloc( jpi, jpj, sfr_ocal2d ) 812 sfr_ocal2d(:,:) = 0.0 !! 813 ENDIF 814 IF( med_diag%SFR_OARG%dgsave ) THEN 815 CALL wrk_alloc( jpi, jpj, sfr_oarg2d ) 816 sfr_oarg2d(:,:) = 0.0 !! 817 ENDIF 818 !! 819 !! skip XX_PROD, XX_CONS, O2_ANOX, RR_XXXX diagnostics here 820 !! 821 IF( med_diag%IBEN_N%dgsave ) THEN 822 CALL wrk_alloc( jpi, jpj, iben_n2d ) 823 iben_n2d(:,:) = 0.0 !! 824 ENDIF 825 IF( med_diag%IBEN_FE%dgsave ) THEN 826 CALL wrk_alloc( jpi, jpj, iben_fe2d ) 827 iben_fe2d(:,:) = 0.0 !! 828 ENDIF 829 IF( med_diag%IBEN_C%dgsave ) THEN 830 CALL wrk_alloc( jpi, jpj, iben_c2d ) 831 iben_c2d(:,:) = 0.0 !! 832 ENDIF 833 IF( med_diag%IBEN_SI%dgsave ) THEN 834 CALL wrk_alloc( jpi, jpj, iben_si2d ) 835 iben_si2d(:,:) = 0.0 !! 836 ENDIF 837 IF( med_diag%IBEN_CA%dgsave ) THEN 838 CALL wrk_alloc( jpi, jpj, iben_ca2d ) 839 iben_ca2d(:,:) = 0.0 !! 840 ENDIF 841 IF( med_diag%OBEN_N%dgsave ) THEN 842 CALL wrk_alloc( jpi, jpj, oben_n2d ) 843 oben_n2d(:,:) = 0.0 !! 844 ENDIF 845 IF( med_diag%OBEN_FE%dgsave ) THEN 846 CALL wrk_alloc( jpi, jpj, oben_fe2d ) 847 oben_fe2d(:,:) = 0.0 !! 848 ENDIF 849 IF( med_diag%OBEN_C%dgsave ) THEN 850 CALL wrk_alloc( jpi, jpj, oben_c2d ) 851 oben_c2d(:,:) = 0.0 !! 852 ENDIF 853 IF( med_diag%OBEN_SI%dgsave ) THEN 854 CALL wrk_alloc( jpi, jpj, oben_si2d ) 855 oben_si2d(:,:) = 0.0 !! 856 ENDIF 857 IF( med_diag%OBEN_CA%dgsave ) THEN 858 CALL wrk_alloc( jpi, jpj, oben_ca2d ) 859 oben_ca2d(:,:) = 0.0 !! 860 ENDIF 861 !! 862 !! skip BEN_XX diagnostics here 863 !! 864 IF( med_diag%RIV_N%dgsave ) THEN 865 CALL wrk_alloc( jpi, jpj, rivn2d ) 866 rivn2d(:,:) = 0.0 !! 867 ENDIF 868 IF( med_diag%RIV_SI%dgsave ) THEN 869 CALL wrk_alloc( jpi, jpj, rivsi2d ) 870 rivsi2d(:,:) = 0.0 !! 871 ENDIF 872 IF( med_diag%RIV_C%dgsave ) THEN 873 CALL wrk_alloc( jpi, jpj, rivc2d ) 874 rivc2d(:,:) = 0.0 !! 875 ENDIF 876 IF( med_diag%RIV_ALK%dgsave ) THEN 877 CALL wrk_alloc( jpi, jpj, rivalk2d ) 878 rivalk2d(:,:) = 0.0 !! 879 ENDIF 880 IF( med_diag%DETC%dgsave ) THEN 881 CALL wrk_alloc( jpi, jpj, fslowc2d ) 882 fslowc2d(:,:) = 0.0 !! 883 ENDIF 884 !! 885 !! skip SDC_XXXX, INVTXXX diagnostics here 886 !! 887 IF( med_diag%LYSO_CA%dgsave ) THEN 888 CALL wrk_alloc( jpi, jpj, lyso_ca2d ) 889 lyso_ca2d(:,:) = 0.0 !! 890 ENDIF 891 !! 892 !! skip COM_RESP diagnostic here 893 !! 894 IF( med_diag%PN_LLOSS%dgsave ) THEN 895 CALL wrk_alloc( jpi, jpj, fdpn22d ) 896 fdpn22d(:,:) = 0.0 !! 897 ENDIF 898 IF( med_diag%PD_LLOSS%dgsave ) THEN 899 CALL wrk_alloc( jpi, jpj, fdpd22d ) 900 fdpd22d(:,:) = 0.0 !! 901 ENDIF 902 IF( med_diag%ZI_LLOSS%dgsave ) THEN 903 CALL wrk_alloc( jpi, jpj, fdzmi22d ) 904 fdzmi22d(:,:) = 0.0 !! 905 ENDIF 906 IF( med_diag%ZE_LLOSS%dgsave ) THEN 907 CALL wrk_alloc( jpi, jpj, fdzme22d ) 908 fdzme22d(:,:) = 0.0 !! 909 ENDIF 910 IF( med_diag%ZI_MES_N%dgsave ) THEN 911 CALL wrk_alloc( jpi, jpj, zimesn2d ) 912 zimesn2d(:,:) = 0.0 !! 913 ENDIF 914 IF( med_diag%ZI_MES_D%dgsave ) THEN 915 CALL wrk_alloc( jpi, jpj, zimesd2d ) 916 zimesd2d(:,:) = 0.0 !! 917 ENDIF 918 IF( med_diag%ZI_MES_C%dgsave ) THEN 919 CALL wrk_alloc( jpi, jpj, zimesc2d ) 920 zimesc2d(:,:) = 0.0 !! 921 ENDIF 922 IF( med_diag%ZI_MESDC%dgsave ) THEN 923 CALL wrk_alloc( jpi, jpj, zimesdc2d ) 924 zimesdc2d(:,:) = 0.0 !! 925 ENDIF 926 IF( med_diag%ZI_EXCR%dgsave ) THEN 927 CALL wrk_alloc( jpi, jpj, ziexcr2d ) 928 ziexcr2d(:,:) = 0.0 !! 929 ENDIF 930 IF( med_diag%ZI_RESP%dgsave ) THEN 931 CALL wrk_alloc( jpi, jpj, ziresp2d ) 932 ziresp2d(:,:) = 0.0 !! 933 ENDIF 934 IF( med_diag%ZI_GROW%dgsave ) THEN 935 CALL wrk_alloc( jpi, jpj, zigrow2d ) 936 zigrow2d(:,:) = 0.0 !! 937 ENDIF 938 IF( med_diag%ZE_MES_N%dgsave ) THEN 939 CALL wrk_alloc( jpi, jpj, zemesn2d ) 940 zemesn2d(:,:) = 0.0 !! 941 ENDIF 942 IF( med_diag%ZE_MES_D%dgsave ) THEN 943 CALL wrk_alloc( jpi, jpj, zemesd2d ) 944 zemesd2d(:,:) = 0.0 !! 945 ENDIF 946 IF( med_diag%ZE_MES_C%dgsave ) THEN 947 CALL wrk_alloc( jpi, jpj, zemesc2d ) 948 zemesc2d(:,:) = 0.0 !! 949 ENDIF 950 IF( med_diag%ZE_MESDC%dgsave ) THEN 951 CALL wrk_alloc( jpi, jpj, zemesdc2d ) 952 zemesdc2d(:,:) = 0.0 !! 953 ENDIF 954 IF( med_diag%ZE_EXCR%dgsave ) THEN 955 CALL wrk_alloc( jpi, jpj, zeexcr2d ) 956 zeexcr2d(:,:) = 0.0 !! 957 ENDIF 958 IF( med_diag%ZE_RESP%dgsave ) THEN 959 CALL wrk_alloc( jpi, jpj, zeresp2d ) 960 zeresp2d(:,:) = 0.0 !! 961 ENDIF 962 IF( med_diag%ZE_GROW%dgsave ) THEN 963 CALL wrk_alloc( jpi, jpj, zegrow2d ) 964 zegrow2d(:,:) = 0.0 !! 965 ENDIF 966 IF( med_diag%MDETC%dgsave ) THEN 967 CALL wrk_alloc( jpi, jpj, mdetc2d ) 968 mdetc2d(:,:) = 0.0 !! 969 ENDIF 970 IF( med_diag%GMIDC%dgsave ) THEN 971 CALL wrk_alloc( jpi, jpj, gmidc2d ) 972 gmidc2d(:,:) = 0.0 !! 973 ENDIF 974 IF( med_diag%GMEDC%dgsave ) THEN 975 CALL wrk_alloc( jpi, jpj, gmedc2d ) 976 gmedc2d(:,:) = 0.0 !! 977 ENDIF 978 !! 979 !! skip INT_XXX diagnostics here 980 !! 981 IF (jdms .eq. 1) THEN 982 IF( med_diag%DMS_SURF%dgsave ) THEN 983 CALL wrk_alloc( jpi, jpj, dms_surf2d ) 984 dms_surf2d(:,:) = 0.0 !! 985 ENDIF 986 IF( med_diag%DMS_ANDR%dgsave ) THEN 987 CALL wrk_alloc( jpi, jpj, dms_andr2d ) 988 dms_andr2d(:,:) = 0.0 !! 989 ENDIF 990 IF( med_diag%DMS_SIMO%dgsave ) THEN 991 CALL wrk_alloc( jpi, jpj, dms_simo2d ) 992 dms_simo2d(:,:) = 0.0 !! 993 ENDIF 994 IF( med_diag%DMS_ARAN%dgsave ) THEN 995 CALL wrk_alloc( jpi, jpj, dms_aran2d ) 996 dms_aran2d(:,:) = 0.0 !! 997 ENDIF 998 IF( med_diag%DMS_HALL%dgsave ) THEN 999 CALL wrk_alloc( jpi, jpj, dms_hall2d ) 1000 dms_hall2d(:,:) = 0.0 !! 1001 ENDIF 1002 ENDIF 1003 !! 1004 !! AXY (24/11/16): extra MOCSY diagnostics, 2D 1005 IF( med_diag%ATM_XCO2%dgsave ) THEN 1006 CALL wrk_alloc( jpi, jpj, f_xco2a_2d ) 1007 f_xco2a_2d(:,:) = 0.0 !! 1008 ENDIF 1009 IF( med_diag%OCN_FCO2%dgsave ) THEN 1010 CALL wrk_alloc( jpi, jpj, f_fco2w_2d ) 1011 f_fco2w_2d(:,:) = 0.0 !! 1012 ENDIF 1013 IF( med_diag%ATM_FCO2%dgsave ) THEN 1014 CALL wrk_alloc( jpi, jpj, f_fco2a_2d ) 1015 f_fco2a_2d(:,:) = 0.0 !! 1016 ENDIF 1017 IF( med_diag%OCN_RHOSW%dgsave ) THEN 1018 CALL wrk_alloc( jpi, jpj, f_ocnrhosw_2d ) 1019 f_ocnrhosw_2d(:,:) = 0.0 !! 1020 ENDIF 1021 IF( med_diag%OCN_SCHCO2%dgsave ) THEN 1022 CALL wrk_alloc( jpi, jpj, f_ocnschco2_2d ) 1023 f_ocnschco2_2d(:,:) = 0.0 !! 1024 ENDIF 1025 IF( med_diag%OCN_KWCO2%dgsave ) THEN 1026 CALL wrk_alloc( jpi, jpj, f_ocnkwco2_2d ) 1027 f_ocnkwco2_2d(:,:) = 0.0 !! 1028 ENDIF 1029 IF( med_diag%OCN_K0%dgsave ) THEN 1030 CALL wrk_alloc( jpi, jpj, f_ocnk0_2d ) 1031 f_ocnk0_2d(:,:) = 0.0 !! 1032 ENDIF 1033 IF( med_diag%CO2STARAIR%dgsave ) THEN 1034 CALL wrk_alloc( jpi, jpj, f_co2starair_2d ) 1035 f_co2starair_2d(:,:) = 0.0 !! 1036 ENDIF 1037 IF( med_diag%OCN_DPCO2%dgsave ) THEN 1038 CALL wrk_alloc( jpi, jpj, f_ocndpco2_2d ) 1039 f_ocndpco2_2d(:,:) = 0.0 !! 1040 ENDIF 1041 # endif 1042 IF( med_diag%TPP3%dgsave ) THEN 1043 CALL wrk_alloc( jpi, jpj, jpk, tpp3d ) 1044 tpp3d(:,:,:) = 0.0 !! 1045 ENDIF 1046 IF( med_diag%DETFLUX3%dgsave ) THEN 1047 CALL wrk_alloc( jpi, jpj, jpk, detflux3d ) 1048 detflux3d(:,:,:) = 0.0 !! 1049 ENDIF 1050 IF( med_diag%REMIN3N%dgsave ) THEN 1051 CALL wrk_alloc( jpi, jpj, jpk, remin3dn ) 1052 remin3dn(:,:,:) = 0.0 !! 1053 ENDIF 1054 !! 1055 !! AXY (10/11/16): CMIP6 diagnostics, 2D 1056 !! JPALM -- 17-11-16 -- put fgco2 alloc out of diag request 1057 !! needed for coupling/passed through restart 1058 !! IF( med_diag%FGCO2%dgsave ) THEN 1059 CALL wrk_alloc( jpi, jpj, fgco2 ) 1060 fgco2(:,:) = 0.0 !! 1061 !! ENDIF 1062 IF( med_diag%INTDISSIC%dgsave ) THEN 1063 CALL wrk_alloc( jpi, jpj, intdissic ) 1064 intdissic(:,:) = 0.0 !! 1065 ENDIF 1066 IF( med_diag%INTDISSIN%dgsave ) THEN 1067 CALL wrk_alloc( jpi, jpj, intdissin ) 1068 intdissin(:,:) = 0.0 !! 1069 ENDIF 1070 IF( med_diag%INTDISSISI%dgsave ) THEN 1071 CALL wrk_alloc( jpi, jpj, intdissisi ) 1072 intdissisi(:,:) = 0.0 !! 1073 ENDIF 1074 IF( med_diag%INTTALK%dgsave ) THEN 1075 CALL wrk_alloc( jpi, jpj, inttalk ) 1076 inttalk(:,:) = 0.0 !! 1077 ENDIF 1078 IF( med_diag%O2min%dgsave ) THEN 1079 CALL wrk_alloc( jpi, jpj, o2min ) 1080 o2min(:,:) = 1.e3 !! set to high value as we're looking for min(o2) 1081 ENDIF 1082 IF( med_diag%ZO2min%dgsave ) THEN 1083 CALL wrk_alloc( jpi, jpj, zo2min ) 1084 zo2min(:,:) = 0.0 !! 1085 ENDIF 1086 IF( med_diag%FBDDTALK%dgsave ) THEN 1087 CALL wrk_alloc( jpi, jpj, fbddtalk ) 1088 fbddtalk(:,:) = 0.0 !! 1089 ENDIF 1090 IF( med_diag%FBDDTDIC%dgsave ) THEN 1091 CALL wrk_alloc( jpi, jpj, fbddtdic ) 1092 fbddtdic(:,:) = 0.0 !! 1093 ENDIF 1094 IF( med_diag%FBDDTDIFE%dgsave ) THEN 1095 CALL wrk_alloc( jpi, jpj, fbddtdife ) 1096 fbddtdife(:,:) = 0.0 !! 1097 ENDIF 1098 IF( med_diag%FBDDTDIN%dgsave ) THEN 1099 CALL wrk_alloc( jpi, jpj, fbddtdin ) 1100 fbddtdin(:,:) = 0.0 !! 1101 ENDIF 1102 IF( med_diag%FBDDTDISI%dgsave ) THEN 1103 CALL wrk_alloc( jpi, jpj, fbddtdisi ) 1104 fbddtdisi(:,:) = 0.0 !! 1105 ENDIF 1106 !! 1107 !! AXY (10/11/16): CMIP6 diagnostics, 3D 1108 IF( med_diag%TPPD3%dgsave ) THEN 1109 CALL wrk_alloc( jpi, jpj, jpk, tppd3 ) 1110 tppd3(:,:,:) = 0.0 !! 1111 ENDIF 1112 IF( med_diag%BDDTALK3%dgsave ) THEN 1113 CALL wrk_alloc( jpi, jpj, jpk, bddtalk3 ) 1114 bddtalk3(:,:,:) = 0.0 !! 1115 ENDIF 1116 IF( med_diag%BDDTDIC3%dgsave ) THEN 1117 CALL wrk_alloc( jpi, jpj, jpk, bddtdic3 ) 1118 bddtdic3(:,:,:) = 0.0 !! 1119 ENDIF 1120 IF( med_diag%BDDTDIFE3%dgsave ) THEN 1121 CALL wrk_alloc( jpi, jpj, jpk, bddtdife3 ) 1122 bddtdife3(:,:,:) = 0.0 !! 1123 ENDIF 1124 IF( med_diag%BDDTDIN3%dgsave ) THEN 1125 CALL wrk_alloc( jpi, jpj, jpk, bddtdin3 ) 1126 bddtdin3(:,:,:) = 0.0 !! 1127 ENDIF 1128 IF( med_diag%BDDTDISI3%dgsave ) THEN 1129 CALL wrk_alloc( jpi, jpj, jpk, bddtdisi3 ) 1130 bddtdisi3(:,:,:) = 0.0 !! 1131 ENDIF 1132 IF( med_diag%FD_NIT3%dgsave ) THEN 1133 CALL wrk_alloc( jpi, jpj, jpk, fd_nit3 ) 1134 fd_nit3(:,:,:) = 0.0 !! 1135 ENDIF 1136 IF( med_diag%FD_SIL3%dgsave ) THEN 1137 CALL wrk_alloc( jpi, jpj, jpk, fd_sil3 ) 1138 fd_sil3(:,:,:) = 0.0 !! 1139 ENDIF 1140 IF( med_diag%FD_CAR3%dgsave ) THEN 1141 CALL wrk_alloc( jpi, jpj, jpk, fd_car3 ) 1142 fd_car3(:,:,:) = 0.0 !! 1143 ENDIF 1144 IF( med_diag%FD_CAL3%dgsave ) THEN 1145 CALL wrk_alloc( jpi, jpj, jpk, fd_cal3 ) 1146 fd_cal3(:,:,:) = 0.0 !! 1147 ENDIF 1148 IF( med_diag%DCALC3%dgsave ) THEN 1149 CALL wrk_alloc( jpi, jpj, jpk, dcalc3 ) 1150 dcalc3(:,:,: ) = 0.0 !! 1151 ENDIF 1152 IF( med_diag%EXPC3%dgsave ) THEN 1153 CALL wrk_alloc( jpi, jpj, jpk, expc3 ) 1154 expc3(:,:,: ) = 0.0 !! 1155 ENDIF 1156 IF( med_diag%EXPN3%dgsave ) THEN 1157 CALL wrk_alloc( jpi, jpj, jpk, expn3 ) 1158 expn3(:,:,: ) = 0.0 !! 1159 ENDIF 1160 IF( med_diag%FEDISS3%dgsave ) THEN 1161 CALL wrk_alloc( jpi, jpj, jpk, fediss3 ) 1162 fediss3(:,:,: ) = 0.0 !! 1163 ENDIF 1164 IF( med_diag%FESCAV3%dgsave ) THEN 1165 CALL wrk_alloc( jpi, jpj, jpk, fescav3 ) 1166 fescav3(:,:,: ) = 0.0 !! 1167 ENDIF 1168 IF( med_diag%MIGRAZP3%dgsave ) THEN 1169 CALL wrk_alloc( jpi, jpj, jpk, migrazp3 ) 1170 migrazp3(:,:,: ) = 0.0 !! 1171 ENDIF 1172 IF( med_diag%MIGRAZD3%dgsave ) THEN 1173 CALL wrk_alloc( jpi, jpj, jpk, migrazd3 ) 1174 migrazd3(:,:,: ) = 0.0 !! 1175 ENDIF 1176 IF( med_diag%MEGRAZP3%dgsave ) THEN 1177 CALL wrk_alloc( jpi, jpj, jpk, megrazp3 ) 1178 megrazp3(:,:,: ) = 0.0 !! 1179 ENDIF 1180 IF( med_diag%MEGRAZD3%dgsave ) THEN 1181 CALL wrk_alloc( jpi, jpj, jpk, megrazd3 ) 1182 megrazd3(:,:,: ) = 0.0 !! 1183 ENDIF 1184 IF( med_diag%MEGRAZZ3%dgsave ) THEN 1185 CALL wrk_alloc( jpi, jpj, jpk, megrazz3 ) 1186 megrazz3(:,:,: ) = 0.0 !! 1187 ENDIF 1188 IF( med_diag%O2SAT3%dgsave ) THEN 1189 CALL wrk_alloc( jpi, jpj, jpk, o2sat3 ) 1190 o2sat3(:,:,: ) = 0.0 !! 1191 ENDIF 1192 IF( med_diag%PBSI3%dgsave ) THEN 1193 CALL wrk_alloc( jpi, jpj, jpk, pbsi3 ) 1194 pbsi3(:,:,: ) = 0.0 !! 1195 ENDIF 1196 IF( med_diag%PCAL3%dgsave ) THEN 1197 CALL wrk_alloc( jpi, jpj, jpk, pcal3 ) 1198 pcal3(:,:,: ) = 0.0 !! 1199 ENDIF 1200 IF( med_diag%REMOC3%dgsave ) THEN 1201 CALL wrk_alloc( jpi, jpj, jpk, remoc3 ) 1202 remoc3(:,:,: ) = 0.0 !! 1203 ENDIF 1204 IF( med_diag%PNLIMJ3%dgsave ) THEN 1205 CALL wrk_alloc( jpi, jpj, jpk, pnlimj3 ) 1206 pnlimj3(:,:,: ) = 0.0 !! 1207 ENDIF 1208 IF( med_diag%PNLIMN3%dgsave ) THEN 1209 CALL wrk_alloc( jpi, jpj, jpk, pnlimn3 ) 1210 pnlimn3(:,:,: ) = 0.0 !! 1211 ENDIF 1212 IF( med_diag%PNLIMFE3%dgsave ) THEN 1213 CALL wrk_alloc( jpi, jpj, jpk, pnlimfe3 ) 1214 pnlimfe3(:,:,: ) = 0.0 !! 1215 ENDIF 1216 IF( med_diag%PDLIMJ3%dgsave ) THEN 1217 CALL wrk_alloc( jpi, jpj, jpk, pdlimj3 ) 1218 pdlimj3(:,:,: ) = 0.0 !! 1219 ENDIF 1220 IF( med_diag%PDLIMN3%dgsave ) THEN 1221 CALL wrk_alloc( jpi, jpj, jpk, pdlimn3 ) 1222 pdlimn3(:,:,: ) = 0.0 !! 1223 ENDIF 1224 IF( med_diag%PDLIMFE3%dgsave ) THEN 1225 CALL wrk_alloc( jpi, jpj, jpk, pdlimfe3 ) 1226 pdlimfe3(:,:,: ) = 0.0 !! 1227 ENDIF 1228 IF( med_diag%PDLIMSI3%dgsave ) THEN 1229 CALL wrk_alloc( jpi, jpj, jpk, pdlimsi3 ) 1230 pdlimsi3(:,:,: ) = 0.0 !! 1231 ENDIF 1232 1233 ENDIF 1234 !! lk_iomput 427 ! tmp - marc 428 write(numout,*) 'bbb13. before call to bio_medusa_init,kt=',kt 429 flush(numout) 430 ! 431 CALL bio_medusa_init( kt ) 432 ! tmp - marc 433 write(numout,*) 'bbb14. after call to bio_medusa_init,kt=',kt 434 flush(numout) 435 ! 1235 436 !! 1236 437 # if defined key_axy_nancheck … … 1884 1085 ENDIF 1885 1086 IF( med_diag%CO2FLUX%dgsave ) THEN 1886 f_co2flux (ji,jj)2d(ji,jj) = f_co2flux(ji,jj) * fse3t(ji,jj,jk) !! mmol/m3/d -> mmol/m2/d1087 f_co2flux2d(ji,jj) = f_co2flux(ji,jj) * fse3t(ji,jj,jk) !! mmol/m3/d -> mmol/m2/d 1887 1088 ENDIF 1888 1089 IF( med_diag%TCO2%dgsave ) THEN
Note: See TracChangeset
for help on using the changeset viewer.