New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 8372 for branches/NERC – NEMO

Changeset 8372 for branches/NERC


Ignore:
Timestamp:
2017-07-25T18:58:24+02:00 (7 years ago)
Author:
jpalmier
Message:

JPALM -- debug switch TOP module call order ; remove trc2d and trc3d from MEDUSA (obsolete); rm trcrst_medusa (obsolete)

Location:
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA
Files:
2 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_diag.F90

    r8344 r8372  
    3131      !!------------------------------------------------------------------- 
    3232      USE bio_med_diag_iomput_mod,  ONLY: bio_med_diag_iomput 
    33       USE bio_med_diag_trc_mod,     ONLY: bio_med_diag_trc 
    3433      USE bio_medusa_mod 
    3534      USE dom_oce,                  ONLY: e3t_0, e3t_n,                  & 
     
    4241      USE sms_medusa,               ONLY: xrfn, xthetapd, xthetapn,      & 
    4342                                          xthetazme, xthetazmi 
    44       USE trc,                      ONLY: ln_diatrc, med_diag  
     43      USE trc,                      ONLY: med_diag  
    4544# if defined key_roam 
    4645      USE trcoxy_medusa,            ONLY: oxy_sato 
     
    193192# endif 
    194193 
    195       IF( lk_iomput  .AND.  .NOT.  ln_diatrc  ) THEN 
    196  
    197          !!--------------------------------------------------------------- 
    198          !! Calculates the diagnostics used with iom_put 
    199          !!--------------------------------------------------------------- 
    200          CALL bio_med_diag_iomput( jk ) 
    201  
    202       ELSE IF( ln_diatrc ) THEN 
    203  
    204          !!--------------------------------------------------------------- 
    205          !! The diagnostics without using iom_use 
    206          !!--------------------------------------------------------------- 
    207          CALL bio_med_diag_trc( jk ) 
    208  
    209       ENDIF 
     194      !!--------------------------------------------------------------- 
     195      !! Calculates the diagnostics used with iom_put 
     196      !!--------------------------------------------------------------- 
     197      CALL bio_med_diag_iomput( jk ) 
    210198 
    211199   END SUBROUTINE bio_medusa_diag 
  • branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_fin.F90

    r8352 r8372  
    5151                                   zn_sed_c, zn_sed_ca, zn_sed_fe,      & 
    5252                                   zn_sed_n, zn_sed_si 
    53       USE trc,               ONLY: ctrc2d, ctrc3d, ln_diatrc,           & 
    54                                    med_diag, nittrc000,                 & 
    55                                    trbio, trc2d, trc3d 
     53      USE trc,               ONLY: med_diag, nittrc000  
    5654      USE trcnam_trp,        ONLY: ln_trcadv_cen2, ln_trcadv_tvd 
    5755  
     
    10098         zn_sed_ca(:,:) = za_sed_ca(:,:) 
    10199      endif 
    102       IF( ln_diatrc ) THEN 
    103          DO jj = 2,jpjm1 
    104             DO ji = 2,jpim1 
    105                trc2d(ji,jj,131) = za_sed_n(ji,jj) 
    106                trc2d(ji,jj,132) = za_sed_fe(ji,jj) 
    107                trc2d(ji,jj,133) = za_sed_c(ji,jj) 
    108                trc2d(ji,jj,134) = za_sed_si(ji,jj) 
    109                trc2d(ji,jj,135) = za_sed_ca(ji,jj) 
    110             ENDDO 
    111          ENDDO 
    112       ENDIF  
    113100      !! 
    114101      if (ibenthic.eq.2) then 
     
    314301#  endif 
    315302 
    316       IF( ln_diatrc ) THEN 
    317          !!----------------------------------------------------------------- 
    318          !! Output several accumulated diagnostics 
    319          !!   - biomass-average phytoplankton limitation terms 
    320          !!   - integrated tendency terms 
    321          !!----------------------------------------------------------------- 
    322          !!  
    323          DO jj = 2,jpjm1 
    324             DO ji = 2,jpim1 
    325                !! non-diatom phytoplankton limitations 
    326                trc2d(ji,jj,25)  = trc2d(ji,jj,25) / MAX(ftot_pn(ji,jj), rsmall) 
    327                trc2d(ji,jj,26)  = trc2d(ji,jj,26) / MAX(ftot_pn(ji,jj), rsmall) 
    328                trc2d(ji,jj,27)  = trc2d(ji,jj,27) / MAX(ftot_pn(ji,jj), rsmall) 
    329                !! diatom phytoplankton limitations 
    330                trc2d(ji,jj,28)  = trc2d(ji,jj,28) / MAX(ftot_pd(ji,jj), rsmall) 
    331                trc2d(ji,jj,29)  = trc2d(ji,jj,29) / MAX(ftot_pd(ji,jj), rsmall) 
    332                trc2d(ji,jj,30)  = trc2d(ji,jj,30) / MAX(ftot_pd(ji,jj), rsmall) 
    333                trc2d(ji,jj,31)  = trc2d(ji,jj,31) / MAX(ftot_pd(ji,jj), rsmall) 
    334                trc2d(ji,jj,32)  = trc2d(ji,jj,32) / MAX(ftot_pd(ji,jj), rsmall) 
    335                !! tendency terms 
    336                trc2d(ji,jj,76)  = fflx_n(ji,jj) 
    337                trc2d(ji,jj,77)  = fflx_si(ji,jj) 
    338                trc2d(ji,jj,78)  = fflx_fe(ji,jj) 
    339                !! Integrated biomass. 
    340                !! integrated non-diatom phytoplankton 
    341                trc2d(ji,jj,79)  = ftot_pn(ji,jj) 
    342                !! integrated diatom phytoplankton 
    343                trc2d(ji,jj,80)  = ftot_pd(ji,jj) 
    344                !! Integrated microzooplankton 
    345                trc2d(ji,jj,217) = ftot_zmi(ji,jj) 
    346                !! Integrated mesozooplankton 
    347                trc2d(ji,jj,218) = ftot_zme(ji,jj) 
    348                !! Integrated slow detritus, nitrogen 
    349                trc2d(ji,jj,219) = ftot_det(ji,jj) 
    350                !! Integrated slow detritus, carbon 
    351                trc2d(ji,jj,220) = ftot_dtc(ji,jj) 
    352 # if defined key_roam 
    353                !! The balance of nitrogen production/consumption. 
    354                !! integrated nitrogen production 
    355                trc2d(ji,jj,111) = fnit_prod(ji,jj) 
    356                !! integrated nitrogen consumption 
    357                trc2d(ji,jj,112) = fnit_cons(ji,jj) 
    358                !! The balance of carbon production/consumption. 
    359                !! integrated carbon production 
    360                trc2d(ji,jj,113) = fcar_prod(ji,jj) 
    361                !! integrated carbon consumption 
    362                trc2d(ji,jj,114) = fcar_cons(ji,jj) 
    363                !! The balance of oxygen production/consumption. 
    364                !! integrated oxygen production 
    365                trc2d(ji,jj,115) = foxy_prod(ji,jj) 
    366                !! integrated oxygen consumption 
    367                trc2d(ji,jj,116) = foxy_cons(ji,jj) 
    368                !! integrated unrealised oxygen consumption 
    369                trc2d(ji,jj,117) = foxy_anox(ji,jj) 
    370 # endif 
    371             ENDDO 
    372          ENDDO 
    373           
    374 # if defined key_roam 
    375 #  if defined key_axy_nancheck 
    376          !!--------------------------------------------------------------- 
    377          !! Check for NaNs in diagnostic outputs 
    378          !!--------------------------------------------------------------- 
    379          !!  
    380          !! 2D diagnostics 
    381          DO jn = 1,150 
    382             fq0 = SUM(trc2d(:,:,jn)) 
    383             !! AXY (30/01/14): "isnan" problem on HECTOR 
    384             !! if (fq0 /= fq0 ) then 
    385             if ( ieee_is_nan( fq0 ) ) then 
    386                !! there's a NaN here 
    387                if (lwp) write(numout,*)                                     & 
    388                   'NAN detected in 2D diagnostic field', jn, 'at time',     & 
    389                    kt, 'at position:' 
    390                DO jj = 1,jpj 
    391                   DO ji = 1,jpi 
    392                      if ( ieee_is_nan( trc2d(ji,jj,jn) ) ) then 
    393                         if (lwp) write (numout,'(a,3i6)') 'NAN-CHECK',      & 
    394                                  ji, jj, jn 
    395                      endif 
    396                   ENDDO 
    397                ENDDO 
    398           CALL ctl_stop( 'trcbio_medusa, NAN in 2D diagnostic field' ) 
    399             endif 
    400          ENDDO 
    401          !! 
    402          !! 3D diagnostics 
    403          DO jn = 1,5 
    404             fq0 = SUM(trc3d(:,:,:,jn)) 
    405             !! AXY (30/01/14): "isnan" problem on HECTOR 
    406             !! if (fq0 /= fq0 ) then 
    407             if ( ieee_is_nan( fq0 ) ) then 
    408                !! there's a NaN here 
    409                if (lwp) write(numout,*)                                     & 
    410                   'NAN detected in 3D diagnostic field', jn, 'at time',     & 
    411                   kt, 'at position:' 
    412                DO jk = 1,jpk 
    413                   DO jj = 1,jpj 
    414                      DO ji = 1,jpi 
    415                         if ( ieee_is_nan( trc3d(ji,jj,jk,jn) ) ) then 
    416                            if (lwp) write (numout,'(a,4i6)') 'NAN-CHECK',   & 
    417                                     ji, jj, jk, jn 
    418                         endif 
    419                      ENDDO 
    420                   ENDDO 
    421                ENDDO 
    422           CALL ctl_stop( 'trcbio_medusa, NAN in 3D diagnostic field' ) 
    423             endif 
    424          ENDDO 
    425     CALL flush(numout) 
    426 #  endif 
    427 # endif 
    428  
    429          !!---------------------------------------------------------------- 
    430          !! Don't know what this does; belongs to someone else ... 
    431          !!---------------------------------------------------------------- 
    432          !!  
    433          !! Lateral boundary conditions on trc2d 
    434          DO jn=1,jp_medusa_2d 
    435              CALL lbc_lnk(trc2d(:,:,jn),'T',1. ) 
    436          ENDDO  
    437  
    438          !! Lateral boundary conditions on trc3d 
    439          DO jn=1,jp_medusa_3d 
    440              CALL lbc_lnk(trc3d(:,:,1,jn),'T',1. ) 
    441          ENDDO  
    442  
    443  
    444 # if defined key_axy_nodiag 
    445          !!---------------------------------------------------------------- 
    446          !! Blank diagnostics as a NaN-trap 
    447          !!---------------------------------------------------------------- 
    448          !!  
    449          !! blank 2D diagnostic array 
    450          trc2d(:,:,:) = 0.e0 
    451          !! 
    452          !! blank 3D diagnostic array 
    453          trc3d(:,:,:,:) = 0.e0 
    454 # endif 
    455  
    456  
    457          !!---------------------------------------------------------------- 
    458          !! Add in XML diagnostics stuff 
    459          !!---------------------------------------------------------------- 
    460          !! 
    461          !! ** 2D diagnostics 
    462          DO jn=1,jp_medusa_2d 
    463             CALL iom_put(TRIM(ctrc2d(jn)), trc2d(:,:,jn)) 
    464          END DO 
    465 !! AXY (17/02/14): don't think I need this if I modify the above for  
    466 !! all diagnostics 
    467 !! #  if defined key_roam 
    468 !!          DO jn=91,jp_medusa_2d 
    469 !!             CALL iom_put(TRIM(ctrc2d(jn)), trc2d(:,:,jn)) 
    470 !!          END DO       
    471 !! #  endif 
    472          !! 
    473          !! ** 3D diagnostics 
    474          DO jn=1,jp_medusa_3d 
    475             CALL iom_put(TRIM(ctrc3d(jn)), trc3d(:,:,:,jn)) 
    476          END DO 
    477 !! AXY (17/02/14): don't think I need this if I modify the above for  
    478 !! all diagnostics 
    479 !! #  if defined key_roam 
    480 !!          CALL iom_put(TRIM(ctrc3d(5)), trc3d(:,:,:,5)) 
    481 !! #  endif 
    482  
    483  
    484       ELSE IF( lk_iomput .AND. .NOT. ln_diatrc ) THEN 
    485303         !!!--------------------------------------------------------------- 
    486304         !! Add very last diag calculations  
     
    1173991          DEALLOCATE( zw2d ) 
    1174992 
    1175        ENDIF                    ! end of ln_diatrc option 
    1176  
    1177993   END SUBROUTINE bio_medusa_fin 
    1178994 
  • branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_init.F90

    r8344 r8372  
    3535      USE par_oce,           ONLY: jpi, jpj, jpk 
    3636      USE sms_medusa,        ONLY: jdms 
    37       USE trc,               ONLY: ln_diatrc, med_diag, nittrc000,     & 
    38                                    trc2d, trc3d 
     37      USE trc,               ONLY: ln_diatrc, med_diag, nittrc000  
     38      USE in_out_manager,    ONLY: lwp 
    3939 
    4040# if defined key_iomput 
     
    4747 
    4848      IF( ln_diatrc ) THEN 
    49          !! blank 2D diagnostic array 
    50          trc2d(:,:,:) = 0.e0 
    51          !! 
    52          !! blank 3D diagnostic array 
    53          trc3d(:,:,:,:) = 0.e0 
     49         IF (lwp) write (numout,*) 'Diagnostics are now ALL through XIOS (key_xios)' 
     50         IF (lwp) write (numout,*) 'No more key_diatrc anymore.' 
    5451      ENDIF 
    5552 
     
    171168      !! ----------------------------- 
    172169      !! Juju :: add kt condition !! 
    173       IF ( lk_iomput .AND. .NOT.  ln_diatrc ) THEN  
     170      IF ( lk_iomput ) THEN  
    174171 
    175172         !! initialise iom_use test 
  • branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_update.F90

    r8344 r8372  
    7373                                   jpalk, jpchd, jpchn, jpdet, jpdic,        & 
    7474                                   jpdin, jpdtc, jpfer, jpoxy, jppds,        & 
    75                                    jpphd, jpphn, jpsil, jpzme, jpzmi 
     75                                   jpphd, jpphn, jpsil, jpzme, jpzmi,        & 
     76                                   jpalk_lc, jpchd_lc, jpchn_lc, jpdet_lc,   &  
     77                                   jpdic_lc, jpdin_lc, jpdtc_lc, jpfer_lc,   &  
     78                                   jpoxy_lc, jppds_lc, jpphd_lc, jpphn_lc,   & 
     79                                   jpsil_lc, jpzme_lc, jpzmi_lc 
    7680      USE par_oce,           ONLY: jpi, jpim1, jpj, jpjm1 
    7781      USE par_trc,           ONLY: jptra 
     
    130134               !!---------------------------------------------------------- 
    131135               !! chlorophyll 
    132                btra(ji,jj,jpchn) = b0 * ( ( (frn(ji,jj) * fprn(ji,jj) *      & 
     136               btra(ji,jj,jpchn_lc) = b0 * ( ( (frn(ji,jj) * fprn(ji,jj) *      & 
    133137                                             zphn(ji,jj) ) -                 & 
    134138                                           fgmipn(ji,jj) - fgmepn(ji,jj) -   & 
    135139                                           fdpn(ji,jj) - fdpn2(ji,jj) ) *    & 
    136140                                          (fthetan(ji,jj) / xxi) ) 
    137                btra(ji,jj,jpchd) = b0 * ( ( (frd(ji,jj) * fprd(ji,jj) *      & 
     141               btra(ji,jj,jpchd_lc) = b0 * ( ( (frd(ji,jj) * fprd(ji,jj) *      & 
    138142                                             zphd(ji,jj) ) -                 & 
    139143                                           fgmepd(ji,jj) - fdpd(ji,jj) -     & 
     
    150154               !!---------------------------------------------------------- 
    151155               !! phytoplankton 
    152                btra(ji,jj,jpphn) = b0 * ( (fprn(ji,jj) * zphn(ji,jj)) -      & 
     156               btra(ji,jj,jpphn_lc) = b0 * ( (fprn(ji,jj) * zphn(ji,jj)) -      & 
    153157                                          fgmipn(ji,jj) - fgmepn(ji,jj) -    & 
    154158                                          fdpn(ji,jj) - fdpn2(ji,jj) ) 
    155                btra(ji,jj,jpphd) = b0 * ( (fprd(ji,jj) * zphd(ji,jj)) -      & 
     159               btra(ji,jj,jpphd_lc) = b0 * ( (fprd(ji,jj) * zphd(ji,jj)) -      & 
    156160                                          fgmepd(ji,jj) - fdpd(ji,jj) -      & 
    157161                                          fdpd2(ji,jj) ) 
    158                btra(ji,jj,jppds) = b0 * ( (fprds(ji,jj) * zpds(ji,jj)) -     & 
     162               btra(ji,jj,jppds_lc) = b0 * ( (fprds(ji,jj) * zpds(ji,jj)) -     & 
    159163                                          fgmepds(ji,jj) - fdpds(ji,jj) -    & 
    160164                                          fsdiss(ji,jj) - fdpds2(ji,jj) ) 
     
    169173               !!---------------------------------------------------------- 
    170174               !! zooplankton 
    171                btra(ji,jj,jpzmi) = b0 * (fmigrow(ji,jj) - fgmezmi(ji,jj) -   & 
     175               btra(ji,jj,jpzmi_lc) = b0 * (fmigrow(ji,jj) - fgmezmi(ji,jj) -   & 
    172176                                         fdzmi(ji,jj) - fdzmi2(ji,jj)) 
    173                btra(ji,jj,jpzme) = b0 * (fmegrow(ji,jj) - fdzme(ji,jj) -     & 
     177               btra(ji,jj,jpzme_lc) = b0 * (fmegrow(ji,jj) - fdzme(ji,jj) -     & 
    174178                                         fdzme2(ji,jj)) 
    175179            ENDIF 
     
    183187               !!---------------------------------------------------------- 
    184188               !! detritus 
    185                btra(ji,jj,jpdet) = b0 *                                      & 
     189               btra(ji,jj,jpdet_lc) = b0 *                                      & 
    186190                                          ! mort. losses  
    187191                                   (fdpn(ji,jj) + ((1.0 - xfdfrac1) *        & 
     
    236240               endif 
    237241               !! 
    238                btra(ji,jj,jpdin) = b0 * ( fn_prod + fn_cons ) 
     242               btra(ji,jj,jpdin_lc) = b0 * ( fn_prod + fn_cons ) 
    239243               !! 
    240244               !! consumption of dissolved nitrogen 
     
    281285               endif 
    282286               !! 
    283                btra(ji,jj,jpsil) = b0 * ( & 
     287               btra(ji,jj,jpsil_lc) = b0 * ( & 
    284288                 fs_prod + fs_cons ) 
    285289               !! consumption of dissolved silicon 
     
    298302               !!---------------------------------------------------------- 
    299303               !! dissolved "iron" nutrient 
    300                btra(ji,jj,jpfer) = b0 * ( (xrfn * btra(ji,jj,jpdin)) +       & 
     304               btra(ji,jj,jpfer_lc) = b0 * ( (xrfn * btra(ji,jj,jpdin_lc)) +       & 
    301305                                          ffetop(ji,jj) + ffebot(ji,jj) -    & 
    302306                                          ffescav(ji,jj) ) 
     
    305309               !!---------------------------------------------------------- 
    306310               !! AXY (26/11/08): implicit detrital carbon change 
    307                btra(ji,jj,jpdtc) = b0 * (                                    & 
     311               btra(ji,jj,jpdtc_lc) = b0 * (                                    & 
    308312                                            ! mort. losses 
    309313                                         (xthetapn * fdpn(ji,jj)) +          & 
     
    381385               endif 
    382386               !! 
    383                btra(ji,jj,jpdic) = b0 * ( fc_prod + fc_cons ) 
     387               btra(ji,jj,jpdic_lc) = b0 * ( fc_prod + fc_cons ) 
    384388               !! consumption of dissolved carbon 
    385389               fcar_cons(ji,jj) = fcar_cons(ji,jj) + ( fse3t(ji,jj,jk) *     & 
     
    418422               endif 
    419423               !! 
    420                btra(ji,jj,jpalk) = b0 * ( fa_prod + fa_cons ) 
     424               btra(ji,jj,jpalk_lc) = b0 * ( fa_prod + fa_cons ) 
    421425            ENDIF 
    422426         ENDDO 
     
    538542               !! deficient O2; production fluxes only 
    539543               if (zoxy(ji,jj).lt.xo2min) then 
    540                   btra(ji,jj,jpoxy) = b0 * fo2_prod(ji,jj) 
     544                  btra(ji,jj,jpoxy_lc) = b0 * fo2_prod(ji,jj) 
    541545                  foxy_prod(ji,jj) = foxy_prod(ji,jj) + ( fse3t(ji,jj,jk) *  & 
    542546                                                          fo2_prod(ji,jj) ) 
     
    545549               else 
    546550                  !! sufficient O2; production + consumption fluxes 
    547                   btra(ji,jj,jpoxy) = b0 * ( fo2_prod(ji,jj) +               & 
     551                  btra(ji,jj,jpoxy_lc) = b0 * ( fo2_prod(ji,jj) +               & 
    548552                                             fo2_cons(ji,jj) ) 
    549553                  foxy_prod(ji,jj) = foxy_prod(ji,jj) +                      & 
     
    564568                  !! 
    565569                  !! CO2 flux 
    566                   btra(ji,jj,jpdic) = btra(ji,jj,jpdic) + (b0 *              & 
     570                  btra(ji,jj,jpdic_lc) = btra(ji,jj,jpdic_lc) + (b0 *              & 
    567571                                                           f_co2flux(ji,jj)) 
    568572                  !! 
    569573                  !! O2 flux (mol/m3/s -> mmol/m3/d) 
    570                   btra(ji,jj,jpoxy) = btra(ji,jj,jpoxy) + (b0 *              & 
     574                  btra(ji,jj,jpoxy_lc) = btra(ji,jj,jpoxy_lc) + (b0 *              & 
    571575                                                           f_o2flux(ji,jj)) 
    572576               endif 
     
    586590               if (idf.eq.1.AND.idfval.eq.1) then 
    587591                  IF (lwp) write (numout,*) '------------------------------' 
    588                   IF (lwp) write (numout,*) 'btra(ji,jj,jpchn)(',jk,')  = ', & 
    589                                             btra(ji,jj,jpchn) 
    590                   IF (lwp) write (numout,*) 'btra(ji,jj,jpchd)(',jk,')  = ', & 
    591                                             btra(ji,jj,jpchd) 
    592                   IF (lwp) write (numout,*) 'btra(ji,jj,jpphn)(',jk,')  = ', & 
    593                                             btra(ji,jj,jpphn) 
    594                   IF (lwp) write (numout,*) 'btra(ji,jj,jpphd)(',jk,')  = ', & 
    595                                             btra(ji,jj,jpphd) 
    596                   IF (lwp) write (numout,*) 'btra(ji,jj,jppds)(',jk,')  = ', & 
    597                                             btra(ji,jj,jppds) 
    598                   IF (lwp) write (numout,*) 'btra(ji,jj,jpzmi)(',jk,')  = ', & 
    599                                             btra(ji,jj,jpzmi) 
    600                   IF (lwp) write (numout,*) 'btra(ji,jj,jpzme)(',jk,')  = ', & 
    601                                             btra(ji,jj,jpzme) 
    602                   IF (lwp) write (numout,*) 'btra(ji,jj,jpdet)(',jk,')  = ', & 
    603                                             btra(ji,jj,jpdet) 
    604                   IF (lwp) write (numout,*) 'btra(ji,jj,jpdin)(',jk,')  = ', & 
    605                                             btra(ji,jj,jpdin) 
    606                   IF (lwp) write (numout,*) 'btra(ji,jj,jpsil)(',jk,')  = ', & 
    607                                             btra(ji,jj,jpsil) 
    608                   IF (lwp) write (numout,*) 'btra(ji,jj,jpfer)(',jk,')  = ', & 
    609                                             btra(ji,jj,jpfer) 
     592                  IF (lwp) write (numout,*) 'btra(ji,jj,jpchn_lc)(',jk,')  = ', & 
     593                                            btra(ji,jj,jpchn_lc) 
     594                  IF (lwp) write (numout,*) 'btra(ji,jj,jpchd_lc)(',jk,')  = ', & 
     595                                            btra(ji,jj,jpchd_lc) 
     596                  IF (lwp) write (numout,*) 'btra(ji,jj,jpphn_lc)(',jk,')  = ', & 
     597                                            btra(ji,jj,jpphn_lc) 
     598                  IF (lwp) write (numout,*) 'btra(ji,jj,jpphd_lc)(',jk,')  = ', & 
     599                                            btra(ji,jj,jpphd_lc) 
     600                  IF (lwp) write (numout,*) 'btra(ji,jj,jppds_lc)(',jk,')  = ', & 
     601                                            btra(ji,jj,jppds_lc) 
     602                  IF (lwp) write (numout,*) 'btra(ji,jj,jpzmi_lc)(',jk,')  = ', & 
     603                                            btra(ji,jj,jpzmi_lc) 
     604                  IF (lwp) write (numout,*) 'btra(ji,jj,jpzme_lc)(',jk,')  = ', & 
     605                                            btra(ji,jj,jpzme_lc) 
     606                  IF (lwp) write (numout,*) 'btra(ji,jj,jpdet_lc)(',jk,')  = ', & 
     607                                            btra(ji,jj,jpdet_lc) 
     608                  IF (lwp) write (numout,*) 'btra(ji,jj,jpdin_lc)(',jk,')  = ', & 
     609                                            btra(ji,jj,jpdin_lc) 
     610                  IF (lwp) write (numout,*) 'btra(ji,jj,jpsil_lc)(',jk,')  = ', & 
     611                                            btra(ji,jj,jpsil_lc) 
     612                  IF (lwp) write (numout,*) 'btra(ji,jj,jpfer_lc)(',jk,')  = ', & 
     613                                            btra(ji,jj,jpfer_lc) 
    610614#  if defined key_roam 
    611                   IF (lwp) write (numout,*) 'btra(ji,jj,jpdtc)(',jk,')  = ', & 
    612                                             btra(ji,jj,jpdtc) 
    613                   IF (lwp) write (numout,*) 'btra(ji,jj,jpdic)(',jk,')  = ', & 
    614                                             btra(ji,jj,jpdic) 
    615                   IF (lwp) write (numout,*) 'btra(ji,jj,jpalk)(',jk,')  = ', & 
    616                                             btra(ji,jj,jpalk) 
    617                   IF (lwp) write (numout,*) 'btra(ji,jj,jpoxy)(',jk,')  = ', & 
    618                                             btra(ji,jj,jpoxy) 
     615                  IF (lwp) write (numout,*) 'btra(ji,jj,jpdtc_lc)(',jk,')  = ', & 
     616                                            btra(ji,jj,jpdtc_lc) 
     617                  IF (lwp) write (numout,*) 'btra(ji,jj,jpdic_lc)(',jk,')  = ', & 
     618                                            btra(ji,jj,jpdic_lc) 
     619                  IF (lwp) write (numout,*) 'btra(ji,jj,jpalk_lc)(',jk,')  = ', & 
     620                                            btra(ji,jj,jpalk_lc) 
     621                  IF (lwp) write (numout,*) 'btra(ji,jj,jpoxy_lc)(',jk,')  = ', & 
     622                                            btra(ji,jj,jpoxy_lc) 
    619623#  endif 
    620624               endif 
     
    633637               !! === nitrogen === 
    634638               fflx_n(ji,jj)  = fflx_n(ji,jj) + fse3t(ji,jj,jk) *            & 
    635                                 ( btra(ji,jj,jpphn) + btra(ji,jj,jpphd) +    & 
    636                                   btra(ji,jj,jpzmi) + btra(ji,jj,jpzme) +    & 
    637                                   btra(ji,jj,jpdet) + btra(ji,jj,jpdin) ) 
     639                                ( btra(ji,jj,jpphn_lc) + btra(ji,jj,jpphd_lc) +    & 
     640                                  btra(ji,jj,jpzmi_lc) + btra(ji,jj,jpzme_lc) +    & 
     641                                  btra(ji,jj,jpdet_lc) + btra(ji,jj,jpdin_lc) ) 
    638642               !! === silicon === 
    639643               fflx_si(ji,jj) = fflx_si(ji,jj) + fse3t(ji,jj,jk) *           & 
    640                                 ( btra(ji,jj,jppds) + btra(ji,jj,jpsil) ) 
     644                                ( btra(ji,jj,jppds_lc) + btra(ji,jj,jpsil_lc) ) 
    641645               !! === iron === 
    642646               fflx_fe(ji,jj) = fflx_fe(ji,jj) + fse3t(ji,jj,jk) *           & 
    643647                                ( (xrfn *                                    & 
    644                                    (btra(ji,jj,jpphn) + btra(ji,jj,jpphd) +  & 
    645                                     btra(ji,jj,jpzmi) + btra(ji,jj,jpzme) +  & 
    646                                     btra(ji,jj,jpdet))) + btra(ji,jj,jpfer) ) 
     648                                   (btra(ji,jj,jpphn_lc) + btra(ji,jj,jpphd_lc) +  & 
     649                                    btra(ji,jj,jpzmi_lc) + btra(ji,jj,jpzme_lc) +  & 
     650                                    btra(ji,jj,jpdet_lc))) + btra(ji,jj,jpfer_lc) ) 
    647651# if defined key_roam 
    648652               !! === carbon === 
    649653               fflx_c(ji,jj)  = fflx_c(ji,jj) + fse3t(ji,jj,jk) *            & 
    650                                 ( (xthetapn * btra(ji,jj,jpphn)) +           & 
    651                                   (xthetapd * btra(ji,jj,jpphd)) +           & 
    652                                   (xthetazmi * btra(ji,jj,jpzmi)) +          & 
    653                                   (xthetazme * btra(ji,jj,jpzme)) +          & 
    654                                   btra(ji,jj,jpdtc) + btra(ji,jj,jpdic) ) 
     654                                ( (xthetapn * btra(ji,jj,jpphn_lc)) +           & 
     655                                  (xthetapd * btra(ji,jj,jpphd_lc)) +           & 
     656                                  (xthetazmi * btra(ji,jj,jpzmi_lc)) +          & 
     657                                  (xthetazme * btra(ji,jj,jpzme_lc)) +          & 
     658                                  btra(ji,jj,jpdtc_lc) + btra(ji,jj,jpdic_lc) ) 
    655659               !! === alkalinity === 
    656660               fflx_a(ji,jj)  = fflx_a(ji,jj) + fse3t(ji,jj,jk) *            & 
    657                                 btra(ji,jj,jpalk) 
     661                                btra(ji,jj,jpalk_lc) 
    658662               !! === oxygen === 
    659663               fflx_o2(ji,jj) = fflx_o2(ji,jj) + fse3t(ji,jj,jk) *           & 
    660                                 btra(ji,jj,jpoxy) 
     664                                btra(ji,jj,jpoxy_lc) 
    661665# endif 
    662666            ENDIF 
     
    694698               if (ibio_switch.eq.1) then 
    695699                  tra(ji,jj,jk,jpchn) = tra(ji,jj,jk,jpchn) +                & 
    696                                         (btra(ji,jj,jpchn) / 86400.) 
     700                                        (btra(ji,jj,jpchn_lc) / 86400.) 
    697701                  tra(ji,jj,jk,jpchd) = tra(ji,jj,jk,jpchd) +                & 
    698                                         (btra(ji,jj,jpchd) / 86400.) 
     702                                        (btra(ji,jj,jpchd_lc) / 86400.) 
    699703                  tra(ji,jj,jk,jpphn) = tra(ji,jj,jk,jpphn) +                & 
    700                                         (btra(ji,jj,jpphn) / 86400.) 
     704                                        (btra(ji,jj,jpphn_lc) / 86400.) 
    701705                  tra(ji,jj,jk,jpphd) = tra(ji,jj,jk,jpphd) +                & 
    702                                         (btra(ji,jj,jpphd) / 86400.) 
     706                                        (btra(ji,jj,jpphd_lc) / 86400.) 
    703707                  tra(ji,jj,jk,jppds) = tra(ji,jj,jk,jppds) +                & 
    704                                         (btra(ji,jj,jppds) / 86400.) 
     708                                        (btra(ji,jj,jppds_lc) / 86400.) 
    705709                  tra(ji,jj,jk,jpzmi) = tra(ji,jj,jk,jpzmi) +                & 
    706                                         (btra(ji,jj,jpzmi) / 86400.) 
     710                                        (btra(ji,jj,jpzmi_lc) / 86400.) 
    707711                  tra(ji,jj,jk,jpzme) = tra(ji,jj,jk,jpzme) +                & 
    708                                         (btra(ji,jj,jpzme) / 86400.) 
     712                                        (btra(ji,jj,jpzme_lc) / 86400.) 
    709713                  tra(ji,jj,jk,jpdet) = tra(ji,jj,jk,jpdet) +                & 
    710                                         (btra(ji,jj,jpdet) / 86400.) 
     714                                        (btra(ji,jj,jpdet_lc) / 86400.) 
    711715                  tra(ji,jj,jk,jpdin) = tra(ji,jj,jk,jpdin) +                & 
    712                                         (btra(ji,jj,jpdin) / 86400.) 
     716                                        (btra(ji,jj,jpdin_lc) / 86400.) 
    713717                  tra(ji,jj,jk,jpsil) = tra(ji,jj,jk,jpsil) +                & 
    714                                         (btra(ji,jj,jpsil) / 86400.) 
     718                                        (btra(ji,jj,jpsil_lc) / 86400.) 
    715719                  tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) +                & 
    716                                         (btra(ji,jj,jpfer) / 86400.) 
     720                                        (btra(ji,jj,jpfer_lc) / 86400.) 
    717721# if defined key_roam 
    718722                  tra(ji,jj,jk,jpdtc) = tra(ji,jj,jk,jpdtc) +                & 
    719                                         (btra(ji,jj,jpdtc) / 86400.) 
     723                                        (btra(ji,jj,jpdtc_lc) / 86400.) 
    720724                  tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) +                & 
    721                                         (btra(ji,jj,jpdic) / 86400.) 
     725                                        (btra(ji,jj,jpdic_lc) / 86400.) 
    722726                  tra(ji,jj,jk,jpalk) = tra(ji,jj,jk,jpalk) +                & 
    723                                         (btra(ji,jj,jpalk) / 86400.) 
     727                                        (btra(ji,jj,jpalk_lc) / 86400.) 
    724728                  tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) +                & 
    725                                         (btra(ji,jj,jpoxy) / 86400.) 
     729                                        (btra(ji,jj,jpoxy_lc) / 86400.) 
    726730# endif 
    727731               endif 
     
    737741               IF( med_diag%FBDDTALK%dgsave )  THEN 
    738742                  fbddtalk(ji,jj)  =  fbddtalk(ji,jj)  +                     & 
    739                                       (btra(ji,jj,jpalk) * fse3t(ji,jj,jk)) 
     743                                      (btra(ji,jj,jpalk_lc) * fse3t(ji,jj,jk)) 
    740744               ENDIF 
    741745               IF( med_diag%FBDDTDIC%dgsave )  THEN 
    742746                  fbddtdic(ji,jj)  =  fbddtdic(ji,jj)  +                     & 
    743                                       (btra(ji,jj,jpdic) * fse3t(ji,jj,jk)) 
     747                                      (btra(ji,jj,jpdic_lc) * fse3t(ji,jj,jk)) 
    744748               ENDIF 
    745749               IF( med_diag%FBDDTDIFE%dgsave ) THEN 
    746750                  fbddtdife(ji,jj) =  fbddtdife(ji,jj) +                     & 
    747                                       (btra(ji,jj,jpfer) * fse3t(ji,jj,jk)) 
     751                                      (btra(ji,jj,jpfer_lc) * fse3t(ji,jj,jk)) 
    748752               ENDIF 
    749753               IF( med_diag%FBDDTDIN%dgsave )  THEN 
    750754                  fbddtdin(ji,jj)  =  fbddtdin(ji,jj)  +                     & 
    751                                       (btra(ji,jj,jpdin) * fse3t(ji,jj,jk)) 
     755                                      (btra(ji,jj,jpdin_lc) * fse3t(ji,jj,jk)) 
    752756               ENDIF 
    753757               IF( med_diag%FBDDTDISI%dgsave ) THEN 
    754758                  fbddtdisi(ji,jj) =  fbddtdisi(ji,jj) +                     & 
    755                                       (btra(ji,jj,jpsil) * fse3t(ji,jj,jk)) 
     759                                      (btra(ji,jj,jpsil_lc) * fse3t(ji,jj,jk)) 
    756760               ENDIF 
    757761          !! 
    758762               IF( med_diag%BDDTALK3%dgsave )  THEN 
    759                   bddtalk3(ji,jj,jk)  =  btra(ji,jj,jpalk) 
     763                  bddtalk3(ji,jj,jk)  =  btra(ji,jj,jpalk_lc) 
    760764               ENDIF 
    761765               IF( med_diag%BDDTDIC3%dgsave )  THEN 
    762                   bddtdic3(ji,jj,jk)  =  btra(ji,jj,jpdic) 
     766                  bddtdic3(ji,jj,jk)  =  btra(ji,jj,jpdic_lc) 
    763767               ENDIF 
    764768               IF( med_diag%BDDTDIFE3%dgsave ) THEN 
    765                   bddtdife3(ji,jj,jk) =  btra(ji,jj,jpfer) 
     769                  bddtdife3(ji,jj,jk) =  btra(ji,jj,jpfer_lc) 
    766770               ENDIF 
    767771               IF( med_diag%BDDTDIN3%dgsave )  THEN 
    768                   bddtdin3(ji,jj,jk)  =  btra(ji,jj,jpdin) 
     772                  bddtdin3(ji,jj,jk)  =  btra(ji,jj,jpdin_lc) 
    769773               ENDIF 
    770774               IF( med_diag%BDDTDISI3%dgsave ) THEN 
    771                   bddtdisi3(ji,jj,jk) =  btra(ji,jj,jpsil) 
     775                  bddtdisi3(ji,jj,jk) =  btra(ji,jj,jpsil_lc) 
    772776               ENDIF 
    773777            ENDIF 
     
    790794            if (tmask(ji,jj,jk) == 1) then 
    791795               !! 
    792                DO jn = 1,jptra 
     796               DO jn = 1,jp_medusa 
    793797                  fq0 = btra(ji,jj,jn) 
    794798                  !! AXY (30/01/14): "isnan" problem on HECTOR 
     
    801805                  endif 
    802806               ENDDO 
    803                DO jn = 1,jptra 
     807               DO jn = jp_msa0,jp_msa1 
    804808                  fq0 = tra(ji,jj,jk,jn) 
    805809                  !! AXY (30/01/14): "isnan" problem on HECTOR 
     
    818822# endif 
    819823 
    820       !!---------------------------------------------------------- 
    821       !! Check model conservation 
    822       !! these terms merely sum up the tendency terms of the relevant 
    823       !! state variables, which should sum to zero; the iron cycle is 
    824       !! complicated by fluxes that add (aeolian deposition and  
    825       !! seafloor remineralisation) and remove (scavenging) dissolved  
    826       !! iron from the model (i.e. the sum of iron fluxes is unlikely  
    827       !! to be zero) 
    828       !!---------------------------------------------------------- 
    829 !!      DO jj = 2,jpjm1 
    830 !!         DO ji = 2,jpim1 
    831 !!            if (tmask(ji,jj,jk) == 1) then 
    832                !! 
    833                !! fnit0 = btra(ji,jj,jpphn) + btra(ji,jj,jpphd) +             & 
    834                !!         btra(ji,jj,jpzmi) + btra(ji,jj,jpzme) +             & 
    835                !!         btra(ji,jj,jpdet) + btra(ji,jj,jpdin)  ! +          & 
    836                !!         ftempn(ji,jj) 
    837                !! fsil0 = btra(ji,jj,jppds) + btra(ji,jj,jpsil) ! +           & 
    838                !!         ftempsi(ji,jj) 
    839                !! ffer0 = (xrfn * fnit0) + btra(ji,jj,jpfer) 
    840 # if defined key_roam 
    841                !! fcar0 = 0. 
    842                !! falk0 = 0. 
    843                !! foxy0 = 0. 
    844 # endif 
    845                !! 
    846                !! if (kt/240*240.eq.kt) then 
    847                !!    if (ji.eq.2.and.jj.eq.2.and.jk.eq.1) then 
    848                !!       IF (lwp) write (*,*)                                  & 
    849                !!          '*******!MEDUSA Conservation!*******',kt 
    850 # if defined key_roam 
    851                !!       IF (lwp) write (*,*) fnit0,fsil0,ffer0,fcar0,falk0,   & 
    852                !!                            foxy0 
    853 # else 
    854                !!       IF (lwp) write (*,*) fnit0,fsil0,ffer0 
    855 # endif 
    856                !!    endif 
    857                !! endif      
    858  
    859 !!            ENDIF 
    860 !!         ENDDO 
    861 !!      ENDDO 
    862824 
    863825   END SUBROUTINE bio_medusa_update 
  • branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/par_medusa.F90

    r8345 r8372  
    9393# endif 
    9494 
     95   ! assign an index in trc arrays for each PTS prognostic variables 
     96   INTEGER, PUBLIC, PARAMETER ::   jpchn_lc  =  1      !: non-diatom chlorophyll concentration 
     97   INTEGER, PUBLIC, PARAMETER ::   jpchd_lc  =  2      !: diatom     chlorophyll concentration 
     98   INTEGER, PUBLIC, PARAMETER ::   jpphn_lc  =  3      !: non-diatom concentration 
     99   INTEGER, PUBLIC, PARAMETER ::   jpphd_lc  =  4      !: diatom     concentration 
     100   INTEGER, PUBLIC, PARAMETER ::   jpzmi_lc  =  5      !: microzooplankton concentration 
     101   INTEGER, PUBLIC, PARAMETER ::   jpzme_lc  =  6      !: mesozooplankton  concentration 
     102   INTEGER, PUBLIC, PARAMETER ::   jpdin_lc  =  7      !: dissolved inorganic nitrogen concentration 
     103   INTEGER, PUBLIC, PARAMETER ::   jpsil_lc  =  8      !: silicic acid concentration 
     104   INTEGER, PUBLIC, PARAMETER ::   jpfer_lc  =  9      !: total iron concentration 
     105   INTEGER, PUBLIC, PARAMETER ::   jpdet_lc  =  10     !: slow-sinking detritus concentration 
     106   INTEGER, PUBLIC, PARAMETER ::   jppds_lc  =  11     !: diatom silicon concentration 
     107# if defined key_roam 
     108   INTEGER, PUBLIC, PARAMETER ::   jpdtc_lc  =  12     !: slow-sinking detritus carbon concentration 
     109   INTEGER, PUBLIC, PARAMETER ::   jpdic_lc  =  13     !: dissolved inorganic carbon concentration 
     110   INTEGER, PUBLIC, PARAMETER ::   jpalk_lc  =  14     !: alkalinity 
     111   INTEGER, PUBLIC, PARAMETER ::   jpoxy_lc  =  15     !: dissolved oxygen concentration 
     112# endif 
     113 
    95114#else 
    96115   !!--------------------------------------------------------------------- 
  • branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90

    r8352 r8372  
    8282                                            nday_year, nsec_day, nyear,     & 
    8383                                            rdt, tmask 
    84       USE in_out_manager,             ONLY: lwp, numout 
     84      USE in_out_manager,             ONLY: lwp, numout, nn_date0 
    8585# if defined key_iomput 
    8686      USE iom,                        ONLY: lk_iomput 
     
    9999      USE sbc_oce,                    ONLY: lk_oasis 
    100100      USE sms_medusa,                 ONLY: hist_pco2 
    101       USE trc,                        ONLY: ln_diatrc, ln_rsttr,            & 
    102                                             nittrc000, trn 
    103   
     101      USE trc,                        ONLY: ln_rsttr, nittrc000, trn 
    104102      USE bio_medusa_init_mod,        ONLY: bio_medusa_init 
    105103      USE carb_chem_mod,              ONLY: carb_chem 
     
    242240 
    243241# if defined key_axy_nancheck 
    244        DO jn = 1,jptra 
     242       DO jn = jp_msa0,jp_msa1 
    245243          !! fq0 = MINVAL(trn(:,:,:,jn)) 
    246244          !! fq1 = MAXVAL(trn(:,:,:,jn)) 
     
    640638         !! 2d specific k level diags 
    641639         !!------------------------------------------------------- 
    642          IF( lk_iomput  .AND.  .NOT.  ln_diatrc  ) THEN 
     640         IF( lk_iomput ) THEN 
    643641            CALL bio_medusa_diag_slice( jk ) 
    644642         ENDIF 
     
    651649      !!------------------------------------------------------------------ 
    652650      CALL bio_medusa_fin( kt ) 
    653  
    654 # if defined key_trc_diabio 
    655        !! Lateral boundary conditions on trcbio 
    656        DO jn=1,jp_medusa_trd 
    657           CALL lbc_lnk(trbio(:,:,1,jn),'T',1. ) 
    658        ENDDO  
    659 # endif 
    660651 
    661652# if defined key_debug_medusa 
  • branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcnam_medusa.F90

    r8131 r8372  
    9393      INTEGER :: jl, jn 
    9494      INTEGER :: ios                 ! Local integer output status for namelist read 
    95       TYPE(DIAG), DIMENSION(jp_medusa_2d)  :: meddia2d 
    96       TYPE(DIAG), DIMENSION(jp_medusa_3d)  :: meddia3d 
    97       TYPE(DIAG), DIMENSION(jp_medusa_trd) :: meddiabio 
    9895      CHARACTER(LEN=32)   ::   clname 
    9996      !! 
    100       NAMELIST/nammeddia/ meddia3d, meddia2d     ! additional diagnostics 
    101  
    10297      !!---------------------------------------------------------------------- 
    10398 
     
    126121# if defined key_debug_medusa 
    127122      CALL flush(numout) 
    128 # endif 
    129       ! 
    130 # if defined key_debug_medusa 
    131       IF (lwp) write (numout,*) '------------------------------' 
    132       IF (lwp) write (numout,*) 'Jpalm - debug' 
    133       IF (lwp) write (numout,*) 'Just before reading namelist_medusa :: nammeddia' 
    134       IF (lwp) write (numout,*) ' ' 
    135       CALL flush(numout) 
    136 # endif 
    137  
    138      IF( ( .NOT.lk_iomput .AND. ln_diatrc ) .OR. ( ln_diatrc .AND. lk_medusa ) ) THEN 
    139          ! 
    140          ! Namelist nammeddia 
    141          ! ------------------- 
    142          REWIND( numnatp_ref )              ! Namelist nammeddia in reference namelist : MEDUSA diagnostics 
    143          READ  ( numnatp_ref, nammeddia, IOSTAT = ios, ERR = 901) 
    144 901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammeddia in reference namelist', lwp ) 
    145  
    146          REWIND( numnatp_cfg )              ! Namelist nammeddia in configuration namelist : MEDUSA diagnostics 
    147          READ  ( numnatp_cfg, nammeddia, IOSTAT = ios, ERR = 902 ) 
    148 902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammeddia in configuration namelist', lwp ) 
    149          IF(lwm) WRITE ( numonp, nammeddia ) 
    150  
    151 # if defined key_debug_medusa 
    152          IF (lwp) write (numout,*) '------------------------------' 
    153          IF (lwp) write (numout,*) 'Jpalm - debug' 
    154          IF (lwp) write (numout,*) 'reading namelist_medusa :: nammeddia OK' 
    155          IF (lwp) write (numout,*) 'Check number of variable in nammeddia:' 
    156          IF (lwp) write (numout,*) 'jp_medusa_2d: ',jp_medusa_2d ,'jp_medusa_3d: ',jp_medusa_3d 
    157          IF (lwp) write (numout,*) ' ' 
    158          CALL flush(numout) 
    159 # endif 
    160          DO jl = 1, jp_medusa_2d 
    161             jn = jp_msa0_2d + jl - 1 
    162 # if defined key_debug_medusa 
    163             IF (lwp) write (numout,*) 'Check what is readden in nammeddia: -- 2D' 
    164             IF (lwp) write (numout,*) jl,'meddia2d-sname: ',meddia2d(jl)%sname  
    165             IF (lwp) write (numout,*) jl,'meddia2d-lname: ',meddia2d(jl)%lname  
    166             IF (lwp) write (numout,*) jl,'meddia2d-units: ',meddia2d(jl)%units  
    167             CALL flush(numout) 
    168 # endif 
    169             ctrc2d(jn) = meddia2d(jl)%sname 
    170             ctrc2l(jn) = meddia2d(jl)%lname 
    171             ctrc2u(jn) = meddia2d(jl)%units 
    172          END DO 
    173  
    174          DO jl = 1, jp_medusa_3d 
    175             jn = jp_msa0_3d + jl - 1 
    176 # if defined key_debug_medusa 
    177             IF (lwp) write (numout,*) 'Check what is readden in nammeddia: -- 3D' 
    178             IF (lwp) write (numout,*) jl,'meddia3d-sname: ',meddia3d(jl)%sname  
    179             IF (lwp) write (numout,*) jl,'meddia3d-lname: ',meddia3d(jl)%lname 
    180             IF (lwp) write (numout,*) jl,'meddia3d-units: ',meddia3d(jl)%units 
    181             CALL flush(numout) 
    182 # endif 
    183             ctrc3d(jn) = meddia3d(jl)%sname 
    184             ctrc3l(jn) = meddia3d(jl)%lname 
    185             ctrc3u(jn) = meddia3d(jl)%units 
    186          END DO 
    187  
    188          IF(lwp) THEN                   ! control print 
    189 # if defined key_debug_medusa 
    190             IF (lwp) write (numout,*) '------------------------------' 
    191             IF (lwp) write (numout,*) 'Jpalm - debug' 
    192             IF (lwp) write (numout,*) 'Var name assignation OK' 
    193             IF (lwp) write (numout,*) 'next check var names' 
    194             IF (lwp) write (numout,*) ' ' 
    195             CALL flush(numout) 
    196 # endif 
    197             WRITE(numout,*) 
    198             WRITE(numout,*) ' Namelist : natadd' 
    199             DO jl = 1, jp_medusa_3d 
    200                jn = jp_msa0_3d + jl - 1 
    201                WRITE(numout,*) '  3d diag nb : ', jn, '    short name : ', ctrc3d(jn), & 
    202                  &             '  long name  : ', ctrc3l(jn), '   unit : ', ctrc3u(jn) 
    203             END DO 
    204             WRITE(numout,*) ' ' 
    205  
    206             DO jl = 1, jp_medusa_2d 
    207                jn = jp_msa0_2d + jl - 1 
    208                WRITE(numout,*) '  2d diag nb : ', jn, '    short name : ', ctrc2d(jn), & 
    209                  &             '  long name  : ', ctrc2l(jn), '   unit : ', ctrc2u(jn) 
    210             END DO 
    211             WRITE(numout,*) ' ' 
    212          ENDIF 
    213          ! 
    214       ENDIF    
    215          ! 
    216 # if defined key_debug_medusa 
    217             CALL flush(numout) 
    218123# endif 
    219124 
  • branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsed_medusa.F90

    r8074 r8372  
    4545 
    4646   !! * Module variables 
    47    INTEGER ::                   & 
    48      ryyss,                     &  !: number of seconds per year 
    49      rmtss                         !: number of seconds per month 
     47   !! INTEGER ::                   & 
     48     !! ryyss,                     &  !: number of seconds per year 
     49     !! rmtss                         !: number of seconds per month 
    5050 
    5151   !! AXY (10/02/09) 
     
    123123 
    124124      ! Number of seconds per year and per month 
    125       ryyss = nyear_len(1) * rday 
    126       rmtss = ryyss / raamo 
     125      !! ryyss = nyear_len(1) * rday 
     126      !! rmtss = ryyss / raamo 
    127127 
    128128      !! AXY (20/11/14): alter this to report on first MEDUSA call 
     
    173173               ztra  = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 
    174174               tra(ji,jj,jk,jpdet) = tra(ji,jj,jk,jpdet) + ztra 
    175 # if defined key_trc_diabio 
    176                trbio(ji,jj,jk,8) = ztra 
    177 # endif 
    178                IF (lk_iomput .AND. .NOT. ln_diatrc) THEN 
    179                      IF( med_diag%DSED%dgsave ) THEN 
    180                          zw2d(ji,jj) = zw2d(ji,jj) + ztra * fse3t(ji,jj,jk) * 86400. 
    181                       ENDIF    
    182                ELSE IF( ln_diatrc )  THEN 
    183                     trc2d(ji,jj,8) = trc2d(ji,jj,8) + ztra * fse3t(ji,jj,jk) * 86400. 
    184                ENDIF     
     175               IF( med_diag%DSED%dgsave ) THEN 
     176                   zw2d(ji,jj) = zw2d(ji,jj) + ztra * fse3t(ji,jj,jk) * 86400. 
     177               ENDIF    
    185178                 
    186179            END DO 
     
    188181      END DO 
    189182      ! 
    190 # if defined key_trc_diabio 
    191       CALL lbc_lnk (trbio(:,:,1,8), 'T', 1. )                    ! Lateral boundary conditions on trcbio 
    192 # endif 
    193       IF( ln_diatrc ) CALL lbc_lnk( trc2d(:,:,8), 'T', 1. )      ! Lateral boundary conditions on trc2d 
    194       !! 
    195       IF (lk_iomput .AND. .NOT. ln_diatrc) THEN 
    196            IF( med_diag%DSED%dgsave ) THEN 
    197                 CALL iom_put( "DSED"  ,  zw2d) 
    198                 CALL wrk_dealloc( jpi, jpj,    zw2d  ) 
    199             ENDIF 
    200       ELSE IF (lk_iomput .AND. ln_diatrc)  THEN     
    201           CALL iom_put( "DSED",trc2d(:,:,8) ) 
     183      IF( med_diag%DSED%dgsave ) THEN 
     184           CALL iom_put( "DSED"  ,  zw2d) 
     185           CALL wrk_dealloc( jpi, jpj,    zw2d  ) 
    202186      ENDIF 
    203187      !! 
     
    229213               ztra  = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 
    230214               tra(ji,jj,jk,jpdtc) = tra(ji,jj,jk,jpdtc) + ztra 
    231 !! #  if defined key_trc_diabio 
    232 !!                trbio(ji,jj,jk,8) = ztra 
    233 !! #  endif 
    234 !!             IF( ln_diatrc ) & 
    235 !!                &  trc2d(ji,jj,8) = trc2d(ji,jj,8) + ztra * fse3t(ji,jj,jk) * 86400. 
    236215            END DO 
    237216         END DO 
    238217      END DO 
    239218      ! 
    240 !! #  if defined key_trc_diabio 
    241 !!       CALL lbc_lnk (trbio(:,:,1,8), 'T', 1. )                    ! Lateral boundary conditions on trcbio 
    242 !! #  endif 
    243 !!       IF( ln_diatrc ) CALL lbc_lnk( trc2d(:,:,8), 'T', 1. )      ! Lateral boundary conditions on trc2d 
    244 !! #  if defined key_iomput 
    245 !!       CALL iom_put( "DSED",trc2d(:,:,8) ) 
    246 !! #  endif 
    247219 
    248220# endif 
Note: See TracChangeset for help on using the changeset viewer.