- Timestamp:
- 2017-05-26T10:17:21+02:00 (7 years ago)
- Location:
- branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_diag_slice.F90
r8023 r8076 48 48 zn_co2_flx, zn_dms_srf 49 49 USE trc, ONLY: med_diag 50 USE wrk_nemo, ONLY: wrk_dealloc51 50 52 51 !! The vertical level … … 85 84 IF( med_diag%ATM_PCO2%dgsave ) THEN 86 85 CALL iom_put( "ATM_PCO2" , f_pco2a2d ) 87 CALL wrk_dealloc( jpi, jpj, f_pco2a2d)86 DEALLOCATE( f_pco2a2d ) 88 87 ENDIF 89 88 IF( med_diag%OCN_PH%dgsave ) THEN … … 93 92 IF( med_diag%OCN_PCO2%dgsave ) THEN 94 93 CALL iom_put( "OCN_PCO2" , f_pco2w2d ) 95 CALL wrk_dealloc( jpi, jpj, f_pco2w2d)94 DEALLOCATE( f_pco2w2d ) 96 95 ENDIF 97 96 IF( med_diag%OCNH2CO3%dgsave ) THEN … … 109 108 IF( med_diag%CO2FLUX%dgsave ) THEN 110 109 CALL iom_put( "CO2FLUX" , f_co2flux2d ) 111 CALL wrk_dealloc( jpi, jpj, f_co2flux2d)110 DEALLOCATE( f_co2flux2d ) 112 111 ENDIF 113 112 !! … … 128 127 CO2Flux_out_cpl = zn_co2_flx 129 128 ENDIF 130 CALL wrk_dealloc( jpi, jpj, fgco2)129 DEALLOCATE( fgco2 ) 131 130 !! --- 132 131 IF( med_diag%OM_CAL%dgsave ) THEN … … 138 137 IF( med_diag%TCO2%dgsave ) THEN 139 138 CALL iom_put( "TCO2" , f_TDIC2d ) 140 CALL wrk_dealloc( jpi, jpj, f_TDIC2d)139 DEALLOCATE( f_TDIC2d ) 141 140 ENDIF 142 141 IF( med_diag%TALK%dgsave ) THEN 143 142 CALL iom_put( "TALK" , f_TALK2d ) 144 CALL wrk_dealloc( jpi, jpj, f_TALK2d)143 DEALLOCATE( f_TALK2d ) 145 144 ENDIF 146 145 IF( med_diag%KW660%dgsave ) THEN 147 146 CALL iom_put( "KW660" , f_kw6602d ) 148 CALL wrk_dealloc( jpi, jpj, f_kw6602d)147 DEALLOCATE( f_kw6602d ) 149 148 ENDIF 150 149 IF( med_diag%ATM_PP0%dgsave ) THEN 151 150 CALL iom_put( "ATM_PP0" , f_pp02d ) 152 CALL wrk_dealloc( jpi, jpj, f_pp02d)151 DEALLOCATE( f_pp02d ) 153 152 ENDIF 154 153 IF( med_diag%O2FLUX%dgsave ) THEN 155 154 CALL iom_put( "O2FLUX" , f_o2flux2d ) 156 CALL wrk_dealloc( jpi, jpj, f_o2flux2d)155 DEALLOCATE( f_o2flux2d ) 157 156 ENDIF 158 157 IF( med_diag%O2SAT%dgsave ) THEN 159 158 CALL iom_put( "O2SAT" , f_o2sat2d ) 160 CALL wrk_dealloc( jpi, jpj, f_o2sat2d)159 DEALLOCATE( f_o2sat2d ) 161 160 ENDIF 162 161 IF( med_diag%CAL_CCD%dgsave ) THEN … … 175 174 DMS_out_cpl = zn_dms_srf 176 175 ENDIF 177 CALL wrk_dealloc( jpi, jpj, dms_surf2d)176 DEALLOCATE( dms_surf2d ) 178 177 ENDIF 179 178 IF( med_diag%DMS_ANDR%dgsave ) THEN 180 179 CALL iom_put( "DMS_ANDR" , dms_andr2d ) 181 CALL wrk_dealloc( jpi, jpj, dms_andr2d)180 DEALLOCATE( dms_andr2d ) 182 181 ENDIF 183 182 IF( med_diag%DMS_SIMO%dgsave ) THEN 184 183 CALL iom_put( "DMS_SIMO" , dms_simo2d ) 185 CALL wrk_dealloc( jpi, jpj, dms_simo2d)184 DEALLOCATE( dms_simo2d ) 186 185 ENDIF 187 186 IF( med_diag%DMS_ARAN%dgsave ) THEN 188 187 CALL iom_put( "DMS_ARAN" , dms_aran2d ) 189 CALL wrk_dealloc( jpi, jpj, dms_aran2d)188 DEALLOCATE( dms_aran2d ) 190 189 ENDIF 191 190 IF( med_diag%DMS_HALL%dgsave ) THEN 192 191 CALL iom_put( "DMS_HALL" , dms_hall2d ) 193 CALL wrk_dealloc( jpi, jpj, dms_hall2d)192 DEALLOCATE( dms_hall2d ) 194 193 ENDIF 195 194 ENDIF … … 197 196 IF( med_diag%ATM_XCO2%dgsave ) THEN 198 197 CALL iom_put( "ATM_XCO2" , f_xco2a_2d ) 199 CALL wrk_dealloc( jpi, jpj, f_xco2a_2d)198 DEALLOCATE( f_xco2a_2d ) 200 199 ENDIF 201 200 IF( med_diag%OCN_FCO2%dgsave ) THEN 202 201 CALL iom_put( "OCN_FCO2" , f_fco2w_2d ) 203 CALL wrk_dealloc( jpi, jpj, f_fco2w_2d)202 DEALLOCATE( f_fco2w_2d ) 204 203 ENDIF 205 204 IF( med_diag%ATM_FCO2%dgsave ) THEN 206 205 CALL iom_put( "ATM_FCO2" , f_fco2a_2d ) 207 CALL wrk_dealloc( jpi, jpj, f_fco2a_2d)206 DEALLOCATE( f_fco2a_2d ) 208 207 ENDIF 209 208 IF( med_diag%OCN_RHOSW%dgsave ) THEN 210 209 CALL iom_put( "OCN_RHOSW" , f_ocnrhosw_2d ) 211 CALL wrk_dealloc( jpi, jpj, f_ocnrhosw_2d)210 DEALLOCATE( f_ocnrhosw_2d ) 212 211 ENDIF 213 212 IF( med_diag%OCN_SCHCO2%dgsave ) THEN 214 213 CALL iom_put( "OCN_SCHCO2" , f_ocnschco2_2d ) 215 CALL wrk_dealloc( jpi, jpj, f_ocnschco2_2d)214 DEALLOCATE( f_ocnschco2_2d ) 216 215 ENDIF 217 216 IF( med_diag%OCN_KWCO2%dgsave ) THEN 218 217 CALL iom_put( "OCN_KWCO2" , f_ocnkwco2_2d ) 219 CALL wrk_dealloc( jpi, jpj, f_ocnkwco2_2d)218 DEALLOCATE( f_ocnkwco2_2d ) 220 219 ENDIF 221 220 IF( med_diag%OCN_K0%dgsave ) THEN 222 221 CALL iom_put( "OCN_K0" , f_ocnk0_2d ) 223 CALL wrk_dealloc( jpi, jpj, f_ocnk0_2d)222 DEALLOCATE( f_ocnk0_2d ) 224 223 ENDIF 225 224 IF( med_diag%CO2STARAIR%dgsave ) THEN 226 225 CALL iom_put( "CO2STARAIR" , f_co2starair_2d ) 227 CALL wrk_dealloc( jpi, jpj,f_co2starair_2d )226 DEALLOCATE( f_co2starair_2d ) 228 227 ENDIF 229 228 IF( med_diag%OCN_DPCO2%dgsave ) THEN 230 229 CALL iom_put( "OCN_DPCO2" , f_ocndpco2_2d ) 231 CALL wrk_dealloc( jpi, jpj, f_ocndpco2_2d)230 DEALLOCATE( f_ocndpco2_2d ) 232 231 ENDIF 233 232 # endif … … 386 385 IF( med_diag%RR_1000%dgsave ) THEN 387 386 CALL iom_put( "RR_1000" , ffastca2d ) 388 CALL wrk_dealloc( jpi, jpj, ffastca2d)387 DEALLOCATE( ffastca2d ) 389 388 ENDIF 390 389 IF( med_diag%SDC_1000%dgsave ) THEN -
branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_fin.F90
r8023 r8076 55 55 trbio, trc2d, trc3d 56 56 USE trcnam_trp, ONLY: ln_trcadv_cen2, ln_trcadv_tvd 57 USE wrk_nemo, ONLY: wrk_dealloc58 57 59 58 !! time (integer timestep) … … 467 466 IF ( med_diag%PN_JLIM%dgsave ) THEN 468 467 CALL iom_put( "PN_JLIM" , fjln2d ) 469 CALL wrk_dealloc( jpi, jpj, fjln2d)468 DEALLOCATE( fjln2d ) 470 469 ENDIF 471 470 IF ( med_diag%PN_NLIM%dgsave ) THEN 472 471 CALL iom_put( "PN_NLIM" , fnln2d ) 473 CALL wrk_dealloc( jpi, jpj, fnln2d)472 DEALLOCATE( fnln2d ) 474 473 ENDIF 475 474 IF ( med_diag%PN_FELIM%dgsave ) THEN 476 475 CALL iom_put( "PN_FELIM" , ffln2d ) 477 CALL wrk_dealloc( jpi, jpj, ffln2d)476 DEALLOCATE( ffln2d ) 478 477 ENDIF 479 478 IF ( med_diag%PD_JLIM%dgsave ) THEN 480 479 CALL iom_put( "PD_JLIM" , fjld2d ) 481 CALL wrk_dealloc( jpi, jpj, fjld2d)480 DEALLOCATE( fjld2d ) 482 481 ENDIF 483 482 IF ( med_diag%PD_NLIM%dgsave ) THEN 484 483 CALL iom_put( "PD_NLIM" , fnld2d ) 485 CALL wrk_dealloc( jpi, jpj, fnld2d)484 DEALLOCATE( fnld2d ) 486 485 ENDIF 487 486 IF ( med_diag%PD_FELIM%dgsave ) THEN 488 487 CALL iom_put( "PD_FELIM" , ffld2d ) 489 CALL wrk_dealloc( jpi, jpj, ffld2d)488 DEALLOCATE( ffld2d ) 490 489 ENDIF 491 490 IF ( med_diag%PD_SILIM%dgsave ) THEN 492 491 CALL iom_put( "PD_SILIM" , fsld2d2 ) 493 CALL wrk_dealloc( jpi, jpj, fsld2d2)492 DEALLOCATE( fsld2d2 ) 494 493 ENDIF 495 494 IF ( med_diag%PDSILIM2%dgsave ) THEN 496 495 CALL iom_put( "PDSILIM2" , fsld2d ) 497 CALL wrk_dealloc( jpi, jpj, fsld2d)496 DEALLOCATE( fsld2d ) 498 497 ENDIF 499 498 IF ( med_diag%INTFLX_N%dgsave ) THEN … … 582 581 IF ( med_diag%PRN%dgsave ) THEN 583 582 CALL iom_put( "PRN" , fprn2d ) 584 CALL wrk_dealloc( jpi, jpj, fprn2d)583 DEALLOCATE( fprn2d ) 585 584 ENDIF 586 585 IF ( med_diag%MPN%dgsave ) THEN 587 CALL iom_put( "MPN" ,fdpn2d 588 CALL wrk_dealloc( jpi, jpj, fdpn2d)586 CALL iom_put( "MPN" ,fdpn2d ) 587 DEALLOCATE( fdpn2d ) 589 588 ENDIF 590 589 IF ( med_diag%PRD%dgsave ) THEN 591 CALL iom_put( "PRD" ,fprd2d 592 CALL wrk_dealloc( jpi, jpj, fprd2d)590 CALL iom_put( "PRD" ,fprd2d ) 591 DEALLOCATE( fprd2d ) 593 592 ENDIF 594 593 IF( med_diag%MPD%dgsave ) THEN 595 594 CALL iom_put( "MPD" , fdpd2d ) 596 CALL wrk_dealloc( jpi, jpj,fdpd2d )595 DEALLOCATE( fdpd2d ) 597 596 ENDIF 598 597 ! IF( med_diag%DSED%dgsave ) THEN … … 601 600 IF( med_diag%OPAL%dgsave ) THEN 602 601 CALL iom_put( "OPAL" , fprds2d ) 603 CALL wrk_dealloc( jpi, jpj, fprds2d)602 DEALLOCATE( fprds2d ) 604 603 ENDIF 605 604 IF( med_diag%OPALDISS%dgsave ) THEN 606 605 CALL iom_put( "OPALDISS" , fsdiss2d ) 607 CALL wrk_dealloc( jpi, jpj, fsdiss2d)606 DEALLOCATE( fsdiss2d ) 608 607 ENDIF 609 608 IF( med_diag%GMIPn%dgsave ) THEN 610 609 CALL iom_put( "GMIPn" , fgmipn2d ) 611 CALL wrk_dealloc( jpi, jpj, fgmipn2d)610 DEALLOCATE( fgmipn2d ) 612 611 ENDIF 613 612 IF( med_diag%GMID%dgsave ) THEN 614 613 CALL iom_put( "GMID" , fgmid2d ) 615 CALL wrk_dealloc( jpi, jpj, fgmid2d)614 DEALLOCATE( fgmid2d ) 616 615 ENDIF 617 616 IF( med_diag%MZMI%dgsave ) THEN 618 617 CALL iom_put( "MZMI" , fdzmi2d ) 619 CALL wrk_dealloc( jpi, jpj, fdzmi2d)618 DEALLOCATE( fdzmi2d ) 620 619 ENDIF 621 620 IF( med_diag%GMEPN%dgsave ) THEN 622 621 CALL iom_put( "GMEPN" , fgmepn2d ) 623 CALL wrk_dealloc( jpi, jpj, fgmepn2d)622 DEALLOCATE( fgmepn2d ) 624 623 ENDIF 625 624 IF( med_diag%GMEPD%dgsave ) THEN 626 625 CALL iom_put( "GMEPD" , fgmepd2d ) 627 CALL wrk_dealloc( jpi, jpj, fgmepd2d)626 DEALLOCATE( fgmepd2d ) 628 627 ENDIF 629 628 IF( med_diag%GMEZMI%dgsave ) THEN 630 629 CALL iom_put( "GMEZMI" , fgmezmi2d ) 631 CALL wrk_dealloc( jpi, jpj, fgmezmi2d)630 DEALLOCATE( fgmezmi2d ) 632 631 ENDIF 633 632 IF( med_diag%GMED%dgsave ) THEN 634 633 CALL iom_put( "GMED" , fgmed2d ) 635 CALL wrk_dealloc( jpi, jpj, fgmed2d)634 DEALLOCATE( fgmed2d ) 636 635 ENDIF 637 636 IF( med_diag%MZME%dgsave ) THEN 638 637 CALL iom_put( "MZME" , fdzme2d ) 639 CALL wrk_dealloc( jpi, jpj, fdzme2d)638 DEALLOCATE( fdzme2d ) 640 639 ENDIF 641 640 ! IF( med_diag%DEXP%dgsave ) THEN … … 644 643 IF( med_diag%DETN%dgsave ) THEN 645 644 CALL iom_put( "DETN" , fslown2d ) 646 CALL wrk_dealloc( jpi, jpj, fslown2d)645 DEALLOCATE( fslown2d ) 647 646 ENDIF 648 647 IF( med_diag%MDET%dgsave ) THEN 649 648 CALL iom_put( "MDET" , fdd2d ) 650 CALL wrk_dealloc( jpi, jpj, fdd2d)649 DEALLOCATE( fdd2d ) 651 650 ENDIF 652 651 IF( med_diag%AEOLIAN%dgsave ) THEN 653 652 CALL iom_put( "AEOLIAN" , ffetop2d ) 654 CALL wrk_dealloc( jpi, jpj, ffetop2d)653 DEALLOCATE( ffetop2d ) 655 654 ENDIF 656 655 IF( med_diag%BENTHIC%dgsave ) THEN 657 656 CALL iom_put( "BENTHIC" , ffebot2d ) 658 CALL wrk_dealloc( jpi, jpj, ffebot2d)657 DEALLOCATE( ffebot2d ) 659 658 ENDIF 660 659 IF( med_diag%SCAVENGE%dgsave ) THEN 661 660 CALL iom_put( "SCAVENGE" , ffescav2d ) 662 CALL wrk_dealloc( jpi, jpj, ffescav2d)661 DEALLOCATE( ffescav2d ) 663 662 ENDIF 664 663 !! 665 664 IF( med_diag%TOTREG_N%dgsave ) THEN 666 665 CALL iom_put( "TOTREG_N" , fregen2d ) 667 CALL wrk_dealloc( jpi, jpj, fregen2d)666 DEALLOCATE( fregen2d ) 668 667 ENDIF 669 668 IF( med_diag%TOTRG_SI%dgsave ) THEN 670 669 CALL iom_put( "TOTRG_SI" , fregensi2d ) 671 CALL wrk_dealloc( jpi, jpj, fregensi2d)670 DEALLOCATE( fregensi2d ) 672 671 ENDIF 673 672 !! 674 673 IF( med_diag%FASTN%dgsave ) THEN 675 674 CALL iom_put( "FASTN" , ftempn2d ) 676 CALL wrk_dealloc( jpi, jpj, ftempn2d)675 DEALLOCATE( ftempn2d ) 677 676 ENDIF 678 677 IF( med_diag%FASTSI%dgsave ) THEN 679 678 CALL iom_put( "FASTSI" , ftempsi2d ) 680 CALL wrk_dealloc( jpi, jpj, ftempsi2d)679 DEALLOCATE( ftempsi2d ) 681 680 ENDIF 682 681 IF( med_diag%FASTFE%dgsave ) THEN 683 682 CALL iom_put( "FASTFE" , ftempfe2d ) 684 CALL wrk_dealloc( jpi, jpj, ftempfe2d)683 DEALLOCATE( ftempfe2d ) 685 684 ENDIF 686 685 IF( med_diag%FASTC%dgsave ) THEN 687 686 CALL iom_put( "FASTC" , ftempc2d ) 688 CALL wrk_dealloc( jpi, jpj, ftempc2d)687 DEALLOCATE( ftempc2d ) 689 688 ENDIF 690 689 IF( med_diag%FASTCA%dgsave ) THEN 691 690 CALL iom_put( "FASTCA" , ftempca2d ) 692 CALL wrk_dealloc( jpi, jpj, ftempca2d)691 DEALLOCATE( ftempca2d ) 693 692 ENDIF 694 693 !! 695 694 IF( med_diag%REMINN%dgsave ) THEN 696 695 CALL iom_put( "REMINN" , freminn2d ) 697 CALL wrk_dealloc( jpi, jpj, freminn2d)696 DEALLOCATE( freminn2d ) 698 697 ENDIF 699 698 IF( med_diag%REMINSI%dgsave ) THEN 700 699 CALL iom_put( "REMINSI" , freminsi2d ) 701 CALL wrk_dealloc( jpi, jpj, freminsi2d)700 DEALLOCATE( freminsi2d ) 702 701 ENDIF 703 702 IF( med_diag%REMINFE%dgsave ) THEN 704 703 CALL iom_put( "REMINFE" , freminfe2d ) 705 CALL wrk_dealloc( jpi, jpj, freminfe2d)704 DEALLOCATE( freminfe2d ) 706 705 ENDIF 707 706 IF( med_diag%REMINC%dgsave ) THEN 708 707 CALL iom_put( "REMINC" , freminc2d ) 709 CALL wrk_dealloc( jpi, jpj, freminc2d)708 DEALLOCATE( freminc2d ) 710 709 ENDIF 711 710 IF( med_diag%REMINCA%dgsave ) THEN 712 711 CALL iom_put( "REMINCA" , freminca2d ) 713 CALL wrk_dealloc( jpi, jpj, freminca2d)712 DEALLOCATE( freminca2d ) 714 713 ENDIF 715 714 IF( med_diag%SEAFLRN%dgsave ) THEN … … 733 732 IF( med_diag%RIV_N%dgsave ) THEN 734 733 CALL iom_put( "RIV_N" , rivn2d ) 735 CALL wrk_dealloc( jpi, jpj, rivn2d)734 DEALLOCATE( rivn2d ) 736 735 ENDIF 737 736 IF( med_diag%RIV_SI%dgsave ) THEN 738 737 CALL iom_put( "RIV_SI" , rivsi2d ) 739 CALL wrk_dealloc( jpi, jpj, rivsi2d)738 DEALLOCATE( rivsi2d ) 740 739 ENDIF 741 740 IF( med_diag%RIV_C%dgsave ) THEN 742 741 CALL iom_put( "RIV_C" , rivc2d ) 743 CALL wrk_dealloc( jpi, jpj, rivc2d)742 DEALLOCATE( rivc2d ) 744 743 ENDIF 745 744 IF( med_diag%RIV_ALK%dgsave ) THEN 746 745 CALL iom_put( "RIV_ALK" , rivalk2d ) 747 CALL wrk_dealloc( jpi, jpj, rivalk2d)746 DEALLOCATE( rivalk2d ) 748 747 ENDIF 749 748 IF( med_diag%DETC%dgsave ) THEN 750 749 CALL iom_put( "DETC" , fslowc2d ) 751 CALL wrk_dealloc( jpi, jpj, fslowc2d)750 DEALLOCATE( fslowc2d ) 752 751 ENDIF 753 752 !! 754 753 IF( med_diag%PN_LLOSS%dgsave ) THEN 755 754 CALL iom_put( "PN_LLOSS" , fdpn22d ) 756 CALL wrk_dealloc( jpi, jpj, fdpn22d)755 DEALLOCATE( fdpn22d ) 757 756 ENDIF 758 757 IF( med_diag%PD_LLOSS%dgsave ) THEN 759 758 CALL iom_put( "PD_LLOSS" , fdpd22d ) 760 CALL wrk_dealloc( jpi, jpj, fdpd22d)759 DEALLOCATE( fdpd22d ) 761 760 ENDIF 762 761 IF( med_diag%ZI_LLOSS%dgsave ) THEN 763 762 CALL iom_put( "ZI_LLOSS" , fdzmi22d ) 764 CALL wrk_dealloc( jpi, jpj, fdzmi22d)763 DEALLOCATE( fdzmi22d ) 765 764 ENDIF 766 765 IF( med_diag%ZE_LLOSS%dgsave ) THEN 767 766 CALL iom_put( "ZE_LLOSS" , fdzme22d ) 768 CALL wrk_dealloc( jpi, jpj, fdzme22d)767 DEALLOCATE( fdzme22d ) 769 768 ENDIF 770 769 IF( med_diag%ZI_MES_N%dgsave ) THEN 771 770 CALL iom_put( "ZI_MES_N" , zimesn2d ) 772 CALL wrk_dealloc( jpi, jpj, zimesn2d)771 DEALLOCATE( zimesn2d ) 773 772 ENDIF 774 773 IF( med_diag%ZI_MES_D%dgsave ) THEN 775 774 CALL iom_put( "ZI_MES_D" , zimesd2d ) 776 CALL wrk_dealloc( jpi, jpj, zimesd2d)775 DEALLOCATE( zimesd2d ) 777 776 ENDIF 778 777 IF( med_diag%ZI_MES_C%dgsave ) THEN 779 778 CALL iom_put( "ZI_MES_C" , zimesc2d ) 780 CALL wrk_dealloc( jpi, jpj, zimesc2d)779 DEALLOCATE( zimesc2d ) 781 780 ENDIF 782 781 IF( med_diag%ZI_MESDC%dgsave ) THEN 783 CALL iom_put( "ZI_MESDC" ,zimesdc2d 784 CALL wrk_dealloc( jpi, jpj, zimesdc2d)782 CALL iom_put( "ZI_MESDC" ,zimesdc2d ) 783 DEALLOCATE( zimesdc2d ) 785 784 ENDIF 786 785 IF( med_diag%ZI_EXCR%dgsave ) THEN 787 786 CALL iom_put( "ZI_EXCR" , ziexcr2d ) 788 CALL wrk_dealloc( jpi, jpj,ziexcr2d )787 DEALLOCATE( ziexcr2d ) 789 788 ENDIF 790 789 IF( med_diag%ZI_RESP%dgsave ) THEN 791 790 CALL iom_put( "ZI_RESP" , ziresp2d ) 792 CALL wrk_dealloc( jpi, jpj, ziresp2d)791 DEALLOCATE( ziresp2d ) 793 792 ENDIF 794 793 IF( med_diag%ZI_GROW%dgsave ) THEN 795 794 CALL iom_put( "ZI_GROW" , zigrow2d ) 796 CALL wrk_dealloc( jpi, jpj, zigrow2d)795 DEALLOCATE( zigrow2d ) 797 796 ENDIF 798 797 IF( med_diag%ZE_MES_N%dgsave ) THEN 799 798 CALL iom_put( "ZE_MES_N" , zemesn2d ) 800 CALL wrk_dealloc( jpi, jpj, zemesn2d)799 DEALLOCATE( zemesn2d ) 801 800 ENDIF 802 801 IF( med_diag%ZE_MES_D%dgsave ) THEN 803 802 CALL iom_put( "ZE_MES_D" , zemesd2d ) 804 CALL wrk_dealloc( jpi, jpj, zemesd2d)803 DEALLOCATE( zemesd2d ) 805 804 ENDIF 806 805 IF( med_diag%ZE_MES_C%dgsave ) THEN 807 806 CALL iom_put( "ZE_MES_C" , zemesc2d ) 808 CALL wrk_dealloc( jpi, jpj, zemesc2d)807 DEALLOCATE( zemesc2d ) 809 808 ENDIF 810 809 IF( med_diag%ZE_MESDC%dgsave ) THEN 811 810 CALL iom_put( "ZE_MESDC" , zemesdc2d ) 812 CALL wrk_dealloc( jpi, jpj, zemesdc2d)811 DEALLOCATE( zemesdc2d ) 813 812 ENDIF 814 813 IF( med_diag%ZE_EXCR%dgsave ) THEN 815 814 CALL iom_put( "ZE_EXCR" , zeexcr2d ) 816 CALL wrk_dealloc( jpi, jpj, zeexcr2d)815 DEALLOCATE( zeexcr2d ) 817 816 ENDIF 818 817 IF( med_diag%ZE_RESP%dgsave ) THEN 819 818 CALL iom_put( "ZE_RESP" , zeresp2d ) 820 CALL wrk_dealloc( jpi, jpj, zeresp2d)819 DEALLOCATE( zeresp2d ) 821 820 ENDIF 822 821 IF( med_diag%ZE_GROW%dgsave ) THEN 823 822 CALL iom_put( "ZE_GROW" , zegrow2d ) 824 CALL wrk_dealloc( jpi, jpj, zegrow2d)823 DEALLOCATE( zegrow2d ) 825 824 ENDIF 826 825 IF( med_diag%MDETC%dgsave ) THEN 827 826 CALL iom_put( "MDETC" , mdetc2d ) 828 CALL wrk_dealloc( jpi, jpj, mdetc2d)827 DEALLOCATE( mdetc2d ) 829 828 ENDIF 830 829 IF( med_diag%GMIDC%dgsave ) THEN 831 830 CALL iom_put( "GMIDC" , gmidc2d ) 832 CALL wrk_dealloc( jpi, jpj, gmidc2d)831 DEALLOCATE( gmidc2d ) 833 832 ENDIF 834 833 IF( med_diag%GMEDC%dgsave ) THEN 835 834 CALL iom_put( "GMEDC" , gmedc2d ) 836 CALL wrk_dealloc( jpi, jpj, gmedc2d)835 DEALLOCATE( gmedc2d ) 837 836 ENDIF 838 837 IF( med_diag%IBEN_N%dgsave ) THEN 839 838 CALL iom_put( "IBEN_N" , iben_n2d ) 840 CALL wrk_dealloc( jpi, jpj, iben_n2d)839 DEALLOCATE( iben_n2d ) 841 840 ENDIF 842 841 IF( med_diag%IBEN_FE%dgsave ) THEN 843 842 CALL iom_put( "IBEN_FE" , iben_fe2d ) 844 CALL wrk_dealloc( jpi, jpj, iben_fe2d)843 DEALLOCATE( iben_fe2d ) 845 844 ENDIF 846 845 IF( med_diag%IBEN_C%dgsave ) THEN 847 846 CALL iom_put( "IBEN_C" , iben_c2d ) 848 CALL wrk_dealloc( jpi, jpj, iben_c2d)847 DEALLOCATE( iben_c2d ) 849 848 ENDIF 850 849 IF( med_diag%IBEN_SI%dgsave ) THEN 851 850 CALL iom_put( "IBEN_SI" , iben_si2d ) 852 CALL wrk_dealloc( jpi, jpj, iben_si2d)851 DEALLOCATE( iben_si2d ) 853 852 ENDIF 854 853 IF( med_diag%IBEN_CA%dgsave ) THEN 855 854 CALL iom_put( "IBEN_CA" , iben_ca2d ) 856 CALL wrk_dealloc( jpi, jpj, iben_ca2d)855 DEALLOCATE( iben_ca2d ) 857 856 ENDIF 858 857 IF( med_diag%OBEN_N%dgsave ) THEN 859 858 CALL iom_put( "OBEN_N" , oben_n2d ) 860 CALL wrk_dealloc( jpi, jpj, oben_n2d)859 DEALLOCATE( oben_n2d ) 861 860 ENDIF 862 861 IF( med_diag%OBEN_FE%dgsave ) THEN 863 862 CALL iom_put( "OBEN_FE" , oben_fe2d ) 864 CALL wrk_dealloc( jpi, jpj, oben_fe2d)863 DEALLOCATE( oben_fe2d ) 865 864 ENDIF 866 865 IF( med_diag%OBEN_C%dgsave ) THEN 867 866 CALL iom_put( "OBEN_C" , oben_c2d ) 868 CALL wrk_dealloc( jpi, jpj, oben_c2d)867 DEALLOCATE( oben_c2d ) 869 868 ENDIF 870 869 IF( med_diag%OBEN_SI%dgsave ) THEN 871 870 CALL iom_put( "OBEN_SI" , oben_si2d ) 872 CALL wrk_dealloc( jpi, jpj, oben_si2d)871 DEALLOCATE( oben_si2d ) 873 872 ENDIF 874 873 IF( med_diag%OBEN_CA%dgsave ) THEN 875 874 CALL iom_put( "OBEN_CA" , oben_ca2d ) 876 CALL wrk_dealloc( jpi, jpj, oben_ca2d)875 DEALLOCATE( oben_ca2d ) 877 876 ENDIF 878 877 IF( med_diag%SFR_OCAL%dgsave ) THEN 879 878 CALL iom_put( "SFR_OCAL" , sfr_ocal2d ) 880 CALL wrk_dealloc( jpi, jpj, sfr_ocal2d)879 DEALLOCATE( sfr_ocal2d ) 881 880 ENDIF 882 881 IF( med_diag%SFR_OARG%dgsave ) THEN 883 882 CALL iom_put( "SFR_OARG" , sfr_oarg2d ) 884 CALL wrk_dealloc( jpi, jpj, sfr_oarg2d)883 DEALLOCATE( sfr_oarg2d ) 885 884 ENDIF 886 885 IF( med_diag%LYSO_CA%dgsave ) THEN 887 886 CALL iom_put( "LYSO_CA" , lyso_ca2d ) 888 CALL wrk_dealloc( jpi, jpj, lyso_ca2d)887 DEALLOCATE( lyso_ca2d ) 889 888 ENDIF 890 889 # endif … … 893 892 IF( med_diag%TPP3%dgsave ) THEN 894 893 CALL iom_put( "TPP3" , tpp3d ) 895 CALL wrk_dealloc( jpi, jpj, jpk, tpp3d)894 DEALLOCATE( tpp3d ) 896 895 ENDIF 897 896 IF( med_diag%DETFLUX3%dgsave ) THEN 898 897 CALL iom_put( "DETFLUX3" , detflux3d ) 899 CALL wrk_dealloc( jpi, jpj, jpk,detflux3d )898 DEALLOCATE( detflux3d ) 900 899 ENDIF 901 900 IF( med_diag%REMIN3N%dgsave ) THEN 902 901 CALL iom_put( "REMIN3N" , remin3dn ) 903 CALL wrk_dealloc( jpi, jpj, jpk, remin3dn)902 DEALLOCATE( remin3dn ) 904 903 ENDIF 905 904 # if defined key_roam … … 914 913 IF( med_diag%INTDISSIC%dgsave ) THEN 915 914 CALL iom_put( "INTDISSIC" , intdissic ) 916 CALL wrk_dealloc( jpi, jpj, intdissic)915 DEALLOCATE( intdissic ) 917 916 ENDIF 918 917 IF( med_diag%INTDISSIN%dgsave ) THEN 919 918 CALL iom_put( "INTDISSIN" , intdissin ) 920 CALL wrk_dealloc( jpi, jpj, intdissin)919 DEALLOCATE( intdissin ) 921 920 ENDIF 922 921 IF( med_diag%INTDISSISI%dgsave ) THEN 923 922 CALL iom_put( "INTDISSISI" , intdissisi ) 924 CALL wrk_dealloc( jpi, jpj, intdissisi)923 DEALLOCATE( intdissisi ) 925 924 ENDIF 926 925 IF( med_diag%INTTALK%dgsave ) THEN 927 926 CALL iom_put( "INTTALK" , inttalk ) 928 CALL wrk_dealloc( jpi, jpj, inttalk)927 DEALLOCATE( inttalk ) 929 928 ENDIF 930 929 IF( med_diag%O2min%dgsave ) THEN 931 930 CALL iom_put( "O2min" , o2min ) 932 CALL wrk_dealloc( jpi, jpj, o2min)931 DEALLOCATE( o2min ) 933 932 ENDIF 934 933 IF( med_diag%ZO2min%dgsave ) THEN 935 934 CALL iom_put( "ZO2min" , zo2min ) 936 CALL wrk_dealloc( jpi, jpj, zo2min)935 DEALLOCATE( zo2min ) 937 936 ENDIF 938 937 IF( med_diag%FBDDTALK%dgsave ) THEN 939 CALL iom_put( "FBDDTALK" , fbddtalk 940 CALL wrk_dealloc( jpi, jpj, fbddtalk)938 CALL iom_put( "FBDDTALK" , fbddtalk ) 939 DEALLOCATE( fbddtalk ) 941 940 ENDIF 942 941 IF( med_diag%FBDDTDIC%dgsave ) THEN 943 CALL iom_put( "FBDDTDIC" , fbddtdic 944 CALL wrk_dealloc( jpi, jpj, fbddtdic)942 CALL iom_put( "FBDDTDIC" , fbddtdic ) 943 DEALLOCATE( fbddtdic ) 945 944 ENDIF 946 945 IF( med_diag%FBDDTDIFE%dgsave ) THEN 947 CALL iom_put( "FBDDTDIFE" , fbddtdife 948 CALL wrk_dealloc( jpi, jpj, fbddtdife)946 CALL iom_put( "FBDDTDIFE" , fbddtdife ) 947 DEALLOCATE( fbddtdife ) 949 948 ENDIF 950 949 IF( med_diag%FBDDTDIN%dgsave ) THEN 951 CALL iom_put( "FBDDTDIN" , fbddtdin 952 CALL wrk_dealloc( jpi, jpj, fbddtdin)950 CALL iom_put( "FBDDTDIN" , fbddtdin ) 951 DEALLOCATE( fbddtdin ) 953 952 ENDIF 954 953 IF( med_diag%FBDDTDISI%dgsave ) THEN 955 CALL iom_put( "FBDDTDISI" , fbddtdisi 956 CALL wrk_dealloc( jpi, jpj, fbddtdisi)954 CALL iom_put( "FBDDTDISI" , fbddtdisi ) 955 DEALLOCATE( fbddtdisi ) 957 956 ENDIF 958 957 !! … … 960 959 IF( med_diag%TPPD3%dgsave ) THEN 961 960 CALL iom_put( "TPPD3" , tppd3 ) 962 CALL wrk_dealloc( jpi, jpj, jpk, tppd3)961 DEALLOCATE( tppd3 ) 963 962 ENDIF 964 963 IF( med_diag%BDDTALK3%dgsave ) THEN 965 964 CALL iom_put( "BDDTALK3" , bddtalk3 ) 966 CALL wrk_dealloc( jpi, jpj, jpk, bddtalk3)965 DEALLOCATE( bddtalk3 ) 967 966 ENDIF 968 967 IF( med_diag%BDDTDIC3%dgsave ) THEN 969 968 CALL iom_put( "BDDTDIC3" , bddtdic3 ) 970 CALL wrk_dealloc( jpi, jpj, jpk, bddtdic3)969 DEALLOCATE( bddtdic3 ) 971 970 ENDIF 972 971 IF( med_diag%BDDTDIFE3%dgsave ) THEN 973 972 CALL iom_put( "BDDTDIFE3" , bddtdife3 ) 974 CALL wrk_dealloc( jpi, jpj, jpk, bddtdife3)973 DEALLOCATE( bddtdife3 ) 975 974 ENDIF 976 975 IF( med_diag%BDDTDIN3%dgsave ) THEN 977 976 CALL iom_put( "BDDTDIN3" , bddtdin3 ) 978 CALL wrk_dealloc( jpi, jpj, jpk, bddtdin3)977 DEALLOCATE( bddtdin3 ) 979 978 ENDIF 980 979 IF( med_diag%BDDTDISI3%dgsave ) THEN 981 980 CALL iom_put( "BDDTDISI3" , bddtdisi3 ) 982 CALL wrk_dealloc( jpi, jpj, jpk, bddtdisi3)981 DEALLOCATE( bddtdisi3 ) 983 982 ENDIF 984 983 IF( med_diag%FD_NIT3%dgsave ) THEN 985 984 CALL iom_put( "FD_NIT3" , fd_nit3 ) 986 CALL wrk_dealloc( jpi, jpj, jpk, fd_nit3)985 DEALLOCATE( fd_nit3 ) 987 986 ENDIF 988 987 IF( med_diag%FD_SIL3%dgsave ) THEN 989 988 CALL iom_put( "FD_SIL3" , fd_sil3 ) 990 CALL wrk_dealloc( jpi, jpj, jpk, fd_sil3)989 DEALLOCATE( fd_sil3 ) 991 990 ENDIF 992 991 IF( med_diag%FD_CAL3%dgsave ) THEN 993 992 CALL iom_put( "FD_CAL3" , fd_cal3 ) 994 CALL wrk_dealloc( jpi, jpj, jpk, fd_cal3)993 DEALLOCATE( fd_cal3 ) 995 994 ENDIF 996 995 IF( med_diag%FD_CAR3%dgsave ) THEN 997 996 CALL iom_put( "FD_CAR3" , fd_car3 ) 998 CALL wrk_dealloc( jpi, jpj, jpk, fd_car3)997 DEALLOCATE( fd_car3 ) 999 998 ENDIF 1000 999 IF( med_diag%CO33%dgsave ) THEN … … 1009 1008 IF( med_diag%EXPC3%dgsave ) THEN 1010 1009 CALL iom_put( "EXPC3" , expc3 ) 1011 CALL wrk_dealloc( jpi, jpj, jpk, expc3)1010 DEALLOCATE( expc3 ) 1012 1011 ENDIF 1013 1012 IF( med_diag%EXPN3%dgsave ) THEN 1014 1013 CALL iom_put( "EXPN3" , expn3 ) 1015 CALL wrk_dealloc( jpi, jpj, jpk, expn3)1014 DEALLOCATE( expn3 ) 1016 1015 ENDIF 1017 1016 IF( med_diag%DCALC3%dgsave ) THEN 1018 1017 CALL iom_put( "DCALC3" , dcalc3 ) 1019 CALL wrk_dealloc( jpi, jpj, jpk, dcalc3)1018 DEALLOCATE( dcalc3 ) 1020 1019 ENDIF 1021 1020 IF( med_diag%FEDISS3%dgsave ) THEN 1022 1021 CALL iom_put( "FEDISS3" , fediss3 ) 1023 CALL wrk_dealloc( jpi, jpj, jpk, fediss3)1022 DEALLOCATE( fediss3 ) 1024 1023 ENDIF 1025 1024 IF( med_diag%FESCAV3%dgsave ) THEN 1026 1025 CALL iom_put( "FESCAV3" , fescav3 ) 1027 CALL wrk_dealloc( jpi, jpj, jpk, fescav3)1026 DEALLOCATE( fescav3 ) 1028 1027 ENDIF 1029 1028 IF( med_diag%MIGRAZP3%dgsave ) THEN 1030 1029 CALL iom_put( "MIGRAZP3" , migrazp3 ) 1031 CALL wrk_dealloc( jpi, jpj, jpk, migrazp3)1030 DEALLOCATE( migrazp3 ) 1032 1031 ENDIF 1033 1032 IF( med_diag%MIGRAZD3%dgsave ) THEN 1034 1033 CALL iom_put( "MIGRAZD3" , migrazd3 ) 1035 CALL wrk_dealloc( jpi, jpj, jpk, migrazd3)1034 DEALLOCATE( migrazd3 ) 1036 1035 ENDIF 1037 1036 IF( med_diag%MEGRAZP3%dgsave ) THEN 1038 1037 CALL iom_put( "MEGRAZP3" , megrazp3 ) 1039 CALL wrk_dealloc( jpi, jpj, jpk, megrazp3)1038 DEALLOCATE( megrazp3 ) 1040 1039 ENDIF 1041 1040 IF( med_diag%MEGRAZD3%dgsave ) THEN 1042 1041 CALL iom_put( "MEGRAZD3" , megrazd3 ) 1043 CALL wrk_dealloc( jpi, jpj, jpk, megrazd3)1042 DEALLOCATE( megrazd3 ) 1044 1043 ENDIF 1045 1044 IF( med_diag%MEGRAZZ3%dgsave ) THEN 1046 1045 CALL iom_put( "MEGRAZZ3" , megrazz3 ) 1047 CALL wrk_dealloc( jpi, jpj, jpk, megrazz3)1046 DEALLOCATE( megrazz3 ) 1048 1047 ENDIF 1049 1048 IF( med_diag%O2SAT3%dgsave ) THEN 1050 1049 CALL iom_put( "O2SAT3" , o2sat3 ) 1051 CALL wrk_dealloc( jpi, jpj, jpk,o2sat3 )1050 DEALLOCATE( o2sat3 ) 1052 1051 ENDIF 1053 1052 IF( med_diag%PBSI3%dgsave ) THEN 1054 1053 CALL iom_put( "PBSI3" , pbsi3 ) 1055 CALL wrk_dealloc( jpi, jpj, jpk, pbsi3)1054 DEALLOCATE( pbsi3 ) 1056 1055 ENDIF 1057 1056 IF( med_diag%PCAL3%dgsave ) THEN 1058 1057 CALL iom_put( "PCAL3" , pcal3 ) 1059 CALL wrk_dealloc( jpi, jpj, jpk, pcal3)1058 DEALLOCATE( pcal3 ) 1060 1059 ENDIF 1061 1060 IF( med_diag%REMOC3%dgsave ) THEN 1062 1061 CALL iom_put( "REMOC3" , remoc3 ) 1063 CALL wrk_dealloc( jpi, jpj, jpk,remoc3 )1062 DEALLOCATE( remoc3 ) 1064 1063 ENDIF 1065 1064 IF( med_diag%PNLIMJ3%dgsave ) THEN 1066 1065 CALL iom_put( "PNLIMJ3" , pnlimj3 ) 1067 CALL wrk_dealloc( jpi, jpj, jpk, pnlimj3)1066 DEALLOCATE( pnlimj3 ) 1068 1067 ENDIF 1069 1068 IF( med_diag%PNLIMN3%dgsave ) THEN 1070 1069 CALL iom_put( "PNLIMN3" , pnlimn3 ) 1071 CALL wrk_dealloc( jpi, jpj, jpk, pnlimn3)1070 DEALLOCATE( pnlimn3 ) 1072 1071 ENDIF 1073 1072 IF( med_diag%PNLIMFE3%dgsave ) THEN 1074 1073 CALL iom_put( "PNLIMFE3" , pnlimfe3 ) 1075 CALL wrk_dealloc( jpi, jpj, jpk,pnlimfe3 )1074 DEALLOCATE( pnlimfe3 ) 1076 1075 ENDIF 1077 1076 IF( med_diag%PDLIMJ3%dgsave ) THEN 1078 1077 CALL iom_put( "PDLIMJ3" , pdlimj3 ) 1079 CALL wrk_dealloc( jpi, jpj, jpk, pdlimj3)1078 DEALLOCATE( pdlimj3 ) 1080 1079 ENDIF 1081 1080 IF( med_diag%PDLIMN3%dgsave ) THEN 1082 1081 CALL iom_put( "PDLIMN3" , pdlimn3 ) 1083 CALL wrk_dealloc( jpi, jpj, jpk, pdlimn3)1082 DEALLOCATE( pdlimn3 ) 1084 1083 ENDIF 1085 1084 IF( med_diag%PDLIMFE3%dgsave ) THEN 1086 1085 CALL iom_put( "PDLIMFE3" , pdlimfe3 ) 1087 CALL wrk_dealloc( jpi, jpj, jpk,pdlimfe3 )1086 DEALLOCATE( pdlimfe3 ) 1088 1087 ENDIF 1089 1088 IF( med_diag%PDLIMSI3%dgsave ) THEN 1090 1089 CALL iom_put( "PDLIMSI3" , pdlimsi3 ) 1091 CALL wrk_dealloc( jpi, jpj, jpk,pdlimsi3 )1090 DEALLOCATE( pdlimsi3 ) 1092 1091 ENDIF 1093 1092 1094 1093 # endif 1095 1094 1096 CALL wrk_dealloc( jpi, jpj, zw2d)1095 DEALLOCATE( zw2d ) 1097 1096 1098 1097 ENDIF ! end of ln_diatrc option -
branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_init.F90
r8045 r8076 37 37 USE trc, ONLY: ln_diatrc, med_diag, nittrc000, & 38 38 trc2d, trc3d 39 USE wrk_nemo, ONLY: wrk_alloc40 39 41 40 # if defined key_iomput … … 175 174 IF ( kt == nittrc000 ) CALL trc_nam_iom_medusa 176 175 177 CALL wrk_alloc( jpi, jpj, zw2d)176 ALLOCATE( zw2d(1:jpi, 1:jpj) ) 178 177 zw2d(:,:) = 0.0 !! 179 178 IF ( med_diag%PRN%dgsave ) THEN 180 CALL wrk_alloc( jpi, jpj, fprn2d)179 ALLOCATE( fprn2d(1:jpi, 1:jpj) ) 181 180 fprn2d(:,:) = 0.0 !! 182 181 ENDIF 183 182 IF ( med_diag%MPN%dgsave ) THEN 184 CALL wrk_alloc( jpi, jpj, fdpn2d)183 ALLOCATE( fdpn2d(1:jpi, 1:jpj) ) 185 184 fdpn2d(:,:) = 0.0 !! 186 185 ENDIF 187 186 IF ( med_diag%PRD%dgsave ) THEN 188 CALL wrk_alloc( jpi, jpj, fprd2d)187 ALLOCATE( fprd2d(1:jpi, 1:jpj) ) 189 188 fprd2d(:,:) = 0.0 !! 190 189 ENDIF 191 190 IF( med_diag%MPD%dgsave ) THEN 192 CALL wrk_alloc( jpi, jpj, fdpd2d)191 ALLOCATE( fdpd2d(1:jpi, 1:jpj) ) 193 192 fdpd2d(:,:) = 0.0 !! 194 193 ENDIF 195 194 IF( med_diag%OPAL%dgsave ) THEN 196 CALL wrk_alloc( jpi, jpj, fprds2d)195 ALLOCATE( fprds2d(1:jpi, 1:jpj) ) 197 196 fprds2d(:,:) = 0.0 !! 198 197 ENDIF 199 198 IF( med_diag%OPALDISS%dgsave ) THEN 200 CALL wrk_alloc( jpi, jpj, fsdiss2d)199 ALLOCATE( fsdiss2d(1:jpi, 1:jpj) ) 201 200 fsdiss2d(:,:) = 0.0 !! 202 201 ENDIF 203 202 IF( med_diag%GMIPn%dgsave ) THEN 204 CALL wrk_alloc( jpi, jpj, fgmipn2d)203 ALLOCATE( fgmipn2d(1:jpi, 1:jpj) ) 205 204 fgmipn2d(:,:) = 0.0 !! 206 205 ENDIF 207 206 IF( med_diag%GMID%dgsave ) THEN 208 CALL wrk_alloc( jpi, jpj, fgmid2d)207 ALLOCATE( fgmid2d(1:jpi, 1:jpj) ) 209 208 fgmid2d(:,:) = 0.0 !! 210 209 ENDIF 211 210 IF( med_diag%MZMI%dgsave ) THEN 212 CALL wrk_alloc( jpi, jpj, fdzmi2d)211 ALLOCATE( fdzmi2d(1:jpi, 1:jpj) ) 213 212 fdzmi2d(:,:) = 0.0 !! 214 213 ENDIF 215 214 IF( med_diag%GMEPN%dgsave ) THEN 216 CALL wrk_alloc( jpi, jpj, fgmepn2d)215 ALLOCATE( fgmepn2d(1:jpi, 1:jpj) ) 217 216 fgmepn2d(:,:) = 0.0 !! 218 217 ENDIF 219 218 IF( med_diag%GMEPD%dgsave ) THEN 220 CALL wrk_alloc( jpi, jpj, fgmepd2d)219 ALLOCATE( fgmepd2d(1:jpi, 1:jpj) ) 221 220 fgmepd2d(:,:) = 0.0 !! 222 221 ENDIF 223 222 IF( med_diag%GMEZMI%dgsave ) THEN 224 CALL wrk_alloc( jpi, jpj, fgmezmi2d)223 ALLOCATE( fgmezmi2d(1:jpi, 1:jpj) ) 225 224 fgmezmi2d(:,:) = 0.0 !! 226 225 ENDIF 227 226 IF( med_diag%GMED%dgsave ) THEN 228 CALL wrk_alloc( jpi, jpj, fgmed2d)227 ALLOCATE( fgmed2d(1:jpi, 1:jpj) ) 229 228 fgmed2d(:,:) = 0.0 !! 230 229 ENDIF 231 230 IF( med_diag%MZME%dgsave ) THEN 232 CALL wrk_alloc( jpi, jpj, fdzme2d)231 ALLOCATE( fdzme2d(1:jpi, 1:jpj) ) 233 232 fdzme2d(:,:) = 0.0 !! 234 233 ENDIF 235 234 IF( med_diag%DETN%dgsave ) THEN 236 CALL wrk_alloc( jpi, jpj, fslown2d)235 ALLOCATE( fslown2d(1:jpi, 1:jpj) ) 237 236 fslown2d(:,:) = 0.0 !! 238 237 ENDIF 239 238 IF( med_diag%MDET%dgsave ) THEN 240 CALL wrk_alloc( jpi, jpj, fdd2d)239 ALLOCATE( fdd2d(1:jpi, 1:jpj) ) 241 240 fdd2d(:,:) = 0.0 !! 242 241 ENDIF 243 242 IF( med_diag%AEOLIAN%dgsave ) THEN 244 CALL wrk_alloc( jpi, jpj, ffetop2d)243 ALLOCATE( ffetop2d(1:jpi, 1:jpj) ) 245 244 ffetop2d(:,:) = 0.0 !! 246 245 ENDIF 247 246 IF( med_diag%BENTHIC%dgsave ) THEN 248 CALL wrk_alloc( jpi, jpj, ffebot2d)247 ALLOCATE( ffebot2d(1:jpi, 1:jpj) ) 249 248 ffebot2d(:,:) = 0.0 !! 250 249 ENDIF 251 250 IF( med_diag%SCAVENGE%dgsave ) THEN 252 CALL wrk_alloc( jpi, jpj, ffescav2d)251 ALLOCATE( ffescav2d(1:jpi, 1:jpj) ) 253 252 ffescav2d(:,:) = 0.0 !! 254 253 ENDIF 255 254 IF( med_diag%PN_JLIM%dgsave ) THEN 256 CALL wrk_alloc( jpi, jpj, fjln2d)255 ALLOCATE( fjln2d(1:jpi, 1:jpj) ) 257 256 fjln2d(:,:) = 0.0 !! 258 257 ENDIF 259 258 IF( med_diag%PN_NLIM%dgsave ) THEN 260 CALL wrk_alloc( jpi, jpj, fnln2d)259 ALLOCATE( fnln2d(1:jpi, 1:jpj) ) 261 260 fnln2d(:,:) = 0.0 !! 262 261 ENDIF 263 262 IF( med_diag%PN_FELIM%dgsave ) THEN 264 CALL wrk_alloc( jpi, jpj, ffln2d)263 ALLOCATE( ffln2d(1:jpi, 1:jpj) ) 265 264 ffln2d(:,:) = 0.0 !! 266 265 ENDIF 267 266 IF( med_diag%PD_JLIM%dgsave ) THEN 268 CALL wrk_alloc( jpi, jpj, fjld2d)267 ALLOCATE( fjld2d(1:jpi, 1:jpj) ) 269 268 fjld2d(:,:) = 0.0 !! 270 269 ENDIF 271 270 IF( med_diag%PD_NLIM%dgsave ) THEN 272 CALL wrk_alloc( jpi, jpj, fnld2d)271 ALLOCATE( fnld2d(1:jpi, 1:jpj) ) 273 272 fnld2d(:,:) = 0.0 !! 274 273 ENDIF 275 274 IF( med_diag%PD_FELIM%dgsave ) THEN 276 CALL wrk_alloc( jpi, jpj, ffld2d)275 ALLOCATE( ffld2d(1:jpi, 1:jpj) ) 277 276 ffld2d(:,:) = 0.0 !! 278 277 ENDIF 279 278 IF( med_diag%PD_SILIM%dgsave ) THEN 280 CALL wrk_alloc( jpi, jpj, fsld2d2)279 ALLOCATE( fsld2d2(1:jpi, 1:jpj) ) 281 280 fsld2d2(:,:) = 0.0 !! 282 281 ENDIF 283 282 IF( med_diag%PDSILIM2%dgsave ) THEN 284 CALL wrk_alloc( jpi, jpj, fsld2d)283 ALLOCATE( fsld2d(1:jpi, 1:jpj) ) 285 284 fsld2d(:,:) = 0.0 !! 286 285 ENDIF … … 289 288 !! 290 289 IF( med_diag%TOTREG_N%dgsave ) THEN 291 CALL wrk_alloc( jpi, jpj, fregen2d)290 ALLOCATE( fregen2d(1:jpi, 1:jpj) ) 292 291 fregen2d(:,:) = 0.0 !! 293 292 ENDIF 294 293 IF( med_diag%TOTRG_SI%dgsave ) THEN 295 CALL wrk_alloc( jpi, jpj, fregensi2d)294 ALLOCATE( fregensi2d(1:jpi, 1:jpj) ) 296 295 fregensi2d(:,:) = 0.0 !! 297 296 ENDIF … … 300 299 !! 301 300 IF( med_diag%FASTN%dgsave ) THEN 302 CALL wrk_alloc( jpi, jpj, ftempn2d)301 ALLOCATE( ftempn2d(1:jpi, 1:jpj) ) 303 302 ftempn2d(:,:) = 0.0 !! 304 303 ENDIF 305 304 IF( med_diag%FASTSI%dgsave ) THEN 306 CALL wrk_alloc( jpi, jpj, ftempsi2d)305 ALLOCATE( ftempsi2d(1:jpi, 1:jpj) ) 307 306 ftempsi2d(:,:) = 0.0 !! 308 307 ENDIF 309 308 IF( med_diag%FASTFE%dgsave ) THEN 310 CALL wrk_alloc( jpi, jpj, ftempfe2d)309 ALLOCATE( ftempfe2d(1:jpi, 1:jpj) ) 311 310 ftempfe2d(:,:) = 0.0 !! 312 311 ENDIF 313 312 IF( med_diag%FASTC%dgsave ) THEN 314 CALL wrk_alloc( jpi, jpj, ftempc2d)313 ALLOCATE( ftempc2d(1:jpi, 1:jpj) ) 315 314 ftempc2d(:,:) = 0.0 !! 316 315 ENDIF 317 316 IF( med_diag%FASTCA%dgsave ) THEN 318 CALL wrk_alloc( jpi, jpj, ftempca2d)317 ALLOCATE( ftempca2d(1:jpi, 1:jpj) ) 319 318 ftempca2d(:,:) = 0.0 !! 320 319 ENDIF … … 323 322 !! 324 323 IF( med_diag%REMINN%dgsave ) THEN 325 CALL wrk_alloc( jpi, jpj, freminn2d)324 ALLOCATE( freminn2d(1:jpi, 1:jpj) ) 326 325 freminn2d(:,:) = 0.0 !! 327 326 ENDIF 328 327 IF( med_diag%REMINSI%dgsave ) THEN 329 CALL wrk_alloc( jpi, jpj, freminsi2d)328 ALLOCATE( freminsi2d(1:jpi, 1:jpj) ) 330 329 freminsi2d(:,:) = 0.0 !! 331 330 ENDIF 332 331 IF( med_diag%REMINFE%dgsave ) THEN 333 CALL wrk_alloc( jpi, jpj, freminfe2d)332 ALLOCATE( freminfe2d(1:jpi, 1:jpj) ) 334 333 freminfe2d(:,:) = 0.0 !! 335 334 ENDIF 336 335 IF( med_diag%REMINC%dgsave ) THEN 337 CALL wrk_alloc( jpi, jpj, freminc2d)336 ALLOCATE( freminc2d(1:jpi, 1:jpj) ) 338 337 freminc2d(:,:) = 0.0 !! 339 338 ENDIF 340 339 IF( med_diag%REMINCA%dgsave ) THEN 341 CALL wrk_alloc( jpi, jpj, freminca2d)340 ALLOCATE( freminca2d(1:jpi, 1:jpj) ) 342 341 freminca2d(:,:) = 0.0 !! 343 342 ENDIF … … 348 347 !! 349 348 IF( med_diag%RR_0100%dgsave ) THEN 350 CALL wrk_alloc( jpi, jpj, ffastca2d)349 ALLOCATE( ffastca2d(1:jpi, 1:jpj) ) 351 350 ffastca2d(:,:) = 0.0 !! 352 351 ENDIF 353 352 354 353 IF( med_diag%ATM_PCO2%dgsave ) THEN 355 CALL wrk_alloc( jpi, jpj, f_pco2a2d)354 ALLOCATE( f_pco2a2d(1:jpi, 1:jpj) ) 356 355 f_pco2a2d(:,:) = 0.0 !! 357 356 ENDIF … … 360 359 !! 361 360 IF( med_diag%OCN_PCO2%dgsave ) THEN 362 CALL wrk_alloc( jpi, jpj, f_pco2w2d)361 ALLOCATE( f_pco2w2d(1:jpi, 1:jpj) ) 363 362 f_pco2w2d(:,:) = 0.0 !! 364 363 ENDIF … … 367 366 !! 368 367 IF( med_diag%CO2FLUX%dgsave ) THEN 369 CALL wrk_alloc( jpi, jpj, f_co2flux2d)368 ALLOCATE( f_co2flux2d(1:jpi, 1:jpj) ) 370 369 f_co2flux2d(:,:) = 0.0 !! 371 370 ENDIF … … 374 373 !! 375 374 IF( med_diag%TCO2%dgsave ) THEN 376 CALL wrk_alloc( jpi, jpj, f_TDIC2d)375 ALLOCATE( f_TDIC2d(1:jpi, 1:jpj) ) 377 376 f_TDIC2d(:,:) = 0.0 !! 378 377 ENDIF 379 378 IF( med_diag%TALK%dgsave ) THEN 380 CALL wrk_alloc( jpi, jpj, f_TALK2d)379 ALLOCATE( f_TALK2d(1:jpi, 1:jpj) ) 381 380 f_TALK2d(:,:) = 0.0 !! 382 381 ENDIF 383 382 IF( med_diag%KW660%dgsave ) THEN 384 CALL wrk_alloc( jpi, jpj, f_kw6602d)383 ALLOCATE( f_kw6602d(1:jpi, 1:jpj) ) 385 384 f_kw6602d(:,:) = 0.0 !! 386 385 ENDIF 387 386 IF( med_diag%ATM_PP0%dgsave ) THEN 388 CALL wrk_alloc( jpi, jpj, f_pp02d)387 ALLOCATE( f_pp02d(1:jpi, 1:jpj) ) 389 388 f_pp02d(:,:) = 0.0 !! 390 389 ENDIF 391 390 IF( med_diag%O2FLUX%dgsave ) THEN 392 CALL wrk_alloc( jpi, jpj, f_o2flux2d)391 ALLOCATE( f_o2flux2d(1:jpi, 1:jpj) ) 393 392 f_o2flux2d(:,:) = 0.0 !! 394 393 ENDIF 395 394 IF( med_diag%O2SAT%dgsave ) THEN 396 CALL wrk_alloc( jpi, jpj, f_o2sat2d)395 ALLOCATE( f_o2sat2d(1:jpi, 1:jpj) ) 397 396 f_o2sat2d(:,:) = 0.0 !! 398 397 ENDIF … … 401 400 !! 402 401 IF( med_diag%SFR_OCAL%dgsave ) THEN 403 CALL wrk_alloc( jpi, jpj, sfr_ocal2d)402 ALLOCATE( sfr_ocal2d(1:jpi, 1:jpj) ) 404 403 sfr_ocal2d(:,:) = 0.0 !! 405 404 ENDIF 406 405 IF( med_diag%SFR_OARG%dgsave ) THEN 407 CALL wrk_alloc( jpi, jpj, sfr_oarg2d)406 ALLOCATE( sfr_oarg2d(1:jpi, 1:jpj) ) 408 407 sfr_oarg2d(:,:) = 0.0 !! 409 408 ENDIF … … 412 411 !! 413 412 IF( med_diag%IBEN_N%dgsave ) THEN 414 CALL wrk_alloc( jpi, jpj, iben_n2d)413 ALLOCATE( iben_n2d(1:jpi, 1:jpj) ) 415 414 iben_n2d(:,:) = 0.0 !! 416 415 ENDIF 417 416 IF( med_diag%IBEN_FE%dgsave ) THEN 418 CALL wrk_alloc( jpi, jpj, iben_fe2d)417 ALLOCATE( iben_fe2d(1:jpi, 1:jpj) ) 419 418 iben_fe2d(:,:) = 0.0 !! 420 419 ENDIF 421 420 IF( med_diag%IBEN_C%dgsave ) THEN 422 CALL wrk_alloc( jpi, jpj, iben_c2d)421 ALLOCATE( iben_c2d(1:jpi, 1:jpj) ) 423 422 iben_c2d(:,:) = 0.0 !! 424 423 ENDIF 425 424 IF( med_diag%IBEN_SI%dgsave ) THEN 426 CALL wrk_alloc( jpi, jpj, iben_si2d)425 ALLOCATE( iben_si2d(1:jpi, 1:jpj) ) 427 426 iben_si2d(:,:) = 0.0 !! 428 427 ENDIF 429 428 IF( med_diag%IBEN_CA%dgsave ) THEN 430 CALL wrk_alloc( jpi, jpj, iben_ca2d)429 ALLOCATE( iben_ca2d(1:jpi, 1:jpj) ) 431 430 iben_ca2d(:,:) = 0.0 !! 432 431 ENDIF 433 432 IF( med_diag%OBEN_N%dgsave ) THEN 434 CALL wrk_alloc( jpi, jpj, oben_n2d)433 ALLOCATE( oben_n2d(1:jpi, 1:jpj) ) 435 434 oben_n2d(:,:) = 0.0 !! 436 435 ENDIF 437 436 IF( med_diag%OBEN_FE%dgsave ) THEN 438 CALL wrk_alloc( jpi, jpj, oben_fe2d)437 ALLOCATE( oben_fe2d(1:jpi, 1:jpj) ) 439 438 oben_fe2d(:,:) = 0.0 !! 440 439 ENDIF 441 440 IF( med_diag%OBEN_C%dgsave ) THEN 442 CALL wrk_alloc( jpi, jpj, oben_c2d)441 ALLOCATE( oben_c2d(1:jpi, 1:jpj) ) 443 442 oben_c2d(:,:) = 0.0 !! 444 443 ENDIF 445 444 IF( med_diag%OBEN_SI%dgsave ) THEN 446 CALL wrk_alloc( jpi, jpj, oben_si2d)445 ALLOCATE( oben_si2d(1:jpi, 1:jpj) ) 447 446 oben_si2d(:,:) = 0.0 !! 448 447 ENDIF 449 448 IF( med_diag%OBEN_CA%dgsave ) THEN 450 CALL wrk_alloc( jpi, jpj, oben_ca2d)449 ALLOCATE( oben_ca2d(1:jpi, 1:jpj) ) 451 450 oben_ca2d(:,:) = 0.0 !! 452 451 ENDIF … … 456 455 457 456 IF( med_diag%RIV_N%dgsave ) THEN 458 CALL wrk_alloc( jpi, jpj, rivn2d)457 ALLOCATE( rivn2d(1:jpi, 1:jpj) ) 459 458 rivn2d(:,:) = 0.0 !! 460 459 ENDIF 461 460 IF( med_diag%RIV_SI%dgsave ) THEN 462 CALL wrk_alloc( jpi, jpj, rivsi2d)461 ALLOCATE( rivsi2d(1:jpi, 1:jpj) ) 463 462 rivsi2d(:,:) = 0.0 !! 464 463 ENDIF 465 464 IF( med_diag%RIV_C%dgsave ) THEN 466 CALL wrk_alloc( jpi, jpj, rivc2d)465 ALLOCATE( rivc2d(1:jpi, 1:jpj) ) 467 466 rivc2d(:,:) = 0.0 !! 468 467 ENDIF 469 468 IF( med_diag%RIV_ALK%dgsave ) THEN 470 CALL wrk_alloc( jpi, jpj, rivalk2d)469 ALLOCATE( rivalk2d(1:jpi, 1:jpj) ) 471 470 rivalk2d(:,:) = 0.0 !! 472 471 ENDIF 473 472 IF( med_diag%DETC%dgsave ) THEN 474 CALL wrk_alloc( jpi, jpj, fslowc2d)473 ALLOCATE( fslowc2d(1:jpi, 1:jpj) ) 475 474 fslowc2d(:,:) = 0.0 !! 476 475 ENDIF … … 479 478 !! 480 479 IF( med_diag%LYSO_CA%dgsave ) THEN 481 CALL wrk_alloc( jpi, jpj, lyso_ca2d)480 ALLOCATE( lyso_ca2d(1:jpi, 1:jpj) ) 482 481 lyso_ca2d(:,:) = 0.0 !! 483 482 ENDIF … … 486 485 !! 487 486 IF( med_diag%PN_LLOSS%dgsave ) THEN 488 CALL wrk_alloc( jpi, jpj, fdpn22d)487 ALLOCATE( fdpn22d(1:jpi, 1:jpj) ) 489 488 fdpn22d(:,:) = 0.0 !! 490 489 ENDIF 491 490 IF( med_diag%PD_LLOSS%dgsave ) THEN 492 CALL wrk_alloc( jpi, jpj, fdpd22d)491 ALLOCATE( fdpd22d(1:jpi, 1:jpj) ) 493 492 fdpd22d(:,:) = 0.0 !! 494 493 ENDIF 495 494 IF( med_diag%ZI_LLOSS%dgsave ) THEN 496 CALL wrk_alloc( jpi, jpj, fdzmi22d)495 ALLOCATE( fdzmi22d(1:jpi, 1:jpj) ) 497 496 fdzmi22d(:,:) = 0.0 !! 498 497 ENDIF 499 498 IF( med_diag%ZE_LLOSS%dgsave ) THEN 500 CALL wrk_alloc( jpi, jpj, fdzme22d)499 ALLOCATE( fdzme22d(1:jpi, 1:jpj) ) 501 500 fdzme22d(:,:) = 0.0 !! 502 501 ENDIF 503 502 IF( med_diag%ZI_MES_N%dgsave ) THEN 504 CALL wrk_alloc( jpi, jpj, zimesn2d)503 ALLOCATE( zimesn2d(1:jpi, 1:jpj) ) 505 504 zimesn2d(:,:) = 0.0 !! 506 505 ENDIF 507 506 IF( med_diag%ZI_MES_D%dgsave ) THEN 508 CALL wrk_alloc( jpi, jpj, zimesd2d)507 ALLOCATE( zimesd2d(1:jpi, 1:jpj) ) 509 508 zimesd2d(:,:) = 0.0 !! 510 509 ENDIF 511 510 IF( med_diag%ZI_MES_C%dgsave ) THEN 512 CALL wrk_alloc( jpi, jpj, zimesc2d)511 ALLOCATE( zimesc2d(1:jpi, 1:jpj) ) 513 512 zimesc2d(:,:) = 0.0 !! 514 513 ENDIF 515 514 IF( med_diag%ZI_MESDC%dgsave ) THEN 516 CALL wrk_alloc( jpi, jpj, zimesdc2d)515 ALLOCATE( zimesdc2d(1:jpi, 1:jpj) ) 517 516 zimesdc2d(:,:) = 0.0 !! 518 517 ENDIF 519 518 IF( med_diag%ZI_EXCR%dgsave ) THEN 520 CALL wrk_alloc( jpi, jpj, ziexcr2d)519 ALLOCATE( ziexcr2d(1:jpi, 1:jpj) ) 521 520 ziexcr2d(:,:) = 0.0 !! 522 521 ENDIF 523 522 IF( med_diag%ZI_RESP%dgsave ) THEN 524 CALL wrk_alloc( jpi, jpj, ziresp2d)523 ALLOCATE( ziresp2d(1:jpi, 1:jpj) ) 525 524 ziresp2d(:,:) = 0.0 !! 526 525 ENDIF 527 526 IF( med_diag%ZI_GROW%dgsave ) THEN 528 CALL wrk_alloc( jpi, jpj, zigrow2d)527 ALLOCATE( zigrow2d(1:jpi, 1:jpj) ) 529 528 zigrow2d(:,:) = 0.0 !! 530 529 ENDIF 531 530 IF( med_diag%ZE_MES_N%dgsave ) THEN 532 CALL wrk_alloc( jpi, jpj, zemesn2d)531 ALLOCATE( zemesn2d(1:jpi, 1:jpj) ) 533 532 zemesn2d(:,:) = 0.0 !! 534 533 ENDIF 535 534 IF( med_diag%ZE_MES_D%dgsave ) THEN 536 CALL wrk_alloc( jpi, jpj, zemesd2d)535 ALLOCATE( zemesd2d(1:jpi, 1:jpj) ) 537 536 zemesd2d(:,:) = 0.0 !! 538 537 ENDIF 539 538 IF( med_diag%ZE_MES_C%dgsave ) THEN 540 CALL wrk_alloc( jpi, jpj, zemesc2d)539 ALLOCATE( zemesc2d(1:jpi, 1:jpj) ) 541 540 zemesc2d(:,:) = 0.0 !! 542 541 ENDIF 543 542 IF( med_diag%ZE_MESDC%dgsave ) THEN 544 CALL wrk_alloc( jpi, jpj, zemesdc2d)543 ALLOCATE( zemesdc2d(1:jpi, 1:jpj) ) 545 544 zemesdc2d(:,:) = 0.0 !! 546 545 ENDIF 547 546 IF( med_diag%ZE_EXCR%dgsave ) THEN 548 CALL wrk_alloc( jpi, jpj, zeexcr2d)547 ALLOCATE( zeexcr2d(1:jpi, 1:jpj) ) 549 548 zeexcr2d(:,:) = 0.0 !! 550 549 ENDIF 551 550 IF( med_diag%ZE_RESP%dgsave ) THEN 552 CALL wrk_alloc( jpi, jpj, zeresp2d)551 ALLOCATE( zeresp2d(1:jpi, 1:jpj) ) 553 552 zeresp2d(:,:) = 0.0 !! 554 553 ENDIF 555 554 IF( med_diag%ZE_GROW%dgsave ) THEN 556 CALL wrk_alloc( jpi, jpj, zegrow2d)555 ALLOCATE( zegrow2d(1:jpi, 1:jpj) ) 557 556 zegrow2d(:,:) = 0.0 !! 558 557 ENDIF 559 558 IF( med_diag%MDETC%dgsave ) THEN 560 CALL wrk_alloc( jpi, jpj, mdetc2d)559 ALLOCATE( mdetc2d(1:jpi, 1:jpj) ) 561 560 mdetc2d(:,:) = 0.0 !! 562 561 ENDIF 563 562 IF( med_diag%GMIDC%dgsave ) THEN 564 CALL wrk_alloc( jpi, jpj, gmidc2d)563 ALLOCATE( gmidc2d(1:jpi, 1:jpj) ) 565 564 gmidc2d(:,:) = 0.0 !! 566 565 ENDIF 567 566 IF( med_diag%GMEDC%dgsave ) THEN 568 CALL wrk_alloc( jpi, jpj, gmedc2d)567 ALLOCATE( gmedc2d(1:jpi, 1:jpj) ) 569 568 gmedc2d(:,:) = 0.0 !! 570 569 ENDIF … … 574 573 IF (jdms .eq. 1) THEN 575 574 IF( med_diag%DMS_SURF%dgsave ) THEN 576 CALL wrk_alloc( jpi, jpj, dms_surf2d)575 ALLOCATE( dms_surf2d(1:jpi, 1:jpj) ) 577 576 dms_surf2d(:,:) = 0.0 !! 578 577 ENDIF 579 578 IF( med_diag%DMS_ANDR%dgsave ) THEN 580 CALL wrk_alloc( jpi, jpj, dms_andr2d)579 ALLOCATE( dms_andr2d(1:jpi, 1:jpj) ) 581 580 dms_andr2d(:,:) = 0.0 !! 582 581 ENDIF 583 582 IF( med_diag%DMS_SIMO%dgsave ) THEN 584 CALL wrk_alloc( jpi, jpj, dms_simo2d)583 ALLOCATE( dms_simo2d(1:jpi, 1:jpj) ) 585 584 dms_simo2d(:,:) = 0.0 !! 586 585 ENDIF 587 586 IF( med_diag%DMS_ARAN%dgsave ) THEN 588 CALL wrk_alloc( jpi, jpj, dms_aran2d)587 ALLOCATE( dms_aran2d(1:jpi, 1:jpj) ) 589 588 dms_aran2d(:,:) = 0.0 !! 590 589 ENDIF 591 590 IF( med_diag%DMS_HALL%dgsave ) THEN 592 CALL wrk_alloc( jpi, jpj, dms_hall2d)591 ALLOCATE( dms_hall2d(1:jpi, 1:jpj) ) 593 592 dms_hall2d(:,:) = 0.0 !! 594 593 ENDIF … … 597 596 !! AXY (24/11/16): extra MOCSY diagnostics, 2D 598 597 IF( med_diag%ATM_XCO2%dgsave ) THEN 599 CALL wrk_alloc( jpi, jpj, f_xco2a_2d)598 ALLOCATE( f_xco2a_2d(1:jpi, 1:jpj) ) 600 599 f_xco2a_2d(:,:) = 0.0 !! 601 600 ENDIF 602 601 IF( med_diag%OCN_FCO2%dgsave ) THEN 603 CALL wrk_alloc( jpi, jpj, f_fco2w_2d)602 ALLOCATE( f_fco2w_2d(1:jpi, 1:jpj) ) 604 603 f_fco2w_2d(:,:) = 0.0 !! 605 604 ENDIF 606 605 IF( med_diag%ATM_FCO2%dgsave ) THEN 607 CALL wrk_alloc( jpi, jpj, f_fco2a_2d)606 ALLOCATE( f_fco2a_2d(1:jpi, 1:jpj) ) 608 607 f_fco2a_2d(:,:) = 0.0 !! 609 608 ENDIF 610 609 IF( med_diag%OCN_RHOSW%dgsave ) THEN 611 CALL wrk_alloc( jpi, jpj, f_ocnrhosw_2d)610 ALLOCATE( f_ocnrhosw_2d(1:jpi, 1:jpj) ) 612 611 f_ocnrhosw_2d(:,:) = 0.0 !! 613 612 ENDIF 614 613 IF( med_diag%OCN_SCHCO2%dgsave ) THEN 615 CALL wrk_alloc( jpi, jpj, f_ocnschco2_2d)614 ALLOCATE( f_ocnschco2_2d(1:jpi, 1:jpj) ) 616 615 f_ocnschco2_2d(:,:) = 0.0 !! 617 616 ENDIF 618 617 IF( med_diag%OCN_KWCO2%dgsave ) THEN 619 CALL wrk_alloc( jpi, jpj, f_ocnkwco2_2d)618 ALLOCATE( f_ocnkwco2_2d(1:jpi, 1:jpj) ) 620 619 f_ocnkwco2_2d(:,:) = 0.0 !! 621 620 ENDIF 622 621 IF( med_diag%OCN_K0%dgsave ) THEN 623 CALL wrk_alloc( jpi, jpj, f_ocnk0_2d)622 ALLOCATE( f_ocnk0_2d(1:jpi, 1:jpj) ) 624 623 f_ocnk0_2d(:,:) = 0.0 !! 625 624 ENDIF 626 625 IF( med_diag%CO2STARAIR%dgsave ) THEN 627 CALL wrk_alloc( jpi, jpj, f_co2starair_2d)626 ALLOCATE( f_co2starair_2d(1:jpi, 1:jpj) ) 628 627 f_co2starair_2d(:,:) = 0.0 !! 629 628 ENDIF 630 629 IF( med_diag%OCN_DPCO2%dgsave ) THEN 631 CALL wrk_alloc( jpi, jpj, f_ocndpco2_2d)630 ALLOCATE( f_ocndpco2_2d(1:jpi, 1:jpj) ) 632 631 f_ocndpco2_2d(:,:) = 0.0 !! 633 632 ENDIF 634 633 # endif 635 634 IF( med_diag%TPP3%dgsave ) THEN 636 CALL wrk_alloc( jpi, jpj, jpk, tpp3d)635 ALLOCATE( tpp3d(1:jpi, 1:jpj, 1:jpk) ) 637 636 tpp3d(:,:,:) = 0.0 !! 638 637 ENDIF 639 638 IF( med_diag%DETFLUX3%dgsave ) THEN 640 CALL wrk_alloc( jpi, jpj, jpk, detflux3d)639 ALLOCATE( detflux3d(1:jpi, 1:jpj, 1:jpk) ) 641 640 detflux3d(:,:,:) = 0.0 !! 642 641 ENDIF 643 642 IF( med_diag%REMIN3N%dgsave ) THEN 644 CALL wrk_alloc( jpi, jpj, jpk, remin3dn)643 ALLOCATE( remin3dn(1:jpi, 1:jpj, 1:jpk) ) 645 644 remin3dn(:,:,:) = 0.0 !! 646 645 ENDIF … … 650 649 !! needed for coupling/passed through restart 651 650 !! IF( med_diag%FGCO2%dgsave ) THEN 652 CALL wrk_alloc( jpi, jpj, fgco2)651 ALLOCATE( fgco2(1:jpi, 1:jpj) ) 653 652 fgco2(:,:) = 0.0 !! 654 653 !! ENDIF 655 654 IF( med_diag%INTDISSIC%dgsave ) THEN 656 CALL wrk_alloc( jpi, jpj, intdissic)655 ALLOCATE( intdissic(1:jpi, 1:jpj) ) 657 656 intdissic(:,:) = 0.0 !! 658 657 ENDIF 659 658 IF( med_diag%INTDISSIN%dgsave ) THEN 660 CALL wrk_alloc( jpi, jpj, intdissin)659 ALLOCATE( intdissin(1:jpi, 1:jpj) ) 661 660 intdissin(:,:) = 0.0 !! 662 661 ENDIF 663 662 IF( med_diag%INTDISSISI%dgsave ) THEN 664 CALL wrk_alloc( jpi, jpj, intdissisi)663 ALLOCATE( intdissisi(1:jpi, 1:jpj) ) 665 664 intdissisi(:,:) = 0.0 !! 666 665 ENDIF 667 666 IF( med_diag%INTTALK%dgsave ) THEN 668 CALL wrk_alloc( jpi, jpj, inttalk)667 ALLOCATE( inttalk(1:jpi, 1:jpj) ) 669 668 inttalk(:,:) = 0.0 !! 670 669 ENDIF 671 670 IF( med_diag%O2min%dgsave ) THEN 672 CALL wrk_alloc( jpi, jpj, o2min)671 ALLOCATE( o2min(1:jpi, 1:jpj) ) 673 672 o2min(:,:) = 1.e3 !! set to high value as we're looking for min(o2) 674 673 ENDIF 675 674 IF( med_diag%ZO2min%dgsave ) THEN 676 CALL wrk_alloc( jpi, jpj, zo2min)675 ALLOCATE( zo2min(1:jpi, 1:jpj) ) 677 676 zo2min(:,:) = 0.0 !! 678 677 ENDIF 679 678 IF( med_diag%FBDDTALK%dgsave ) THEN 680 CALL wrk_alloc( jpi, jpj, fbddtalk)679 ALLOCATE( fbddtalk(1:jpi, 1:jpj) ) 681 680 fbddtalk(:,:) = 0.0 !! 682 681 ENDIF 683 682 IF( med_diag%FBDDTDIC%dgsave ) THEN 684 CALL wrk_alloc( jpi, jpj, fbddtdic)683 ALLOCATE( fbddtdic(1:jpi, 1:jpj) ) 685 684 fbddtdic(:,:) = 0.0 !! 686 685 ENDIF 687 686 IF( med_diag%FBDDTDIFE%dgsave ) THEN 688 CALL wrk_alloc( jpi, jpj, fbddtdife)687 ALLOCATE( fbddtdife(1:jpi, 1:jpj) ) 689 688 fbddtdife(:,:) = 0.0 !! 690 689 ENDIF 691 690 IF( med_diag%FBDDTDIN%dgsave ) THEN 692 CALL wrk_alloc( jpi, jpj, fbddtdin)691 ALLOCATE( fbddtdin(1:jpi, 1:jpj) ) 693 692 fbddtdin(:,:) = 0.0 !! 694 693 ENDIF 695 694 IF( med_diag%FBDDTDISI%dgsave ) THEN 696 CALL wrk_alloc( jpi, jpj, fbddtdisi)695 ALLOCATE( fbddtdisi(1:jpi, 1:jpj) ) 697 696 fbddtdisi(:,:) = 0.0 !! 698 697 ENDIF … … 700 699 !! AXY (10/11/16): CMIP6 diagnostics, 3D 701 700 IF( med_diag%TPPD3%dgsave ) THEN 702 CALL wrk_alloc( jpi, jpj, jpk, tppd3)701 ALLOCATE( tppd3(1:jpi, 1:jpj, 1:jpk) ) 703 702 tppd3(:,:,:) = 0.0 !! 704 703 ENDIF 705 704 IF( med_diag%BDDTALK3%dgsave ) THEN 706 CALL wrk_alloc( jpi, jpj, jpk, bddtalk3)705 ALLOCATE( bddtalk3(1:jpi, 1:jpj, 1:jpk) ) 707 706 bddtalk3(:,:,:) = 0.0 !! 708 707 ENDIF 709 708 IF( med_diag%BDDTDIC3%dgsave ) THEN 710 CALL wrk_alloc( jpi, jpj, jpk, bddtdic3)709 ALLOCATE( bddtdic3(1:jpi, 1:jpj, 1:jpk) ) 711 710 bddtdic3(:,:,:) = 0.0 !! 712 711 ENDIF 713 712 IF( med_diag%BDDTDIFE3%dgsave ) THEN 714 CALL wrk_alloc( jpi, jpj, jpk, bddtdife3)713 ALLOCATE( bddtdife3(1:jpi, 1:jpj, 1:jpk) ) 715 714 bddtdife3(:,:,:) = 0.0 !! 716 715 ENDIF 717 716 IF( med_diag%BDDTDIN3%dgsave ) THEN 718 CALL wrk_alloc( jpi, jpj, jpk, bddtdin3)717 ALLOCATE( bddtdin3(1:jpi, 1:jpj, 1:jpk) ) 719 718 bddtdin3(:,:,:) = 0.0 !! 720 719 ENDIF 721 720 IF( med_diag%BDDTDISI3%dgsave ) THEN 722 CALL wrk_alloc( jpi, jpj, jpk, bddtdisi3)721 ALLOCATE( bddtdisi3(1:jpi, 1:jpj, 1:jpk) ) 723 722 bddtdisi3(:,:,:) = 0.0 !! 724 723 ENDIF 725 724 IF( med_diag%FD_NIT3%dgsave ) THEN 726 CALL wrk_alloc( jpi, jpj, jpk, fd_nit3)725 ALLOCATE( fd_nit3(1:jpi, 1:jpj, 1:jpk) ) 727 726 fd_nit3(:,:,:) = 0.0 !! 728 727 ENDIF 729 728 IF( med_diag%FD_SIL3%dgsave ) THEN 730 CALL wrk_alloc( jpi, jpj, jpk, fd_sil3)729 ALLOCATE( fd_sil3(1:jpi, 1:jpj, 1:jpk) ) 731 730 fd_sil3(:,:,:) = 0.0 !! 732 731 ENDIF 733 732 IF( med_diag%FD_CAR3%dgsave ) THEN 734 CALL wrk_alloc( jpi, jpj, jpk, fd_car3)733 ALLOCATE( fd_car3(1:jpi, 1:jpj, 1:jpk) ) 735 734 fd_car3(:,:,:) = 0.0 !! 736 735 ENDIF 737 736 IF( med_diag%FD_CAL3%dgsave ) THEN 738 CALL wrk_alloc( jpi, jpj, jpk, fd_cal3)737 ALLOCATE( fd_cal3(1:jpi, 1:jpj, 1:jpk) ) 739 738 fd_cal3(:,:,:) = 0.0 !! 740 739 ENDIF 741 740 IF( med_diag%DCALC3%dgsave ) THEN 742 CALL wrk_alloc( jpi, jpj, jpk, dcalc3)741 ALLOCATE( dcalc3(1:jpi, 1:jpj, 1:jpk) ) 743 742 dcalc3(:,:,: ) = 0.0 !! 744 743 ENDIF 745 744 IF( med_diag%EXPC3%dgsave ) THEN 746 CALL wrk_alloc( jpi, jpj, jpk, expc3)745 ALLOCATE( expc3(1:jpi, 1:jpj, 1:jpk) ) 747 746 expc3(:,:,: ) = 0.0 !! 748 747 ENDIF 749 748 IF( med_diag%EXPN3%dgsave ) THEN 750 CALL wrk_alloc( jpi, jpj, jpk, expn3)749 ALLOCATE( expn3(1:jpi, 1:jpj, 1:jpk) ) 751 750 expn3(:,:,: ) = 0.0 !! 752 751 ENDIF 753 752 IF( med_diag%FEDISS3%dgsave ) THEN 754 CALL wrk_alloc( jpi, jpj, jpk, fediss3)753 ALLOCATE( fediss3(1:jpi, 1:jpj, 1:jpk) ) 755 754 fediss3(:,:,: ) = 0.0 !! 756 755 ENDIF 757 756 IF( med_diag%FESCAV3%dgsave ) THEN 758 CALL wrk_alloc( jpi, jpj, jpk, fescav3)757 ALLOCATE( fescav3(1:jpi, 1:jpj, 1:jpk) ) 759 758 fescav3(:,:,: ) = 0.0 !! 760 759 ENDIF 761 760 IF( med_diag%MIGRAZP3%dgsave ) THEN 762 CALL wrk_alloc( jpi, jpj, jpk, migrazp3)761 ALLOCATE( migrazp3(1:jpi, 1:jpj, 1:jpk) ) 763 762 migrazp3(:,:,: ) = 0.0 !! 764 763 ENDIF 765 764 IF( med_diag%MIGRAZD3%dgsave ) THEN 766 CALL wrk_alloc( jpi, jpj, jpk, migrazd3)765 ALLOCATE( migrazd3(1:jpi, 1:jpj, 1:jpk) ) 767 766 migrazd3(:,:,: ) = 0.0 !! 768 767 ENDIF 769 768 IF( med_diag%MEGRAZP3%dgsave ) THEN 770 CALL wrk_alloc( jpi, jpj, jpk, megrazp3)769 ALLOCATE( megrazp3(1:jpi, 1:jpj, 1:jpk) ) 771 770 megrazp3(:,:,: ) = 0.0 !! 772 771 ENDIF 773 772 IF( med_diag%MEGRAZD3%dgsave ) THEN 774 CALL wrk_alloc( jpi, jpj, jpk, megrazd3)773 ALLOCATE( megrazd3(1:jpi, 1:jpj, 1:jpk) ) 775 774 megrazd3(:,:,: ) = 0.0 !! 776 775 ENDIF 777 776 IF( med_diag%MEGRAZZ3%dgsave ) THEN 778 CALL wrk_alloc( jpi, jpj, jpk, megrazz3)777 ALLOCATE( megrazz3(1:jpi, 1:jpj, 1:jpk) ) 779 778 megrazz3(:,:,: ) = 0.0 !! 780 779 ENDIF 781 780 IF( med_diag%O2SAT3%dgsave ) THEN 782 CALL wrk_alloc( jpi, jpj, jpk, o2sat3)781 ALLOCATE( o2sat3(1:jpi, 1:jpj, 1:jpk) ) 783 782 o2sat3(:,:,: ) = 0.0 !! 784 783 ENDIF 785 784 IF( med_diag%PBSI3%dgsave ) THEN 786 CALL wrk_alloc( jpi, jpj, jpk, pbsi3)785 ALLOCATE( pbsi3(1:jpi, 1:jpj, 1:jpk) ) 787 786 pbsi3(:,:,: ) = 0.0 !! 788 787 ENDIF 789 788 IF( med_diag%PCAL3%dgsave ) THEN 790 CALL wrk_alloc( jpi, jpj, jpk, pcal3)789 ALLOCATE( pcal3(1:jpi, 1:jpj, 1:jpk) ) 791 790 pcal3(:,:,: ) = 0.0 !! 792 791 ENDIF 793 792 IF( med_diag%REMOC3%dgsave ) THEN 794 CALL wrk_alloc( jpi, jpj, jpk, remoc3)793 ALLOCATE( remoc3(1:jpi, 1:jpj, 1:jpk) ) 795 794 remoc3(:,:,: ) = 0.0 !! 796 795 ENDIF 797 796 IF( med_diag%PNLIMJ3%dgsave ) THEN 798 CALL wrk_alloc( jpi, jpj, jpk, pnlimj3)797 ALLOCATE( pnlimj3(1:jpi, 1:jpj, 1:jpk) ) 799 798 pnlimj3(:,:,: ) = 0.0 !! 800 799 ENDIF 801 800 IF( med_diag%PNLIMN3%dgsave ) THEN 802 CALL wrk_alloc( jpi, jpj, jpk, pnlimn3)801 ALLOCATE( pnlimn3(1:jpi, 1:jpj, 1:jpk) ) 803 802 pnlimn3(:,:,: ) = 0.0 !! 804 803 ENDIF 805 804 IF( med_diag%PNLIMFE3%dgsave ) THEN 806 CALL wrk_alloc( jpi, jpj, jpk, pnlimfe3)805 ALLOCATE( pnlimfe3(1:jpi, 1:jpj, 1:jpk) ) 807 806 pnlimfe3(:,:,: ) = 0.0 !! 808 807 ENDIF 809 808 IF( med_diag%PDLIMJ3%dgsave ) THEN 810 CALL wrk_alloc( jpi, jpj, jpk, pdlimj3)809 ALLOCATE( pdlimj3(1:jpi, 1:jpj, 1:jpk) ) 811 810 pdlimj3(:,:,: ) = 0.0 !! 812 811 ENDIF 813 812 IF( med_diag%PDLIMN3%dgsave ) THEN 814 CALL wrk_alloc( jpi, jpj, jpk, pdlimn3)813 ALLOCATE( pdlimn3(1:jpi, 1:jpj, 1:jpk) ) 815 814 pdlimn3(:,:,: ) = 0.0 !! 816 815 ENDIF 817 816 IF( med_diag%PDLIMFE3%dgsave ) THEN 818 CALL wrk_alloc( jpi, jpj, jpk, pdlimfe3)817 ALLOCATE( pdlimfe3(1:jpi, 1:jpj, 1:jpk) ) 819 818 pdlimfe3(:,:,: ) = 0.0 !! 820 819 ENDIF 821 820 IF( med_diag%PDLIMSI3%dgsave ) THEN 822 CALL wrk_alloc( jpi, jpj, jpk, pdlimsi3)821 ALLOCATE( pdlimsi3(1:jpi, 1:jpj, 1:jpk) ) 823 822 pdlimsi3(:,:,: ) = 0.0 !! 824 823 ENDIF -
branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_mod.F90
r8051 r8076 187 187 !! Jpalm -- 11-10-2015 -- adapt diag to iom_use 188 188 !! 2D var for diagnostics. 189 REAL(wp), POINTER, DIMENSION(:,:) :: fprn2d, fdpn2d, fprd2d, fdpd2d190 REAL(wp), POINTER, DIMENSION(:,:) :: fprds2d, fsdiss2d, fgmipn2d191 REAL(wp), POINTER, DIMENSION(:,:) :: fgmid2d, fdzmi2d, fgmepn2d192 REAL(wp), POINTER, DIMENSION(:,:) :: fgmepd2d, fgmezmi2d, fgmed2d193 REAL(wp), POINTER, DIMENSION(:,:) :: fdzme2d, fslown2d, fdd2d194 REAL(wp), POINTER, DIMENSION(:,:) :: ffetop2d, ffebot2d, ffescav2d195 REAL(wp), POINTER, DIMENSION(:,:) :: fjln2d, fnln2d, ffln2d, fjld2d196 REAL(wp), POINTER, DIMENSION(:,:) :: fnld2d, ffld2d, fsld2d2197 REAL(wp), POINTER, DIMENSION(:,:) :: fsld2d, fregen2d, fregensi2d198 REAL(wp), POINTER, DIMENSION(:,:) :: ftempn2d, ftempsi2d, ftempfe2d199 REAL(wp), POINTER, DIMENSION(:,:) :: ftempc2d, ftempca2d, freminn2d200 REAL(wp), POINTER, DIMENSION(:,:) :: freminsi2d, freminfe2d201 REAL(wp), POINTER, DIMENSION(:,:) :: freminc2d, freminca2d202 REAL(wp), POINTER, DIMENSION(:,:) :: zw2d203 # if defined key_roam 204 REAL(wp), POINTER, DIMENSION(:,:) :: ffastca2d, rivn2d, rivsi2d205 REAL(wp), POINTER, DIMENSION(:,:) :: rivc2d, rivalk2d, fslowc2d206 REAL(wp), POINTER, DIMENSION(:,:) :: fdpn22d, fdpd22d, fdzmi22d207 REAL(wp), POINTER, DIMENSION(:,:) :: fdzme22d, zimesn2d, zimesd2d208 REAL(wp), POINTER, DIMENSION(:,:) :: zimesc2d, zimesdc2d, ziexcr2d209 REAL(wp), POINTER, DIMENSION(:,:) :: ziresp2d, zigrow2d, zemesn2d210 REAL(wp), POINTER, DIMENSION(:,:) :: zemesd2d, zemesc2d, zemesdc2d211 REAL(wp), POINTER, DIMENSION(:,:) :: zeexcr2d, zeresp2d, zegrow2d212 REAL(wp), POINTER, DIMENSION(:,:) :: mdetc2d, gmidc2d, gmedc2d213 REAL(wp), POINTER, DIMENSION(:,:) :: f_pco2a2d, f_pco2w2d, f_co2flux2d214 REAL(wp), POINTER, DIMENSION(:,:) :: f_TDIC2d, f_TALK2d, f_kw6602d215 REAL(wp), POINTER, DIMENSION(:,:) :: f_pp02d, f_o2flux2d, f_o2sat2d216 REAL(wp), POINTER, DIMENSION(:,:) :: dms_andr2d, dms_simo2d, dms_aran2d217 REAL(wp), POINTER, DIMENSION(:,:) :: dms_hall2d, dms_surf2d218 REAL(wp), POINTER, DIMENSION(:,:) :: iben_n2d, iben_fe2d, iben_c2d219 REAL(wp), POINTER, DIMENSION(:,:) :: iben_si2d, iben_ca2d, oben_n2d220 REAL(wp), POINTER, DIMENSION(:,:) :: oben_fe2d, oben_c2d, oben_si2d221 REAL(wp), POINTER, DIMENSION(:,:) :: oben_ca2d, sfr_ocal2d222 REAL(wp), POINTER, DIMENSION(:,:) :: sfr_oarg2d, lyso_ca2d189 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fprn2d, fdpn2d, fprd2d, fdpd2d 190 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fprds2d, fsdiss2d, fgmipn2d 191 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fgmid2d, fdzmi2d, fgmepn2d 192 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fgmepd2d, fgmezmi2d, fgmed2d 193 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fdzme2d, fslown2d, fdd2d 194 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ffetop2d, ffebot2d, ffescav2d 195 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fjln2d, fnln2d, ffln2d, fjld2d 196 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fnld2d, ffld2d, fsld2d2 197 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fsld2d, fregen2d, fregensi2d 198 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ftempn2d, ftempsi2d, ftempfe2d 199 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ftempc2d, ftempca2d, freminn2d 200 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: freminsi2d, freminfe2d 201 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: freminc2d, freminca2d 202 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zw2d 203 # if defined key_roam 204 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ffastca2d, rivn2d, rivsi2d 205 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: rivc2d, rivalk2d, fslowc2d 206 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fdpn22d, fdpd22d, fdzmi22d 207 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fdzme22d, zimesn2d, zimesd2d 208 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zimesc2d, zimesdc2d, ziexcr2d 209 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ziresp2d, zigrow2d, zemesn2d 210 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zemesd2d, zemesc2d, zemesdc2d 211 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zeexcr2d, zeresp2d, zegrow2d 212 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: mdetc2d, gmidc2d, gmedc2d 213 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pco2a2d, f_pco2w2d, f_co2flux2d 214 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_TDIC2d, f_TALK2d, f_kw6602d 215 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pp02d, f_o2flux2d, f_o2sat2d 216 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: dms_andr2d, dms_simo2d, dms_aran2d 217 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: dms_hall2d, dms_surf2d 218 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: iben_n2d, iben_fe2d, iben_c2d 219 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: iben_si2d, iben_ca2d, oben_n2d 220 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: oben_fe2d, oben_c2d, oben_si2d 221 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: oben_ca2d, sfr_ocal2d 222 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: sfr_oarg2d, lyso_ca2d 223 223 !! AXY (23/11/16): extra MOCSY diagnostics 224 REAL(wp), POINTER, DIMENSION(:,:) :: f_xco2a_2d, f_fco2w_2d, f_fco2a_2d225 REAL(wp), POINTER, DIMENSION(:,:) :: f_ocnrhosw_2d, f_ocnschco2_2d226 REAL(wp), POINTER, DIMENSION(:,:) :: f_ocnkwco2_2d227 REAL(wp), POINTER, DIMENSION(:,:) :: f_ocnk0_2d, f_co2starair_2d228 REAL(wp), POINTER, DIMENSION(:,:) :: f_ocndpco2_2d224 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_xco2a_2d, f_fco2w_2d, f_fco2a_2d 225 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_ocnrhosw_2d, f_ocnschco2_2d 226 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_ocnkwco2_2d 227 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_ocnk0_2d, f_co2starair_2d 228 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_ocndpco2_2d 229 229 # endif 230 230 !! … … 236 236 !! 2D var for new CMIP6 diagnostics (behind a key_roam ifdef 237 237 !! for simplicity) 238 REAL(wp), POINTER, DIMENSION(:,:) :: fgco2,intdissic,intdissin239 REAL(wp), POINTER, DIMENSION(:,:) :: intdissisi,inttalk,o2min,zo2min240 REAL(wp), POINTER, DIMENSION(:,:) :: fbddtalk,fbddtdic,fbddtdife241 REAL(wp), POINTER, DIMENSION(:,:) :: fbddtdin,fbddtdisi238 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fgco2,intdissic,intdissin 239 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: intdissisi,inttalk,o2min,zo2min 240 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fbddtalk,fbddtdic,fbddtdife 241 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fbddtdin,fbddtdisi 242 242 !! 243 243 !! 3D var for new CMIP6 diagnostics 244 REAL(wp), POINTER, DIMENSION(:,:,:) :: tppd3 245 REAL(wp), POINTER, DIMENSION(:,:,:) :: bddtalk3,bddtdic3,bddtdife3 246 REAL(wp), POINTER, DIMENSION(:,:,:) :: bddtdin3, bddtdisi3 247 REAL(wp), POINTER, DIMENSION(:,:,:) :: fd_nit3,fd_sil3,fd_car3,fd_cal3 248 REAL(wp), POINTER, DIMENSION(:,:,:) :: co33,co3satarag3,co3satcalc3,dcalc3 249 REAL(wp), POINTER, DIMENSION(:,:,:) :: expc3,expn3 250 REAL(wp), POINTER, DIMENSION(:,:,:) :: fediss3,fescav3 251 REAL(wp), POINTER, DIMENSION(:,:,:) :: migrazp3,migrazd3,megrazp3 252 REAL(wp), POINTER, DIMENSION(:,:,:) :: megrazd3, megrazz3 253 REAL(wp), POINTER, DIMENSION(:,:,:) :: o2sat3,pbsi3,pcal3,remoc3 254 REAL(wp), POINTER, DIMENSION(:,:,:) :: pnlimj3,pnlimn3,pnlimfe3 255 REAL(wp), POINTER, DIMENSION(:,:,:) :: pdlimj3,pdlimn3,pdlimfe3,pdlimsi3 244 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: tppd3 245 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: bddtalk3,bddtdic3,bddtdife3 246 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: bddtdin3, bddtdisi3 247 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: fd_nit3,fd_sil3,fd_car3,fd_cal3 248 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: co33,co3satarag3 249 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: co3satcalc3,dcalc3 250 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: expc3,expn3 251 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: fediss3,fescav3 252 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: migrazp3,migrazd3,megrazp3 253 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: megrazd3, megrazz3 254 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: o2sat3,pbsi3,pcal3,remoc3 255 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: pnlimj3,pnlimn3,pnlimfe3 256 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: pdlimj3,pdlimn3,pdlimfe3,pdlimsi3 256 257 # endif 257 258 !!---------------------------------------------------------------------- -
branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/detritus.F90
r8023 r8076 60 60 !! OPEN wet point IF..THEN loop 61 61 if (tmask(ji,jj,jk) == 1) then 62 63 62 !! 64 63 if (jmd.eq.1) then -
branches/UKMO/dev_r5518_medusa_chg_trc_bio_medusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/zooplankton.F90
r8062 r8076 298 298 fmeexcr(ji,jj) + ((1.0 - xbetan) * & 299 299 finme(ji,jj)) ) 300 301 300 ENDIF 302 301 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.