Changeset 9502


Ignore:
Timestamp:
2018-04-25T10:24:20+02:00 (2 years ago)
Author:
frrh
Message:

Ensure numerous diagnostics are bit comparable ond different PE
decompositions.

Location:
branches/UKMO/dev_r5518_fix_diag_bitcomp/NEMOGCM/NEMO
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_fix_diag_bitcomp/NEMOGCM/NEMO/OPA_SRC/DIA/diaprod.F90

    r7993 r9502  
    9696            END DO 
    9797         END DO 
     98         CALL lbc_lnk( z3d(:,:,:), 'U', -1.) 
    9899         CALL iom_put( "ut", z3d )                  ! product of temperature and zonal velocity at U points 
    99100      ENDIF 
     
    108109            END DO 
    109110         END DO 
     111         CALL lbc_lnk( z3d(:,:,:), 'V', -1.) 
    110112         CALL iom_put( "vt", z3d )                  ! product of temperature and meridional velocity at V points 
    111113         DO jk = 1, jpkm1 
     
    133135            END DO 
    134136         END DO 
     137         CALL lbc_lnk( z3d(:,:,:), 'W', 1.) 
    135138         CALL iom_put( "wt", z3d )                  ! product of temperature and vertical velocity at W points 
    136139      ENDIF 
     
    145148            END DO 
    146149         END DO 
     150         CALL lbc_lnk( z3d(:,:,:), 'U', -1.) 
    147151         CALL iom_put( "us", z3d )                  ! product of salinity and zonal velocity at U points 
    148152      ENDIF 
     
    157161            END DO 
    158162         END DO 
     163         CALL lbc_lnk( z3d(:,:,:), 'V', -1.) 
    159164         CALL iom_put( "vs", z3d )                  ! product of salinity and meridional velocity at V points 
    160165         DO jk = 1, jpkm1 
     
    182187            END DO 
    183188         END DO 
     189         CALL lbc_lnk( z3d(:,:,:), 'W', 1.) 
    184190         CALL iom_put( "ws", z3d )                  ! product of salinity and vertical velocity at W points 
    185191      ENDIF 
     
    194200            END DO 
    195201         END DO 
     202         CALL lbc_lnk( z3d(:,:,:), 'U', -1.) 
    196203         CALL iom_put( "urhop", z3d )                  ! product of density and zonal velocity at U points 
    197204      ENDIF 
     
    206213            END DO 
    207214         END DO 
     215         CALL lbc_lnk( z3d(:,:,:), 'V', -1.) 
    208216         CALL iom_put( "vrhop", z3d )                  ! product of density and meridional velocity at V points 
    209217      ENDIF 
     
    223231            END DO 
    224232         END DO 
     233         CALL lbc_lnk( z3d(:,:,:), 'W', 1.) 
    225234         CALL iom_put( "wrhop", z3d )                  ! product of density and vertical velocity at W points 
    226235      ENDIF 
  • branches/UKMO/dev_r5518_fix_diag_bitcomp/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90

    r8400 r9502  
    246246            z3d(:,:,jk) = wn(:,:,jk) * z2d(:,:) 
    247247         END DO 
     248         CALL lbc_lnk( z3d(:,:,:), 'W', 1. ) 
    248249         CALL iom_put( "w_masstr" , z3d )   
    249250         IF( iom_use('w_masstr2') )   CALL iom_put( "w_masstr2", z3d(:,:,:) * z3d(:,:,:) ) 
     
    334335            z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 
    335336         END DO 
     337         CALL lbc_lnk( z3d(:,:,:), 'U', -1. ) 
    336338         CALL iom_put( "u_masstr", z3d )                  ! mass transport in i-direction 
     339         CALL lbc_lnk( z2d(:,:), 'U', -1. ) 
    337340         CALL iom_put( "u_masstr_vint", z2d )             ! mass transport in i-direction vertical sum 
    338341      ENDIF 
     
    370373            z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) * vmask(:,:,jk) 
    371374         END DO 
     375         CALL lbc_lnk( z3d(:,:,:), 'V', -1. ) 
    372376         CALL iom_put( "v_masstr", z3d )                  ! mass transport in j-direction 
    373377      ENDIF 
  • branches/UKMO/dev_r5518_fix_diag_bitcomp/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90

    r7179 r9502  
    162162# if defined key_diaeiv  
    163163      IF( cdtype == 'TRA') THEN 
     164         CALL lbc_lnk( u_eiv, 'U', -1. ) 
    164165         CALL iom_put( "uoce_eiv", u_eiv )    ! i-eiv current 
     166         CALL lbc_lnk( v_eiv, 'V', -1. ) 
    165167         CALL iom_put( "voce_eiv", v_eiv )    ! j-eiv current 
     168         CALL lbc_lnk( w_eiv, 'W', 1. ) 
    166169         CALL iom_put( "woce_eiv", w_eiv )    ! vert. eiv current 
    167          IF( iom_use('weiv_masstr') ) THEN   ! vertical mass transport & its square value 
    168            z2d(:,:) = rau0 * e12t(:,:) 
    169            DO jk = 1, jpk 
    170               z3d(:,:,jk) = w_eiv(:,:,jk) * z2d(:,:) 
    171            END DO 
    172            CALL iom_put( "weiv_masstr" , z3d )   
    173          ENDIF 
     170 
    174171         IF( iom_use("ueiv_masstr") .OR. iom_use("ueiv_heattr") .OR. iom_use('ueiv_heattr3d')        & 
    175172                                    .OR. iom_use("ueiv_salttr") .OR. iom_use('ueiv_salttr3d') ) THEN 
     
    180177               z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 
    181178            END DO 
     179            CALL lbc_lnk( z3d_T, 'U', -1. ) 
    182180            CALL iom_put( "ueiv_masstr", z3d )                  ! mass transport in i-direction 
    183181         ENDIF 
     
    233231               z3d(:,:,jk) = rau0 * v_eiv(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) * vmask(:,:,jk) 
    234232            END DO 
     233            CALL lbc_lnk( z3d, 'V', -1. ) 
    235234            CALL iom_put( "veiv_masstr", z3d )                  ! mass transport in j-direction 
    236235         ENDIF 
     
    285284              z3d(:,:,jk) = w_eiv(:,:,jk) * z2d(:,:) 
    286285           END DO 
     286           CALL lbc_lnk( z3d, 'W', 1. ) 
    287287           CALL iom_put( "weiv_masstr" , z3d )                  ! mass transport in k-direction 
    288288         ENDIF 
  • branches/UKMO/dev_r5518_fix_diag_bitcomp/NEMOGCM/NEMO/TOP_SRC/IDTRA/trcsms_idtra.F90

    r8442 r9502  
    2121   USE trdtrc 
    2222   USE iom 
     23   USE lbclnk,      ONLY: lbc_lnk 
    2324 
    2425   IMPLICIT NONE 
     
    165166      !ENDIF 
    166167      ! 
     168         CALL lbc_lnk( qtr_idtra (:,:,1) , 'T', 1. ) 
    167169         CALL iom_put( "qtrIDTRA"  , qtr_idtra (:,:,1) ) 
     170         CALL lbc_lnk( qint_idtra (:,:,1) , 'T', 1. ) 
    168171         CALL iom_put( "qintIDTRA" , qint_idtra(:,:,1) ) 
     172         CALL lbc_lnk( inv_idtra (:,:,1) , 'T', 1. ) 
    169173         CALL iom_put( "invIDTRA" , inv_idtra(:,:,1) ) 
    170174      ! 
  • branches/UKMO/dev_r5518_fix_diag_bitcomp/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_diag_slice.F90

    r9114 r9502  
    6666      IF (jk.eq.1) THEN 
    6767         IF( med_diag%MED_QSR%dgsave ) THEN 
     68            CALL lbc_lnk( qsr(:,:),'T',1.) 
    6869            CALL iom_put( "MED_QSR"  , qsr ) ! 
    6970         ENDIF 
    7071         IF( med_diag%MED_XPAR%dgsave ) THEN 
     72            CALL lbc_lnk( xpar(:,:),'T',1.) 
    7173            CALL iom_put( "MED_XPAR"  , xpar(:,:,jk) ) ! 
    7274         ENDIF        
    7375         IF( med_diag%OCAL_CCD%dgsave ) THEN 
     76            CALL lbc_lnk( ocal_ccd(:,:),'T',1.) 
    7477            CALL iom_put( "OCAL_CCD"  , ocal_ccd ) ! 
    7578         ENDIF 
    7679         IF( med_diag%FE_0000%dgsave ) THEN 
     80            CALL lbc_lnk( xFree(:,:),'T',1.) 
    7781            CALL iom_put( "FE_0000"  , xFree ) ! 
    7882         ENDIF                      
    7983         IF( med_diag%MED_XZE%dgsave ) THEN 
     84            CALL lbc_lnk( xze(:,:),'T',1.) 
    8085            CALL iom_put( "MED_XZE"  , xze ) ! 
    8186         ENDIF  
    8287# if defined key_roam                      
    8388         IF( med_diag%WIND%dgsave ) THEN 
     89            CALL lbc_lnk( wndm(:,:),'T',1.) 
    8490            CALL iom_put( "WIND"  , wndm ) 
    8591         ENDIF 
    8692         IF( med_diag%ATM_PCO2%dgsave ) THEN 
     93            CALL lbc_lnk( f_pco2a2d(:,:),'T',1.) 
    8794            CALL iom_put( "ATM_PCO2"  , f_pco2a2d ) 
    8895            DEALLOCATE( f_pco2a2d ) 
     
    9097         IF( med_diag%OCN_PH%dgsave ) THEN 
    9198            zw2d(:,:) = f3_pH(:,:,jk) 
     99            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    92100            CALL iom_put( "OCN_PH"  , zw2d ) 
    93101         ENDIF 
    94102         IF( med_diag%OCN_PCO2%dgsave ) THEN 
     103            CALL lbc_lnk( f_pco2w2d(:,:),'T',1.) 
    95104            CALL iom_put( "OCN_PCO2"  , f_pco2w2d ) 
    96105            DEALLOCATE( f_pco2w2d ) 
     
    98107         IF( med_diag%OCNH2CO3%dgsave ) THEN 
    99108            zw2d(:,:) = f3_h2co3(:,:,jk) 
     109            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    100110            CALL iom_put( "OCNH2CO3"  , zw2d ) 
    101111         ENDIF 
    102112         IF( med_diag%OCN_HCO3%dgsave ) THEN 
    103113            zw2d(:,:) = f3_hco3(:,:,jk) 
     114            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    104115            CALL iom_put( "OCN_HCO3"  , zw2d ) 
    105116         ENDIF 
    106117         IF( med_diag%OCN_CO3%dgsave ) THEN 
    107118            zw2d(:,:) = f3_co3(:,:,jk) 
     119            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    108120            CALL iom_put( "OCN_CO3"  , zw2d ) 
    109121         ENDIF 
    110122         IF( med_diag%CO2FLUX%dgsave ) THEN 
     123            CALL lbc_lnk( f_co2flux2d(:,:),'T',1.) 
    111124            CALL iom_put( "CO2FLUX"  , f_co2flux2d ) 
    112125            DEALLOCATE( f_co2flux2d ) 
     
    120133         CALL lbc_lnk( fgco2(:,:),'T',1. ) 
    121134         IF( med_diag%FGCO2%dgsave ) THEN 
     135            CALL lbc_lnk( fgco2(:,:),'T',1.) 
    122136            CALL iom_put( "FGCO2"  , fgco2 ) 
    123137         ENDIF 
     
    132146         !! --- 
    133147         IF( med_diag%OM_CAL%dgsave ) THEN 
     148            CALL lbc_lnk( f_omcal(:,:),'T',1.) 
    134149            CALL iom_put( "OM_CAL"  , f_omcal ) 
    135150         ENDIF 
    136151         IF( med_diag%OM_ARG%dgsave ) THEN 
     152            CALL lbc_lnk( f_omarg(:,:),'T',1.) 
    137153            CALL iom_put( "OM_ARG"  , f_omarg ) 
    138154         ENDIF 
    139155         IF( med_diag%TCO2%dgsave ) THEN 
     156            CALL lbc_lnk( f_TDIC2d(:,:),'T',1.) 
    140157            CALL iom_put( "TCO2"  , f_TDIC2d ) 
    141158            DEALLOCATE( f_TDIC2d ) 
    142159         ENDIF 
    143160         IF( med_diag%TALK%dgsave ) THEN 
     161            CALL lbc_lnk( f_TALK2d(:,:),'T',1.) 
    144162            CALL iom_put( "TALK"  , f_TALK2d ) 
    145163            DEALLOCATE( f_TALK2d ) 
    146164         ENDIF 
    147165         IF( med_diag%KW660%dgsave ) THEN 
     166            CALL lbc_lnk( f_kw6602d(:,:),'T',1.) 
    148167            CALL iom_put( "KW660"  , f_kw6602d ) 
    149168            DEALLOCATE( f_kw6602d ) 
    150169         ENDIF 
    151170         IF( med_diag%ATM_PP0%dgsave ) THEN 
     171            CALL lbc_lnk( f_pp02d(:,:),'T',1.) 
    152172            CALL iom_put( "ATM_PP0"  , f_pp02d ) 
    153173            DEALLOCATE( f_pp02d ) 
    154174         ENDIF 
    155175         IF( med_diag%O2FLUX%dgsave ) THEN 
     176            CALL lbc_lnk( f_o2flux2d(:,:),'T',1.) 
    156177            CALL iom_put( "O2FLUX"  , f_o2flux2d ) 
    157178            DEALLOCATE( f_o2flux2d ) 
    158179         ENDIF 
    159180         IF( med_diag%O2SAT%dgsave ) THEN 
     181            CALL lbc_lnk( f_o2sat2d(:,:),'T',1.) 
    160182            CALL iom_put( "O2SAT"  , f_o2sat2d ) 
    161183            DEALLOCATE( f_o2sat2d ) 
    162184         ENDIF 
    163185         IF( med_diag%CAL_CCD%dgsave ) THEN 
     186            CALL lbc_lnk( f2_ccd_cal(:,:),'T',1.) 
    164187            CALL iom_put( "CAL_CCD"  , f2_ccd_cal ) 
    165188         ENDIF 
    166189         IF( med_diag%ARG_CCD%dgsave ) THEN 
     190            CALL lbc_lnk( f2_ccd_arg(:,:),'T',1.) 
    167191            CALL iom_put( "ARG_CCD"  , f2_ccd_arg ) 
    168192         ENDIF 
     
    170194            IF( med_diag%DMS_SURF%dgsave ) THEN 
    171195               CALL lbc_lnk(dms_surf2d(:,:),'T',1. ) 
     196               CALL lbc_lnk( dms_surf2d(:,:),'T',1.) 
    172197               CALL iom_put( "DMS_SURF"  , dms_surf2d ) 
    173198               zb_dms_srf = zn_dms_srf 
     
    179204            ENDIF 
    180205            IF( med_diag%DMS_ANDR%dgsave ) THEN 
     206               CALL lbc_lnk( dms_andr2d(:,:),'T',1.) 
    181207               CALL iom_put( "DMS_ANDR"  , dms_andr2d ) 
    182208               DEALLOCATE( dms_andr2d ) 
    183209            ENDIF 
    184210            IF( med_diag%DMS_SIMO%dgsave ) THEN 
     211               CALL lbc_lnk( dms_simo2d(:,:),'T',1.) 
    185212               CALL iom_put( "DMS_SIMO"  , dms_simo2d ) 
    186213               DEALLOCATE( dms_simo2d ) 
    187214            ENDIF 
    188215            IF( med_diag%DMS_ARAN%dgsave ) THEN 
     216               CALL lbc_lnk( dms_aran2d(:,:),'T',1.) 
    189217               CALL iom_put( "DMS_ARAN"  , dms_aran2d ) 
    190218               DEALLOCATE( dms_aran2d ) 
    191219            ENDIF 
    192220            IF( med_diag%DMS_HALL%dgsave ) THEN 
     221               CALL lbc_lnk( dms_hall2d(:,:),'T',1.) 
    193222               CALL iom_put( "DMS_HALL"  , dms_hall2d ) 
    194223               DEALLOCATE( dms_hall2d ) 
    195224            ENDIF 
    196225            IF( med_diag%DMS_ANDM%dgsave ) THEN 
     226               CALL lbc_lnk( dms_andm2d(:,:),'T',1.) 
    197227               CALL iom_put( "DMS_ANDM"  , dms_andm2d ) 
    198228               DEALLOCATE( dms_andm2d ) 
     
    201231         !! AXY (24/11/16): extra MOCSY diagnostics 
    202232         IF( med_diag%ATM_XCO2%dgsave ) THEN 
     233            CALL lbc_lnk( f_xco2a_2d(:,:),'T',1.) 
    203234            CALL iom_put( "ATM_XCO2"  ,   f_xco2a_2d      ) 
    204235            DEALLOCATE( f_xco2a_2d ) 
    205236         ENDIF 
    206237         IF( med_diag%OCN_FCO2%dgsave ) THEN 
     238            CALL lbc_lnk( f_fco2w_2d(:,:),'T',1.) 
    207239            CALL iom_put( "OCN_FCO2"  ,   f_fco2w_2d      ) 
    208240            DEALLOCATE( f_fco2w_2d ) 
    209241         ENDIF 
    210242         IF( med_diag%ATM_FCO2%dgsave ) THEN 
     243            CALL lbc_lnk( f_fco2a_2d(:,:),'T',1.) 
    211244            CALL iom_put( "ATM_FCO2"  ,   f_fco2a_2d      ) 
    212245            DEALLOCATE( f_fco2a_2d ) 
    213246         ENDIF 
    214247         IF( med_diag%OCN_RHOSW%dgsave ) THEN 
     248            CALL lbc_lnk( f_ocnrhosw_2d(:,:),'T',1.) 
    215249            CALL iom_put( "OCN_RHOSW"  ,  f_ocnrhosw_2d   ) 
    216250            DEALLOCATE( f_ocnrhosw_2d ) 
    217251         ENDIF 
    218252         IF( med_diag%OCN_SCHCO2%dgsave ) THEN 
     253            CALL lbc_lnk( f_ocnschco2_2d(:,:),'T',1.) 
    219254            CALL iom_put( "OCN_SCHCO2"  , f_ocnschco2_2d  ) 
    220255            DEALLOCATE( f_ocnschco2_2d ) 
    221256         ENDIF 
    222257         IF( med_diag%OCN_KWCO2%dgsave ) THEN 
     258            CALL lbc_lnk( f_ocnkwco2_2d(:,:),'T',1.) 
    223259            CALL iom_put( "OCN_KWCO2"  ,  f_ocnkwco2_2d   ) 
    224260            DEALLOCATE( f_ocnkwco2_2d ) 
    225261         ENDIF 
    226262         IF( med_diag%OCN_K0%dgsave ) THEN 
     263            CALL lbc_lnk( f_ocnk0_2d(:,:),'T',1.) 
    227264            CALL iom_put( "OCN_K0"  ,     f_ocnk0_2d      ) 
    228265            DEALLOCATE( f_ocnk0_2d ) 
    229266         ENDIF 
    230267         IF( med_diag%CO2STARAIR%dgsave ) THEN 
     268            CALL lbc_lnk( f_co2starair_2d(:,:),'T',1.) 
    231269            CALL iom_put( "CO2STARAIR"  , f_co2starair_2d ) 
    232270            DEALLOCATE( f_co2starair_2d ) 
    233271         ENDIF 
    234272         IF( med_diag%OCN_DPCO2%dgsave ) THEN 
     273            CALL lbc_lnk( f_ocndpco2_2d(:,:),'T',1.) 
    235274            CALL iom_put( "OCN_DPCO2"  ,  f_ocndpco2_2d   ) 
    236275            DEALLOCATE( f_ocndpco2_2d ) 
     
    240279         IF( med_diag%SDT__100%dgsave ) THEN 
    241280            zw2d(:,:) = fslownflux(:,:) * tmask(:,:,jk) 
     281            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    242282            CALL iom_put( "SDT__100"  , zw2d ) 
    243283         ENDIF 
    244284         IF( med_diag%REG__100%dgsave ) THEN 
     285            CALL lbc_lnk( fregen2d(:,:),'T',1.) 
    245286            CALL iom_put( "REG__100"  , fregen2d ) 
    246287         ENDIF 
    247288         IF( med_diag%FDT__100%dgsave ) THEN 
     289            CALL lbc_lnk( ffastn(:,:),'T',1.) 
    248290            CALL iom_put( "FDT__100"  , ffastn ) 
    249291         ENDIF            
    250292         IF( med_diag%RG__100F%dgsave ) THEN 
     293            CALL lbc_lnk( fregenfast(:,:),'T',1.) 
    251294            CALL iom_put( "RG__100F"  , fregenfast ) 
    252295         ENDIF 
    253296         IF( med_diag%FDS__100%dgsave ) THEN 
     297            CALL lbc_lnk( ffastsi(:,:),'T',1.) 
    254298            CALL iom_put( "FDS__100"  , ffastsi ) 
    255299         ENDIF          
    256300         IF( med_diag%RGS_100F%dgsave ) THEN 
     301            CALL lbc_lnk( fregenfastsi(:,:),'T',1.) 
    257302            CALL iom_put( "RGS_100F"  , fregenfastsi ) 
    258303         ENDIF 
    259304         IF( med_diag%FE_0100%dgsave ) THEN 
     305            CALL lbc_lnk( xFree(:,:),'T',1.) 
    260306            CALL iom_put( "FE_0100"  , xFree ) 
    261307         ENDIF 
    262308# if defined key_roam                      
    263309         IF( med_diag%RR_0100%dgsave ) THEN 
     310            CALL lbc_lnk( ffastca2d(:,:),'T',1.) 
    264311            CALL iom_put( "RR_0100"  , ffastca2d ) 
    265312         ENDIF                      
    266313         IF( med_diag%SDC__100%dgsave ) THEN 
    267314            zw2d(:,:) = fslowcflux(:,:) * tmask(:,:,jk) 
     315            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    268316            CALL iom_put( "SDC__100"  , zw2d ) 
    269317         ENDIF                   
    270318         IF( med_diag%epC100%dgsave    ) THEN 
    271319            zw2d(:,:) = (fslowcflux + ffastc) * tmask(:,:,jk) 
     320            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    272321            CALL iom_put( "epC100"    , zw2d ) 
    273322         ENDIF          
    274323         IF( med_diag%epCALC100%dgsave ) THEN 
     324            CALL lbc_lnk( ffastca(:,:),'T',1.) 
    275325            CALL iom_put( "epCALC100" , ffastca ) 
    276326         ENDIF          
    277327         IF( med_diag%epN100%dgsave    ) THEN 
    278328            zw2d(:,:) = (fslownflux + ffastn) * tmask(:,:,jk) 
     329            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    279330            CALL iom_put( "epN100"    , zw2d ) 
    280331         ENDIF          
    281332         IF( med_diag%epSI100%dgsave   ) THEN 
     333            CALL lbc_lnk( ffastsi(:,:),'T',1.) 
    282334            CALL iom_put( "epSI100"   , ffastsi ) 
    283335         ENDIF          
     
    286338         IF( med_diag%SDT__200%dgsave ) THEN 
    287339            zw2d(:,:) = fslownflux(:,:) * tmask(:,:,jk) 
     340            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    288341            CALL iom_put( "SDT__200"  , zw2d ) 
    289342         ENDIF 
    290343         IF( med_diag%REG__200%dgsave ) THEN 
     344            CALL lbc_lnk( fregen2d(:,:),'T',1.) 
    291345            CALL iom_put( "REG__200"  , fregen2d ) 
    292346         ENDIF 
    293347         IF( med_diag%FDT__200%dgsave ) THEN 
     348            CALL lbc_lnk( ffastn(:,:),'T',1.) 
    294349            CALL iom_put( "FDT__200"  , ffastn ) 
    295350         ENDIF 
    296351         IF( med_diag%RG__200F%dgsave ) THEN 
     352            CALL lbc_lnk( fregenfast(:,:),'T',1.) 
    297353            CALL iom_put( "RG__200F"  , fregenfast ) 
    298354         ENDIF 
    299355         IF( med_diag%FDS__200%dgsave ) THEN 
     356            CALL lbc_lnk( ffastsi(:,:),'T',1.) 
    300357            CALL iom_put( "FDS__200"  , ffastsi ) 
    301358         ENDIF 
    302359         IF( med_diag%RGS_200F%dgsave ) THEN 
     360            CALL lbc_lnk( fregenfastsi(:,:),'T',1.) 
    303361            CALL iom_put( "RGS_200F"  , fregenfastsi ) 
    304362         ENDIF 
    305363         IF( med_diag%FE_0200%dgsave ) THEN 
     364            CALL lbc_lnk( xFree(:,:),'T',1.) 
    306365            CALL iom_put( "FE_0200"   , xFree ) 
    307366         ENDIF 
     
    309368         IF( med_diag%SDC__200%dgsave ) THEN 
    310369            zw2d(:,:) = fslowcflux(:,:) * tmask(:,:,jk) 
     370            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    311371            CALL iom_put( "SDC__200"  , zw2d ) 
    312372         ENDIF 
     
    315375         IF( med_diag%SDT__500%dgsave ) THEN 
    316376            zw2d(:,:) = fslownflux(:,:) * tmask(:,:,jk) 
     377            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    317378            CALL iom_put( "SDT__500"  , zw2d ) 
    318379         ENDIF 
    319380         IF( med_diag%REG__500%dgsave ) THEN 
     381            CALL lbc_lnk( fregen2d(:,:),'T',1.) 
    320382            CALL iom_put( "REG__500"  , fregen2d ) 
    321383         ENDIF       
    322384         IF( med_diag%FDT__500%dgsave ) THEN 
     385            CALL lbc_lnk( ffastn(:,:),'T',1.) 
    323386            CALL iom_put( "FDT__500"  , ffastn ) 
    324387         ENDIF 
    325388         IF( med_diag%RG__500F%dgsave ) THEN 
     389            CALL lbc_lnk( fregenfast(:,:),'T',1.) 
    326390            CALL iom_put( "RG__500F"  , fregenfast ) 
    327391         ENDIF 
    328392         IF( med_diag%FDS__500%dgsave ) THEN 
     393            CALL lbc_lnk( ffastsi(:,:),'T',1.) 
    329394            CALL iom_put( "FDS__500"  , ffastsi ) 
    330395         ENDIF 
    331396         IF( med_diag%RGS_500F%dgsave ) THEN 
     397            CALL lbc_lnk( fregenfastsi(:,:),'T',1.) 
    332398            CALL iom_put( "RGS_500F"  , fregenfastsi ) 
    333399         ENDIF 
    334400         IF( med_diag%FE_0500%dgsave ) THEN 
     401            CALL lbc_lnk( xFree(:,:),'T',1.) 
    335402            CALL iom_put( "FE_0500"  , xFree ) 
    336403         ENDIF 
    337404# if defined key_roam                      
    338405         IF( med_diag%RR_0500%dgsave ) THEN 
     406            CALL lbc_lnk( ffastca2d(:,:),'T',1.) 
    339407            CALL iom_put( "RR_0500"  , ffastca2d ) 
    340408         ENDIF 
    341409         IF( med_diag%SDC__500%dgsave ) THEN 
    342410            zw2d(:,:) = fslowcflux(:,:) * tmask(:,:,jk) 
     411            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    343412            CALL iom_put( "SDC__500"  , zw2d ) 
    344413         ENDIF   
     
    347416         IF( med_diag%SDT_1000%dgsave ) THEN 
    348417            zw2d(:,:) = fslownflux(:,:) * tmask(:,:,jk) 
     418            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    349419            CALL iom_put( "SDT_1000"  , zw2d ) 
    350420         ENDIF 
    351421         IF( med_diag%REG_1000%dgsave ) THEN 
     422            CALL lbc_lnk( fregen2d(:,:),'T',1.) 
    352423            CALL iom_put( "REG_1000"  , fregen2d ) 
    353424         ENDIF   
    354425         IF( med_diag%FDT_1000%dgsave ) THEN 
     426            CALL lbc_lnk( ffastn(:,:),'T',1.) 
    355427            CALL iom_put( "FDT_1000"  , ffastn ) 
    356428         ENDIF 
    357429         IF( med_diag%RG_1000F%dgsave ) THEN 
     430            CALL lbc_lnk( fregenfast(:,:),'T',1.) 
    358431            CALL iom_put( "RG_1000F"  , fregenfast ) 
    359432         ENDIF 
    360433         IF( med_diag%FDS_1000%dgsave ) THEN 
     434            CALL lbc_lnk( ffastsi(:,:),'T',1.) 
    361435            CALL iom_put( "FDS_1000"  , ffastsi ) 
    362436         ENDIF 
    363437         IF( med_diag%RGS1000F%dgsave ) THEN 
     438            CALL lbc_lnk( fregenfastsi(:,:),'T',1.) 
    364439            CALL iom_put( "RGS1000F"  , fregenfastsi ) 
    365440         ENDIF 
    366441         IF( med_diag%FE_1000%dgsave ) THEN 
     442            CALL lbc_lnk( xFree(:,:),'T',1.) 
    367443            CALL iom_put( "FE_1000"  , xFree ) 
    368444         ENDIF 
    369445# if defined key_roam                      
    370446         IF( med_diag%RR_1000%dgsave ) THEN 
     447            CALL lbc_lnk( ffastca2d(:,:),'T',1.) 
    371448            CALL iom_put( "RR_1000"  , ffastca2d ) 
    372449            DEALLOCATE( ffastca2d ) 
     
    374451         IF( med_diag%SDC_1000%dgsave ) THEN 
    375452            zw2d(:,:) = fslowcflux(:,:) * tmask(:,:,jk) 
     453            CALL lbc_lnk( zw2d(:,:),'T',1.) 
    376454            CALL iom_put( "SDC_1000"  , zw2d ) 
    377455         ENDIF  
     
    382460         !! detrital flux 
    383461         detflux3d(:,:,jk) = (fslownflux(:,:) + ffastn(:,:)) * tmask(:,:,jk) 
     462         !CALL lbc_lnk( ftot_n(:,:),'T',1.) 
    384463         !CALL iom_put( "DETFLUX3"  , ftot_n ) 
    385464      ENDIF 
  • branches/UKMO/dev_r5518_fix_diag_bitcomp/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_fin.F90

    r9114 r9502  
    264264#   endif 
    265265         IF ( med_diag%INVTN%dgsave ) THEN 
     266            CALL lbc_lnk( ftot_n(:,:),'T',1.) 
    266267            CALL iom_put( "INVTN"  , ftot_n ) 
    267268         ENDIF 
    268269         IF ( med_diag%INVTSI%dgsave ) THEN 
     270            CALL lbc_lnk( ftot_si(:,:),'T',1.) 
    269271            CALL iom_put( "INVTSI"  , ftot_si ) 
    270272         ENDIF 
    271273         IF ( med_diag%INVTFE%dgsave ) THEN 
     274            CALL lbc_lnk( ftot_fe(:,:),'T',1.) 
    272275            CALL iom_put( "INVTFE"  , ftot_fe ) 
    273276         ENDIF                            
    274277         IF ( med_diag%ML_PRN%dgsave ) THEN 
     278            CALL lbc_lnk( fprn_ml(:,:),'T',1.) 
    275279            CALL iom_put( "ML_PRN"  , fprn_ml ) 
    276280         ENDIF 
    277281         IF ( med_diag%ML_PRD%dgsave ) THEN 
     282            CALL lbc_lnk( fprd_ml(:,:),'T',1.) 
    278283            CALL iom_put( "ML_PRD"  , fprd_ml ) 
    279284         ENDIF 
    280285         IF ( med_diag%OCAL_LVL%dgsave ) THEN 
     286            CALL lbc_lnk( fccd(:,:),'T',1.) 
    281287            CALL iom_put( "OCAL_LVL"  , fccd ) 
    282288         ENDIF 
    283289         IF ( med_diag%CHL_MLD%dgsave ) THEN 
     290            CALL lbc_lnk( fchl_ml(:,:),'T',1.) 
    284291            CALL iom_put( "CHL_MLD"  , fchl_ml ) 
    285292         ENDIF 
    286293         IF (lk_oasis) THEN 
    287294            IF ( med_diag%CHL_CPL%dgsave ) THEN 
     295               CALL lbc_lnk( chloro_out_cpl(:,:),'T',1.) 
    288296               CALL iom_put( "CHL_CPL"  , chloro_out_cpl ) 
    289297            ENDIF 
    290298         ENDIF 
    291299         IF ( med_diag%PN_JLIM%dgsave ) THEN 
     300            CALL lbc_lnk( fjln2d(:,:),'T',1.) 
    292301            CALL iom_put( "PN_JLIM"  , fjln2d ) 
    293302            DEALLOCATE( fjln2d ) 
    294303         ENDIF 
    295304         IF ( med_diag%PN_NLIM%dgsave ) THEN 
     305            CALL lbc_lnk( fnln2d(:,:),'T',1.) 
    296306            CALL iom_put( "PN_NLIM"  , fnln2d ) 
    297307            DEALLOCATE( fnln2d ) 
    298308         ENDIF 
    299309         IF ( med_diag%PN_FELIM%dgsave ) THEN 
     310            CALL lbc_lnk( ffln2d(:,:),'T',1.) 
    300311            CALL iom_put( "PN_FELIM"  , ffln2d ) 
    301312            DEALLOCATE( ffln2d ) 
    302313         ENDIF 
    303314         IF ( med_diag%PD_JLIM%dgsave ) THEN 
     315            CALL lbc_lnk( fjld2d(:,:),'T',1.) 
    304316            CALL iom_put( "PD_JLIM"  , fjld2d ) 
    305317            DEALLOCATE( fjld2d ) 
    306318         ENDIF 
    307319         IF ( med_diag%PD_NLIM%dgsave ) THEN 
     320            CALL lbc_lnk( fnld2d(:,:),'T',1.) 
    308321            CALL iom_put( "PD_NLIM"  , fnld2d ) 
    309322            DEALLOCATE( fnld2d ) 
    310323         ENDIF 
    311324         IF ( med_diag%PD_FELIM%dgsave ) THEN 
     325            CALL lbc_lnk( ffld2d(:,:),'T',1.) 
    312326            CALL iom_put( "PD_FELIM"  , ffld2d ) 
    313327            DEALLOCATE( ffld2d ) 
    314328         ENDIF 
    315329         IF ( med_diag%PD_SILIM%dgsave ) THEN 
     330            CALL lbc_lnk( fsld2d2(:,:),'T',1.) 
    316331            CALL iom_put( "PD_SILIM"  , fsld2d2 ) 
    317332            DEALLOCATE( fsld2d2 ) 
    318333         ENDIF 
    319334         IF ( med_diag%PDSILIM2%dgsave ) THEN 
     335            CALL lbc_lnk( fsld2d(:,:),'T',1.) 
    320336            CALL iom_put( "PDSILIM2"  , fsld2d ) 
    321337            DEALLOCATE( fsld2d ) 
    322338         ENDIF 
    323339         IF ( med_diag%INTFLX_N%dgsave ) THEN 
     340            CALL lbc_lnk( fflx_n(:,:),'T',1.) 
    324341            CALL iom_put( "INTFLX_N"  , fflx_n ) 
    325342         ENDIF 
    326343         IF ( med_diag%INTFLX_SI%dgsave ) THEN 
     344            CALL lbc_lnk( fflx_si(:,:),'T',1.) 
    327345            CALL iom_put( "INTFLX_SI"  , fflx_si ) 
    328346         ENDIF 
    329347         IF ( med_diag%INTFLX_FE%dgsave ) THEN 
     348            CALL lbc_lnk( fflx_fe(:,:),'T',1.) 
    330349            CALL iom_put( "INTFLX_FE"  , fflx_fe ) 
    331350         ENDIF         
    332351         IF ( med_diag%INT_PN%dgsave ) THEN 
     352            CALL lbc_lnk( ftot_pn(:,:),'T',1.) 
    333353            CALL iom_put( "INT_PN"  , ftot_pn ) 
    334354         ENDIF 
    335355         IF ( med_diag%INT_PD%dgsave ) THEN 
     356            CALL lbc_lnk( ftot_pd(:,:),'T',1.) 
    336357            CALL iom_put( "INT_PD"  , ftot_pd ) 
    337358         ENDIF          
    338359         IF ( med_diag%INT_ZMI%dgsave ) THEN 
     360            CALL lbc_lnk( ftot_zmi(:,:),'T',1.) 
    339361            CALL iom_put( "INT_ZMI"  , ftot_zmi ) 
    340362         ENDIF 
    341363         IF ( med_diag%INT_ZME%dgsave ) THEN 
     364            CALL lbc_lnk( ftot_zme(:,:),'T',1.) 
    342365            CALL iom_put( "INT_ZME"  , ftot_zme ) 
    343366         ENDIF 
    344367         IF ( med_diag%INT_DET%dgsave ) THEN 
     368            CALL lbc_lnk( ftot_det(:,:),'T',1.) 
    345369            CALL iom_put( "INT_DET"  , ftot_det ) 
    346370         ENDIF 
    347371         IF ( med_diag%INT_DTC%dgsave ) THEN 
     372            CALL lbc_lnk( ftot_dtc(:,:),'T',1.) 
    348373            CALL iom_put( "INT_DTC"  , ftot_dtc ) 
    349374         ENDIF 
    350375         IF ( med_diag%BEN_N%dgsave ) THEN 
     376            CALL lbc_lnk( za_sed_n(:,:),'T',1.) 
    351377            CALL iom_put( "BEN_N"  , za_sed_n ) 
    352378         ENDIF 
    353379         IF ( med_diag%BEN_FE%dgsave ) THEN 
     380            CALL lbc_lnk( za_sed_fe(:,:),'T',1.) 
    354381            CALL iom_put( "BEN_FE"  , za_sed_fe ) 
    355382         ENDIF 
    356383         IF ( med_diag%BEN_C%dgsave ) THEN 
     384            CALL lbc_lnk( za_sed_c(:,:),'T',1.) 
    357385            CALL iom_put( "BEN_C"  , za_sed_c ) 
    358386         ENDIF 
    359387         IF ( med_diag%BEN_SI%dgsave ) THEN 
     388            CALL lbc_lnk( za_sed_si(:,:),'T',1.) 
    360389            CALL iom_put( "BEN_SI"  , za_sed_si ) 
    361390         ENDIF 
    362391         IF ( med_diag%BEN_CA%dgsave ) THEN 
     392            CALL lbc_lnk( za_sed_ca(:,:),'T',1.) 
    363393            CALL iom_put( "BEN_CA"  , za_sed_ca ) 
    364394         ENDIF 
    365395         IF ( med_diag%RUNOFF%dgsave ) THEN 
     396            CALL lbc_lnk( f_runoff(:,:),'T',1.) 
    366397            CALL iom_put( "RUNOFF"  , f_runoff ) 
    367398         ENDIF  
    368399# if defined key_roam         
    369400         IF ( med_diag%N_PROD%dgsave ) THEN 
     401            CALL lbc_lnk( fnit_prod(:,:),'T',1.) 
    370402            CALL iom_put( "N_PROD"  , fnit_prod ) 
    371403         ENDIF 
    372404         IF ( med_diag%N_CONS%dgsave ) THEN 
     405            CALL lbc_lnk( fnit_cons(:,:),'T',1.) 
    373406            CALL iom_put( "N_CONS"  , fnit_cons ) 
    374407         ENDIF 
    375408         IF ( med_diag%C_PROD%dgsave ) THEN 
     409            CALL lbc_lnk( fcar_prod(:,:),'T',1.) 
    376410            CALL iom_put( "C_PROD"  , fcar_prod ) 
    377411         ENDIF 
    378412         IF ( med_diag%C_CONS%dgsave ) THEN 
     413            CALL lbc_lnk( fcar_cons(:,:),'T',1.) 
    379414            CALL iom_put( "C_CONS"  , fcar_cons ) 
    380415         ENDIF 
    381416         IF ( med_diag%O2_PROD%dgsave ) THEN 
     417            CALL lbc_lnk( foxy_prod(:,:),'T',1.) 
    382418            CALL iom_put( "O2_PROD"  , foxy_prod ) 
    383419         ENDIF 
    384420         IF ( med_diag%O2_CONS%dgsave ) THEN 
     421            CALL lbc_lnk( foxy_cons(:,:),'T',1.) 
    385422            CALL iom_put( "O2_CONS"  , foxy_cons ) 
    386423         ENDIF 
    387424         IF ( med_diag%O2_ANOX%dgsave ) THEN 
     425            CALL lbc_lnk( foxy_anox(:,:),'T',1.) 
    388426            CALL iom_put( "O2_ANOX"  , foxy_anox ) 
    389427         ENDIF 
    390428         IF ( med_diag%INVTC%dgsave ) THEN 
     429            CALL lbc_lnk( ftot_c(:,:),'T',1.) 
    391430            CALL iom_put( "INVTC"  , ftot_c ) 
    392431         ENDIF 
    393432         IF ( med_diag%INVTALK%dgsave ) THEN 
     433            CALL lbc_lnk( ftot_a(:,:),'T',1.) 
    394434            CALL iom_put( "INVTALK"  , ftot_a ) 
    395435         ENDIF 
    396436         IF ( med_diag%INVTO2%dgsave ) THEN 
     437            CALL lbc_lnk( ftot_o2(:,:),'T',1.) 
    397438            CALL iom_put( "INVTO2"  , ftot_o2 ) 
    398439         ENDIF 
    399440         IF ( med_diag%COM_RESP%dgsave ) THEN 
     441            CALL lbc_lnk( fcomm_resp(:,:),'T',1.) 
    400442            CALL iom_put( "COM_RESP"  , fcomm_resp ) 
    401443         ENDIF          
     
    405447         !!-------------------------------------------- 
    406448         IF ( med_diag%PRN%dgsave ) THEN 
     449            CALL lbc_lnk( fprn2d(:,:),'T',1.) 
    407450            CALL iom_put( "PRN"  , fprn2d ) 
    408451            DEALLOCATE( fprn2d ) 
    409452         ENDIF 
    410453         IF ( med_diag%MPN%dgsave ) THEN 
     454            CALL lbc_lnk( fdpn2d(:,:),'T',1.) 
    411455            CALL iom_put( "MPN"  ,fdpn2d ) 
    412456            DEALLOCATE( fdpn2d ) 
    413457         ENDIF 
    414458         IF ( med_diag%PRD%dgsave ) THEN 
     459            CALL lbc_lnk( fprd2d(:,:),'T',1.) 
    415460            CALL iom_put( "PRD"  ,fprd2d ) 
    416461            DEALLOCATE( fprd2d ) 
    417462         ENDIF 
    418463         IF( med_diag%MPD%dgsave ) THEN 
     464            CALL lbc_lnk( fdpd2d(:,:),'T',1.) 
    419465            CALL iom_put( "MPD"  , fdpd2d ) 
    420466            DEALLOCATE( fdpd2d ) 
    421467         ENDIF 
    422468         !  IF( med_diag%DSED%dgsave ) THEN 
     469         !      CALL lbc_lnk( ftot_n(:,:),'T',1.) 
    423470         !      CALL iom_put( "DSED"  , ftot_n ) 
    424471         !  ENDIF 
    425472         IF( med_diag%OPAL%dgsave ) THEN 
     473            CALL lbc_lnk( fprds2d(:,:),'T',1.) 
    426474            CALL iom_put( "OPAL"  , fprds2d ) 
    427475            DEALLOCATE( fprds2d ) 
    428476         ENDIF 
    429477         IF( med_diag%OPALDISS%dgsave ) THEN 
     478            CALL lbc_lnk( fsdiss2d(:,:),'T',1.) 
    430479            CALL iom_put( "OPALDISS"  , fsdiss2d ) 
    431480            DEALLOCATE( fsdiss2d ) 
    432481         ENDIF 
    433482         IF( med_diag%GMIPn%dgsave ) THEN 
     483            CALL lbc_lnk( fgmipn2d(:,:),'T',1.) 
    434484            CALL iom_put( "GMIPn"  , fgmipn2d ) 
    435485            DEALLOCATE( fgmipn2d ) 
    436486         ENDIF 
    437487         IF( med_diag%GMID%dgsave ) THEN 
     488            CALL lbc_lnk( fgmid2d(:,:),'T',1.) 
    438489            CALL iom_put( "GMID"  , fgmid2d ) 
    439490            DEALLOCATE( fgmid2d ) 
    440491         ENDIF 
    441492         IF( med_diag%MZMI%dgsave ) THEN 
     493            CALL lbc_lnk( fdzmi2d(:,:),'T',1.) 
    442494            CALL iom_put( "MZMI"  , fdzmi2d ) 
    443495            DEALLOCATE( fdzmi2d ) 
    444496         ENDIF 
    445497         IF( med_diag%GMEPN%dgsave ) THEN 
     498            CALL lbc_lnk( fgmepn2d(:,:),'T',1.) 
    446499            CALL iom_put( "GMEPN"  , fgmepn2d ) 
    447500            DEALLOCATE( fgmepn2d ) 
    448501         ENDIF 
    449502         IF( med_diag%GMEPD%dgsave ) THEN 
     503            CALL lbc_lnk( fgmepd2d(:,:),'T',1.) 
    450504            CALL iom_put( "GMEPD"  , fgmepd2d ) 
    451505            DEALLOCATE( fgmepd2d ) 
    452506         ENDIF 
    453507         IF( med_diag%GMEZMI%dgsave ) THEN 
     508            CALL lbc_lnk( fgmezmi2d(:,:),'T',1.) 
    454509            CALL iom_put( "GMEZMI"  , fgmezmi2d ) 
    455510            DEALLOCATE( fgmezmi2d ) 
    456511         ENDIF 
    457512         IF( med_diag%GMED%dgsave ) THEN 
     513            CALL lbc_lnk( fgmed2d(:,:),'T',1.) 
    458514            CALL iom_put( "GMED"  , fgmed2d ) 
    459515            DEALLOCATE( fgmed2d ) 
    460516         ENDIF 
    461517         IF( med_diag%MZME%dgsave ) THEN 
     518            CALL lbc_lnk( fdzme2d(:,:),'T',1.) 
    462519            CALL iom_put( "MZME"  , fdzme2d ) 
    463520            DEALLOCATE( fdzme2d ) 
    464521         ENDIF 
    465522         !  IF( med_diag%DEXP%dgsave ) THEN 
     523         !      CALL lbc_lnk( ftot_n(:,:),'T',1.) 
    466524         !      CALL iom_put( "DEXP"  , ftot_n ) 
    467525         !  ENDIF 
    468526         IF( med_diag%DETN%dgsave ) THEN 
     527            CALL lbc_lnk( fslown2d(:,:),'T',1.) 
    469528            CALL iom_put( "DETN"  , fslown2d ) 
    470529            DEALLOCATE( fslown2d ) 
    471530         ENDIF 
    472531         IF( med_diag%MDET%dgsave ) THEN 
     532            CALL lbc_lnk( fdd2d(:,:),'T',1.) 
    473533            CALL iom_put( "MDET"  , fdd2d ) 
    474534            DEALLOCATE( fdd2d ) 
    475535         ENDIF 
    476536         IF( med_diag%AEOLIAN%dgsave ) THEN 
     537            CALL lbc_lnk( ffetop2d(:,:),'T',1.) 
    477538            CALL iom_put( "AEOLIAN"  , ffetop2d ) 
    478539            DEALLOCATE( ffetop2d ) 
    479540         ENDIF 
    480541         IF( med_diag%BENTHIC%dgsave ) THEN 
     542            CALL lbc_lnk( ffebot2d(:,:),'T',1.) 
    481543            CALL iom_put( "BENTHIC"  , ffebot2d ) 
    482544            DEALLOCATE( ffebot2d ) 
    483545         ENDIF 
    484546         IF( med_diag%SCAVENGE%dgsave ) THEN 
     547            CALL lbc_lnk( ffescav2d(:,:),'T',1.) 
    485548            CALL iom_put( "SCAVENGE"  , ffescav2d ) 
    486549            DEALLOCATE( ffescav2d ) 
     
    488551         !!  
    489552         IF( med_diag%TOTREG_N%dgsave ) THEN 
     553            CALL lbc_lnk( fregen2d(:,:),'T',1.) 
    490554            CALL iom_put( "TOTREG_N"  , fregen2d ) 
    491555            DEALLOCATE( fregen2d ) 
    492556         ENDIF 
    493557         IF( med_diag%TOTRG_SI%dgsave ) THEN 
     558            CALL lbc_lnk( fregensi2d(:,:),'T',1.) 
    494559            CALL iom_put( "TOTRG_SI"  , fregensi2d ) 
    495560            DEALLOCATE( fregensi2d ) 
     
    497562         !!  
    498563         IF( med_diag%FASTN%dgsave ) THEN 
     564            CALL lbc_lnk( ftempn2d(:,:),'T',1.) 
    499565            CALL iom_put( "FASTN"  , ftempn2d ) 
    500566            DEALLOCATE( ftempn2d ) 
    501567         ENDIF 
    502568         IF( med_diag%FASTSI%dgsave ) THEN 
     569            CALL lbc_lnk( ftempsi2d(:,:),'T',1.) 
    503570            CALL iom_put( "FASTSI"  , ftempsi2d ) 
    504571            DEALLOCATE( ftempsi2d ) 
    505572         ENDIF 
    506573         IF( med_diag%FASTFE%dgsave ) THEN 
     574            CALL lbc_lnk( ftempfe2d(:,:),'T',1.) 
    507575            CALL iom_put( "FASTFE"  , ftempfe2d ) 
    508576            DEALLOCATE( ftempfe2d ) 
    509577         ENDIF 
    510578         IF( med_diag%FASTC%dgsave ) THEN 
     579            CALL lbc_lnk( ftempc2d(:,:),'T',1.) 
    511580            CALL iom_put( "FASTC"  , ftempc2d ) 
    512581            DEALLOCATE( ftempc2d ) 
    513582         ENDIF 
    514583         IF( med_diag%FASTCA%dgsave ) THEN 
     584            CALL lbc_lnk( ftempca2d(:,:),'T',1.) 
    515585            CALL iom_put( "FASTCA"  , ftempca2d ) 
    516586            DEALLOCATE( ftempca2d ) 
     
    518588         !!  
    519589         IF( med_diag%REMINN%dgsave ) THEN 
     590            CALL lbc_lnk( freminn2d(:,:),'T',1.) 
    520591            CALL iom_put( "REMINN"  , freminn2d ) 
    521592            DEALLOCATE( freminn2d ) 
    522593         ENDIF 
    523594         IF( med_diag%REMINSI%dgsave ) THEN 
     595            CALL lbc_lnk( freminsi2d(:,:),'T',1.) 
    524596            CALL iom_put( "REMINSI"  , freminsi2d ) 
    525597            DEALLOCATE( freminsi2d ) 
    526598         ENDIF 
    527599         IF( med_diag%REMINFE%dgsave ) THEN 
     600            CALL lbc_lnk( freminfe2d(:,:),'T',1.) 
    528601            CALL iom_put( "REMINFE"  , freminfe2d ) 
    529602            DEALLOCATE( freminfe2d ) 
    530603         ENDIF 
    531604         IF( med_diag%REMINC%dgsave ) THEN 
     605            CALL lbc_lnk( freminc2d(:,:),'T',1.) 
    532606            CALL iom_put( "REMINC"  , freminc2d ) 
    533607            DEALLOCATE( freminc2d ) 
    534608         ENDIF 
    535609         IF( med_diag%REMINCA%dgsave ) THEN 
     610            CALL lbc_lnk( freminca2d(:,:),'T',1.) 
    536611            CALL iom_put( "REMINCA"  , freminca2d ) 
    537612            DEALLOCATE( freminca2d ) 
    538613         ENDIF 
    539614         IF( med_diag%SEAFLRN%dgsave ) THEN 
     615            CALL lbc_lnk( fsedn(:,:),'T',1.) 
    540616            CALL iom_put( "SEAFLRN"  , fsedn ) 
    541617         ENDIF 
    542618         IF( med_diag%SEAFLRSI%dgsave ) THEN 
     619            CALL lbc_lnk( fsedsi(:,:),'T',1.) 
    543620            CALL iom_put( "SEAFLRSI"  , fsedsi ) 
    544621         ENDIF 
    545622         IF( med_diag%SEAFLRFE%dgsave ) THEN 
     623            CALL lbc_lnk( fsedfe(:,:),'T',1.) 
    546624            CALL iom_put( "SEAFLRFE"  , fsedfe ) 
    547625         ENDIF 
    548626         IF( med_diag%SEAFLRC%dgsave ) THEN 
     627            CALL lbc_lnk( fsedc(:,:),'T',1.) 
    549628            CALL iom_put( "SEAFLRC"  , fsedc ) 
    550629         ENDIF 
    551630         IF( med_diag%SEAFLRCA%dgsave ) THEN 
     631            CALL lbc_lnk( fsedca(:,:),'T',1.) 
    552632            CALL iom_put( "SEAFLRCA"  , fsedca ) 
    553633         ENDIF 
     
    556636         !! 
    557637         IF( med_diag%RIV_N%dgsave ) THEN 
     638            CALL lbc_lnk( rivn2d(:,:),'T',1.) 
    558639            CALL iom_put( "RIV_N"  , rivn2d ) 
    559640            DEALLOCATE( rivn2d ) 
    560641         ENDIF 
    561642         IF( med_diag%RIV_SI%dgsave ) THEN 
     643            CALL lbc_lnk( rivsi2d(:,:),'T',1.) 
    562644            CALL iom_put( "RIV_SI"  , rivsi2d ) 
    563645            DEALLOCATE( rivsi2d ) 
    564646         ENDIF 
    565647         IF( med_diag%RIV_C%dgsave ) THEN 
     648            CALL lbc_lnk( rivc2d(:,:),'T',1.) 
    566649            CALL iom_put( "RIV_C"  , rivc2d ) 
    567650            DEALLOCATE( rivc2d ) 
    568651         ENDIF 
    569652         IF( med_diag%RIV_ALK%dgsave ) THEN 
     653            CALL lbc_lnk( rivalk2d(:,:),'T',1.) 
    570654            CALL iom_put( "RIV_ALK"  , rivalk2d ) 
    571655            DEALLOCATE( rivalk2d ) 
    572656         ENDIF 
    573657         IF( med_diag%DETC%dgsave ) THEN 
     658            CALL lbc_lnk( fslowc2d(:,:),'T',1.) 
    574659            CALL iom_put( "DETC"  , fslowc2d ) 
    575660            DEALLOCATE( fslowc2d ) 
     
    577662         !! 
    578663         IF( med_diag%PN_LLOSS%dgsave ) THEN 
     664            CALL lbc_lnk( fdpn22d(:,:),'T',1.) 
    579665            CALL iom_put( "PN_LLOSS"  , fdpn22d ) 
    580666            DEALLOCATE( fdpn22d ) 
    581667         ENDIF 
    582668         IF( med_diag%PD_LLOSS%dgsave ) THEN 
     669            CALL lbc_lnk( fdpd22d(:,:),'T',1.) 
    583670            CALL iom_put( "PD_LLOSS"  , fdpd22d ) 
    584671            DEALLOCATE( fdpd22d ) 
    585672         ENDIF 
    586673         IF( med_diag%ZI_LLOSS%dgsave ) THEN 
     674            CALL lbc_lnk( fdzmi22d(:,:),'T',1.) 
    587675            CALL iom_put( "ZI_LLOSS"  , fdzmi22d ) 
    588676             DEALLOCATE( fdzmi22d ) 
    589677          ENDIF 
    590678          IF( med_diag%ZE_LLOSS%dgsave ) THEN 
     679             CALL lbc_lnk( fdzme22d(:,:),'T',1.) 
    591680             CALL iom_put( "ZE_LLOSS"  , fdzme22d ) 
    592681             DEALLOCATE( fdzme22d ) 
    593682          ENDIF 
    594683          IF( med_diag%ZI_MES_N%dgsave ) THEN 
     684             CALL lbc_lnk( zimesn2d(:,:),'T',1.) 
    595685             CALL iom_put( "ZI_MES_N"  , zimesn2d ) 
    596686             DEALLOCATE( zimesn2d ) 
    597687          ENDIF 
    598688          IF( med_diag%ZI_MES_D%dgsave ) THEN 
     689             CALL lbc_lnk( zimesd2d(:,:),'T',1.) 
    599690             CALL iom_put( "ZI_MES_D"  , zimesd2d ) 
    600691             DEALLOCATE( zimesd2d ) 
    601692          ENDIF 
    602693          IF( med_diag%ZI_MES_C%dgsave ) THEN 
     694             CALL lbc_lnk( zimesc2d(:,:),'T',1.) 
    603695             CALL iom_put( "ZI_MES_C"  , zimesc2d ) 
    604696             DEALLOCATE( zimesc2d ) 
    605697          ENDIF 
    606698          IF( med_diag%ZI_MESDC%dgsave ) THEN 
     699             CALL lbc_lnk( zimesdc2d(:,:),'T',1.) 
    607700             CALL iom_put( "ZI_MESDC"  ,zimesdc2d ) 
    608701             DEALLOCATE( zimesdc2d ) 
    609702          ENDIF 
    610703          IF( med_diag%ZI_EXCR%dgsave ) THEN 
     704             CALL lbc_lnk( ziexcr2d(:,:),'T',1.) 
    611705             CALL iom_put( "ZI_EXCR"  , ziexcr2d ) 
    612706             DEALLOCATE( ziexcr2d ) 
    613707          ENDIF 
    614708          IF( med_diag%ZI_RESP%dgsave ) THEN 
     709             CALL lbc_lnk( ziresp2d(:,:),'T',1.) 
    615710             CALL iom_put( "ZI_RESP"  , ziresp2d ) 
    616711             DEALLOCATE( ziresp2d ) 
    617712          ENDIF 
    618713          IF( med_diag%ZI_GROW%dgsave ) THEN 
     714             CALL lbc_lnk( zigrow2d(:,:),'T',1.) 
    619715             CALL iom_put( "ZI_GROW"  , zigrow2d ) 
    620716             DEALLOCATE( zigrow2d ) 
    621717          ENDIF 
    622718          IF( med_diag%ZE_MES_N%dgsave ) THEN 
     719             CALL lbc_lnk( zemesn2d(:,:),'T',1.) 
    623720             CALL iom_put( "ZE_MES_N"  , zemesn2d ) 
    624721             DEALLOCATE( zemesn2d ) 
    625722          ENDIF 
    626723          IF( med_diag%ZE_MES_D%dgsave ) THEN 
     724             CALL lbc_lnk( zemesd2d(:,:),'T',1.) 
    627725             CALL iom_put( "ZE_MES_D"  , zemesd2d ) 
    628726             DEALLOCATE( zemesd2d ) 
    629727          ENDIF 
    630728          IF( med_diag%ZE_MES_C%dgsave ) THEN 
     729             CALL lbc_lnk( zemesc2d(:,:),'T',1.) 
    631730             CALL iom_put( "ZE_MES_C"  , zemesc2d ) 
    632731             DEALLOCATE( zemesc2d ) 
    633732          ENDIF 
    634733          IF( med_diag%ZE_MESDC%dgsave ) THEN 
     734             CALL lbc_lnk( zemesdc2d(:,:),'T',1.) 
    635735             CALL iom_put( "ZE_MESDC"  , zemesdc2d ) 
    636736             DEALLOCATE( zemesdc2d ) 
    637737          ENDIF 
    638738          IF( med_diag%ZE_EXCR%dgsave ) THEN 
     739             CALL lbc_lnk( zeexcr2d(:,:),'T',1.) 
    639740             CALL iom_put( "ZE_EXCR"  , zeexcr2d ) 
    640741             DEALLOCATE( zeexcr2d ) 
    641742          ENDIF 
    642743          IF( med_diag%ZE_RESP%dgsave ) THEN 
     744             CALL lbc_lnk( zeresp2d(:,:),'T',1.) 
    643745             CALL iom_put( "ZE_RESP"  , zeresp2d ) 
    644746             DEALLOCATE( zeresp2d ) 
    645747          ENDIF 
    646748          IF( med_diag%ZE_GROW%dgsave ) THEN 
     749             CALL lbc_lnk( zegrow2d(:,:),'T',1.) 
    647750             CALL iom_put( "ZE_GROW"  , zegrow2d ) 
    648751             DEALLOCATE( zegrow2d ) 
    649752          ENDIF 
    650753          IF( med_diag%MDETC%dgsave ) THEN 
     754             CALL lbc_lnk( mdetc2d(:,:),'T',1.) 
    651755             CALL iom_put( "MDETC"  , mdetc2d ) 
    652756             DEALLOCATE( mdetc2d ) 
    653757          ENDIF 
    654758          IF( med_diag%GMIDC%dgsave ) THEN 
     759             CALL lbc_lnk( gmidc2d(:,:),'T',1.) 
    655760             CALL iom_put( "GMIDC"  , gmidc2d ) 
    656761             DEALLOCATE( gmidc2d ) 
    657762          ENDIF 
    658763          IF( med_diag%GMEDC%dgsave ) THEN 
     764             CALL lbc_lnk( gmedc2d(:,:),'T',1.) 
    659765             CALL iom_put( "GMEDC"  , gmedc2d ) 
    660766             DEALLOCATE( gmedc2d ) 
    661767          ENDIF 
    662768          IF( med_diag%IBEN_N%dgsave ) THEN 
     769             CALL lbc_lnk( iben_n2d(:,:),'T',1.) 
    663770             CALL iom_put( "IBEN_N"  , iben_n2d ) 
    664771             DEALLOCATE( iben_n2d ) 
    665772          ENDIF 
    666773          IF( med_diag%IBEN_FE%dgsave ) THEN 
     774             CALL lbc_lnk( iben_fe2d(:,:),'T',1.) 
    667775             CALL iom_put( "IBEN_FE"  , iben_fe2d ) 
    668776             DEALLOCATE( iben_fe2d ) 
    669777          ENDIF 
    670778          IF( med_diag%IBEN_C%dgsave ) THEN 
     779             CALL lbc_lnk( iben_c2d(:,:),'T',1.) 
    671780             CALL iom_put( "IBEN_C"  , iben_c2d ) 
    672781             DEALLOCATE( iben_c2d ) 
    673782          ENDIF 
    674783          IF( med_diag%IBEN_SI%dgsave ) THEN 
     784             CALL lbc_lnk( iben_si2d(:,:),'T',1.) 
    675785             CALL iom_put( "IBEN_SI"  , iben_si2d ) 
    676786             DEALLOCATE( iben_si2d ) 
    677787          ENDIF 
    678788          IF( med_diag%IBEN_CA%dgsave ) THEN 
     789             CALL lbc_lnk( iben_ca2d(:,:),'T',1.) 
    679790             CALL iom_put( "IBEN_CA"  , iben_ca2d ) 
    680791             DEALLOCATE( iben_ca2d ) 
    681792          ENDIF 
    682793          IF( med_diag%OBEN_N%dgsave ) THEN 
     794             CALL lbc_lnk( oben_n2d(:,:),'T',1.) 
    683795             CALL iom_put( "OBEN_N"  , oben_n2d ) 
    684796             DEALLOCATE( oben_n2d ) 
    685797          ENDIF 
    686798          IF( med_diag%OBEN_FE%dgsave ) THEN 
     799             CALL lbc_lnk( oben_fe2d(:,:),'T',1.) 
    687800             CALL iom_put( "OBEN_FE"  , oben_fe2d ) 
    688801             DEALLOCATE( oben_fe2d ) 
    689802          ENDIF 
    690803          IF( med_diag%OBEN_C%dgsave ) THEN 
     804             CALL lbc_lnk( oben_c2d(:,:),'T',1.) 
    691805             CALL iom_put( "OBEN_C"  , oben_c2d ) 
    692806             DEALLOCATE( oben_c2d ) 
    693807          ENDIF 
    694808          IF( med_diag%OBEN_SI%dgsave ) THEN 
     809             CALL lbc_lnk( oben_si2d(:,:),'T',1.) 
    695810             CALL iom_put( "OBEN_SI"  , oben_si2d ) 
    696811             DEALLOCATE( oben_si2d ) 
    697812          ENDIF 
    698813          IF( med_diag%OBEN_CA%dgsave ) THEN 
     814             CALL lbc_lnk( oben_ca2d(:,:),'T',1.) 
    699815             CALL iom_put( "OBEN_CA"  , oben_ca2d ) 
    700816             DEALLOCATE( oben_ca2d ) 
    701817          ENDIF 
    702818          IF( med_diag%SFR_OCAL%dgsave ) THEN 
     819             CALL lbc_lnk( sfr_ocal2d(:,:),'T',1.) 
    703820             CALL iom_put( "SFR_OCAL"  , sfr_ocal2d ) 
    704821             DEALLOCATE( sfr_ocal2d ) 
    705822          ENDIF 
    706823          IF( med_diag%SFR_OARG%dgsave ) THEN 
     824             CALL lbc_lnk( sfr_oarg2d(:,:),'T',1.) 
    707825             CALL iom_put( "SFR_OARG"  , sfr_oarg2d ) 
    708826             DEALLOCATE( sfr_oarg2d ) 
    709827          ENDIF 
    710828          IF( med_diag%LYSO_CA%dgsave ) THEN 
     829             CALL lbc_lnk( lyso_ca2d(:,:),'T',1.) 
    711830             CALL iom_put( "LYSO_CA"  , lyso_ca2d ) 
    712831             DEALLOCATE( lyso_ca2d ) 
     
    716835          !! ** 3D diagnostics 
    717836          IF( med_diag%TPP3%dgsave ) THEN 
     837             CALL lbc_lnk( tpp3d(:,:,:),'T',1.) 
    718838             CALL iom_put( "TPP3"  , tpp3d ) 
    719839             DEALLOCATE( tpp3d ) 
    720840          ENDIF 
    721841          IF( med_diag%DETFLUX3%dgsave ) THEN 
     842             CALL lbc_lnk( detflux3d(:,:,:),'T',1.) 
    722843             CALL iom_put( "DETFLUX3"  , detflux3d ) 
    723844             DEALLOCATE( detflux3d ) 
    724845          ENDIF 
    725846          IF( med_diag%REMIN3N%dgsave ) THEN 
     847             CALL lbc_lnk( remin3dn(:,:,:),'T',1.) 
    726848             CALL iom_put( "REMIN3N"  , remin3dn ) 
    727849             DEALLOCATE( remin3dn ) 
     
    729851# if defined key_roam           
    730852          IF( med_diag%PH3%dgsave ) THEN 
     853             CALL lbc_lnk( f3_pH(:,:,:),'T',1.) 
    731854             CALL iom_put( "PH3"  , f3_pH ) 
    732855          ENDIF 
    733856          IF( med_diag%OM_CAL3%dgsave ) THEN 
     857             CALL lbc_lnk( f3_omcal(:,:,:),'T',1.) 
    734858             CALL iom_put( "OM_CAL3"  , f3_omcal ) 
    735859          ENDIF 
     
    737861          !! AXY (09/11/16): 2D CMIP6 diagnostics 
    738862          IF( med_diag%INTDISSIC%dgsave ) THEN 
     863             CALL lbc_lnk( intdissic(:,:),'T',1.) 
    739864             CALL iom_put( "INTDISSIC"  , intdissic ) 
    740865             DEALLOCATE( intdissic ) 
    741866          ENDIF           
    742867          IF( med_diag%INTDISSIN%dgsave ) THEN 
     868             CALL lbc_lnk( intdissin(:,:),'T',1.) 
    743869             CALL iom_put( "INTDISSIN"  , intdissin ) 
    744870             DEALLOCATE( intdissin ) 
    745871          ENDIF           
    746872          IF( med_diag%INTDISSISI%dgsave ) THEN 
     873             CALL lbc_lnk( intdissisi(:,:),'T',1.) 
    747874             CALL iom_put( "INTDISSISI"  , intdissisi ) 
    748875             DEALLOCATE( intdissisi ) 
    749876          ENDIF           
    750877          IF( med_diag%INTTALK%dgsave ) THEN 
     878             CALL lbc_lnk( inttalk(:,:),'T',1.) 
    751879             CALL iom_put( "INTTALK"  , inttalk ) 
    752880             DEALLOCATE( inttalk ) 
    753881          ENDIF           
    754882          IF( med_diag%O2min%dgsave ) THEN 
     883             CALL lbc_lnk( o2min(:,:),'T',1.) 
    755884             CALL iom_put( "O2min"  , o2min ) 
    756885             DEALLOCATE( o2min ) 
    757886          ENDIF           
    758887          IF( med_diag%ZO2min%dgsave ) THEN 
     888             CALL lbc_lnk( zo2min(:,:),'T',1.) 
    759889             CALL iom_put( "ZO2min"  , zo2min ) 
    760890             DEALLOCATE( zo2min ) 
    761891          ENDIF           
    762892          IF( med_diag%FBDDTALK%dgsave ) THEN 
     893             CALL lbc_lnk( fbddtalk(:,:),'T',1.) 
    763894             CALL iom_put( "FBDDTALK"  , fbddtalk ) 
    764895             DEALLOCATE( fbddtalk ) 
    765896          ENDIF           
    766897          IF( med_diag%FBDDTDIC%dgsave ) THEN 
     898             CALL lbc_lnk( fbddtdic(:,:),'T',1.) 
    767899             CALL iom_put( "FBDDTDIC"  , fbddtdic ) 
    768900             DEALLOCATE( fbddtdic ) 
    769901          ENDIF           
    770902          IF( med_diag%FBDDTDIFE%dgsave ) THEN 
     903             CALL lbc_lnk( fbddtdife(:,:),'T',1.) 
    771904             CALL iom_put( "FBDDTDIFE" , fbddtdife ) 
    772905             DEALLOCATE( fbddtdife ) 
    773906          ENDIF           
    774907          IF( med_diag%FBDDTDIN%dgsave ) THEN 
     908             CALL lbc_lnk( fbddtdin(:,:),'T',1.) 
    775909             CALL iom_put( "FBDDTDIN"  , fbddtdin ) 
    776910             DEALLOCATE( fbddtdin ) 
    777911          ENDIF           
    778912          IF( med_diag%FBDDTDISI%dgsave ) THEN 
     913             CALL lbc_lnk( fbddtdisi(:,:),'T',1.) 
    779914             CALL iom_put( "FBDDTDISI" , fbddtdisi ) 
    780915             DEALLOCATE( fbddtdisi ) 
     
    783918          !! AXY (09/11/16): 3D CMIP6 diagnostics 
    784919          IF( med_diag%TPPD3%dgsave ) THEN 
     920             CALL lbc_lnk( tppd3(:,:,:),'T',1.) 
    785921             CALL iom_put( "TPPD3"     , tppd3 ) 
    786922             DEALLOCATE( tppd3 ) 
    787923          ENDIF           
    788924          IF( med_diag%BDDTALK3%dgsave ) THEN 
     925             CALL lbc_lnk( bddtalk3(:,:,:),'T',1.) 
    789926             CALL iom_put( "BDDTALK3"  , bddtalk3 ) 
    790927             DEALLOCATE( bddtalk3 ) 
    791928          ENDIF           
    792929          IF( med_diag%BDDTDIC3%dgsave ) THEN 
     930             CALL lbc_lnk( bddtdic3(:,:,:),'T',1.) 
    793931             CALL iom_put( "BDDTDIC3"  , bddtdic3 ) 
    794932             DEALLOCATE( bddtdic3 ) 
    795933          ENDIF           
    796934          IF( med_diag%BDDTDIFE3%dgsave ) THEN 
     935             CALL lbc_lnk( bddtdife3(:,:,:),'T',1.) 
    797936             CALL iom_put( "BDDTDIFE3" , bddtdife3 ) 
    798937             DEALLOCATE( bddtdife3 ) 
    799938          ENDIF           
    800939          IF( med_diag%BDDTDIN3%dgsave ) THEN 
     940             CALL lbc_lnk( bddtdin3(:,:,:),'T',1.) 
    801941             CALL iom_put( "BDDTDIN3"  , bddtdin3 ) 
    802942             DEALLOCATE( bddtdin3 ) 
    803943          ENDIF           
    804944          IF( med_diag%BDDTDISI3%dgsave ) THEN 
     945             CALL lbc_lnk( bddtdisi3(:,:,:),'T',1.) 
    805946             CALL iom_put( "BDDTDISI3" , bddtdisi3 ) 
    806947             DEALLOCATE( bddtdisi3 ) 
    807948          ENDIF     
    808949          IF( med_diag%FD_NIT3%dgsave ) THEN 
     950             CALL lbc_lnk( fd_nit3(:,:,:),'T',1.) 
    809951             CALL iom_put( "FD_NIT3"  , fd_nit3 ) 
    810952             DEALLOCATE( fd_nit3 ) 
    811953          ENDIF 
    812954          IF( med_diag%FD_SIL3%dgsave ) THEN 
     955             CALL lbc_lnk( fd_sil3(:,:,:),'T',1.) 
    813956             CALL iom_put( "FD_SIL3"  , fd_sil3 ) 
    814957             DEALLOCATE( fd_sil3 ) 
    815958          ENDIF 
    816959          IF( med_diag%FD_CAL3%dgsave ) THEN 
     960             CALL lbc_lnk( fd_cal3(:,:,:),'T',1.) 
    817961             CALL iom_put( "FD_CAL3"  , fd_cal3 ) 
    818962             DEALLOCATE( fd_cal3 ) 
    819963          ENDIF 
    820964          IF( med_diag%FD_CAR3%dgsave ) THEN 
     965             CALL lbc_lnk( fd_car3(:,:,:),'T',1.) 
    821966             CALL iom_put( "FD_CAR3"  , fd_car3 ) 
    822967             DEALLOCATE( fd_car3 ) 
    823968          ENDIF 
    824969          IF( med_diag%CO33%dgsave ) THEN 
     970             CALL lbc_lnk( f3_co3(:,:,:),'T',1.) 
    825971             CALL iom_put( "CO33"  , f3_co3 ) 
    826972          ENDIF                     
    827973          IF( med_diag%CO3SATARAG3%dgsave ) THEN 
     974             CALL lbc_lnk( f3_omarg(:,:,:),'T',1.) 
    828975             CALL iom_put( "CO3SATARAG3"  , f3_omarg ) 
    829976          ENDIF                     
    830977          IF( med_diag%CO3SATCALC3%dgsave ) THEN 
     978             CALL lbc_lnk( f3_omcal(:,:,:),'T',1.) 
    831979             CALL iom_put( "CO3SATCALC3"  , f3_omcal ) 
    832980          ENDIF                     
    833981          IF( med_diag%EXPC3%dgsave ) THEN 
     982             CALL lbc_lnk( expc3(:,:,:),'T',1.) 
    834983             CALL iom_put( "EXPC3"  , expc3 ) 
    835984             DEALLOCATE( expc3 ) 
    836985          ENDIF                     
    837986          IF( med_diag%EXPN3%dgsave ) THEN 
     987             CALL lbc_lnk( expn3(:,:,:),'T',1.) 
    838988             CALL iom_put( "EXPN3"  , expn3 ) 
    839989             DEALLOCATE( expn3 ) 
    840990          ENDIF                     
    841991          IF( med_diag%DCALC3%dgsave ) THEN 
     992             CALL lbc_lnk( dcalc3(:,:,:),'T',1.) 
    842993             CALL iom_put( "DCALC3"  , dcalc3 ) 
    843994             DEALLOCATE( dcalc3 ) 
    844995          ENDIF                     
    845996          IF( med_diag%FEDISS3%dgsave ) THEN 
     997             CALL lbc_lnk( fediss3(:,:,:),'T',1.) 
    846998             CALL iom_put( "FEDISS3"  , fediss3 ) 
    847999             DEALLOCATE( fediss3 ) 
    8481000          ENDIF                     
    8491001          IF( med_diag%FESCAV3%dgsave ) THEN 
     1002             CALL lbc_lnk( fescav3(:,:,:),'T',1.) 
    8501003             CALL iom_put( "FESCAV3"  , fescav3 ) 
    8511004             DEALLOCATE( fescav3 ) 
    8521005          ENDIF                     
    8531006          IF( med_diag%MIGRAZP3%dgsave ) THEN 
     1007             CALL lbc_lnk( migrazp3(:,:,:),'T',1.) 
    8541008             CALL iom_put( "MIGRAZP3"  , migrazp3 ) 
    8551009             DEALLOCATE( migrazp3 ) 
    8561010          ENDIF                     
    8571011          IF( med_diag%MIGRAZD3%dgsave ) THEN 
     1012             CALL lbc_lnk( migrazd3(:,:,:),'T',1.) 
    8581013             CALL iom_put( "MIGRAZD3"  , migrazd3 ) 
    8591014             DEALLOCATE( migrazd3 ) 
    8601015          ENDIF                     
    8611016          IF( med_diag%MEGRAZP3%dgsave ) THEN 
     1017             CALL lbc_lnk( megrazp3(:,:,:),'T',1.) 
    8621018             CALL iom_put( "MEGRAZP3"  , megrazp3 ) 
    8631019             DEALLOCATE( megrazp3 ) 
    8641020          ENDIF                     
    8651021          IF( med_diag%MEGRAZD3%dgsave ) THEN 
     1022             CALL lbc_lnk( megrazd3(:,:,:),'T',1.) 
    8661023             CALL iom_put( "MEGRAZD3"  , megrazd3 ) 
    8671024             DEALLOCATE( megrazd3 ) 
    8681025          ENDIF                     
    8691026          IF( med_diag%MEGRAZZ3%dgsave ) THEN 
     1027             CALL lbc_lnk( megrazz3(:,:,:),'T',1.) 
    8701028             CALL iom_put( "MEGRAZZ3"  , megrazz3 ) 
    8711029             DEALLOCATE( megrazz3 ) 
    8721030          ENDIF                     
    8731031          IF( med_diag%O2SAT3%dgsave ) THEN 
     1032             CALL lbc_lnk( o2sat3(:,:,:),'T',1.) 
    8741033             CALL iom_put( "O2SAT3"  , o2sat3 ) 
    8751034             DEALLOCATE( o2sat3 ) 
    8761035          ENDIF                     
    8771036          IF( med_diag%PBSI3%dgsave ) THEN 
     1037             CALL lbc_lnk( pbsi3(:,:,:),'T',1.) 
    8781038             CALL iom_put( "PBSI3"  , pbsi3 ) 
    8791039             DEALLOCATE( pbsi3 ) 
    8801040          ENDIF                     
    8811041          IF( med_diag%PCAL3%dgsave ) THEN 
     1042             CALL lbc_lnk( pcal3(:,:,:),'T',1.) 
    8821043             CALL iom_put( "PCAL3"  , pcal3 ) 
    8831044             DEALLOCATE( pcal3 ) 
    8841045          ENDIF                     
    8851046          IF( med_diag%REMOC3%dgsave ) THEN 
     1047             CALL lbc_lnk( remoc3(:,:,:),'T',1.) 
    8861048             CALL iom_put( "REMOC3"  , remoc3 ) 
    8871049             DEALLOCATE( remoc3 ) 
    8881050          ENDIF                     
    8891051          IF( med_diag%PNLIMJ3%dgsave ) THEN 
     1052             CALL lbc_lnk( pnlimj3(:,:,:),'T',1.) 
    8901053             CALL iom_put( "PNLIMJ3" , pnlimj3 ) 
    8911054             DEALLOCATE( pnlimj3 ) 
    8921055          ENDIF                     
    8931056          IF( med_diag%PNLIMN3%dgsave ) THEN 
     1057             CALL lbc_lnk( pnlimn3(:,:,:),'T',1.) 
    8941058             CALL iom_put( "PNLIMN3" , pnlimn3 ) 
    8951059             DEALLOCATE( pnlimn3 ) 
    8961060          ENDIF                     
    8971061          IF( med_diag%PNLIMFE3%dgsave ) THEN 
     1062             CALL lbc_lnk( pnlimfe3(:,:,:),'T',1.) 
    8981063             CALL iom_put( "PNLIMFE3" , pnlimfe3 ) 
    8991064             DEALLOCATE( pnlimfe3 ) 
    9001065          ENDIF                     
    9011066          IF( med_diag%PDLIMJ3%dgsave ) THEN 
     1067             CALL lbc_lnk( pdlimj3(:,:,:),'T',1.) 
    9021068             CALL iom_put( "PDLIMJ3" , pdlimj3 ) 
    9031069             DEALLOCATE( pdlimj3 ) 
    9041070          ENDIF                     
    9051071          IF( med_diag%PDLIMN3%dgsave ) THEN 
     1072             CALL lbc_lnk( pdlimn3(:,:,:),'T',1.) 
    9061073             CALL iom_put( "PDLIMN3" , pdlimn3 ) 
    9071074             DEALLOCATE( pdlimn3 ) 
    9081075          ENDIF                     
    9091076          IF( med_diag%PDLIMFE3%dgsave ) THEN 
     1077             CALL lbc_lnk( pdlimfe3(:,:,:),'T',1.) 
    9101078             CALL iom_put( "PDLIMFE3" , pdlimfe3 ) 
    9111079             DEALLOCATE( pdlimfe3 ) 
    9121080          ENDIF                     
    9131081          IF( med_diag%PDLIMSI3%dgsave ) THEN 
     1082             CALL lbc_lnk( pdlimsi3(:,:,:),'T',1.) 
    9141083             CALL iom_put( "PDLIMSI3" , pdlimsi3 ) 
    9151084             DEALLOCATE( pdlimsi3 ) 
  • branches/UKMO/dev_r5518_fix_diag_bitcomp/NEMOGCM/NEMO/TOP_SRC/TRP/trdtrc.F90

    r9163 r9502  
    1919   USE trdmxl_trc        ! Mixed layer trends diag. 
    2020   USE iom               ! I/O library 
     21   USE lbclnk,            ONLY: lbc_lnk 
    2122# if defined key_debug_medusa 
    2223   USE trcstat,          ONLY: trc_rst_dia_stat      
     
    192193         CALL trc_rst_dia_stat( ptrtrd(:,:,1), cltra) 
    193194# endif 
     195         CALL lbc_lnk( ptrtrd(:,:,:), 'T', 1.0 ) 
    194196         CALL iom_put( cltra,  ptrtrd(:,:,:) ) 
    195197# if defined key_debug_medusa 
Note: See TracChangeset for help on using the changeset viewer.