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 7041 for branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z – NEMO

Ignore:
Timestamp:
2016-10-19T12:55:07+02:00 (8 years ago)
Author:
cetlod
Message:

ROBUST5_CNRS : implementation of part I of new TOP interface - 1st step -, see ticket #1782

Location:
branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90

    r6140 r7041  
    99   !!             2.0  !  2007-12  (C. Deltel, G. Madec)  F90 
    1010   !!---------------------------------------------------------------------- 
    11 #if defined key_pisces_reduced 
     11#if defined key_pisces 
    1212   !!---------------------------------------------------------------------- 
    13    !!   'key_pisces_reduced'                                     LOBSTER bio-model 
     13   !!   'key_pisces'                                     LOBSTER bio-model 
    1414   !!---------------------------------------------------------------------- 
    1515   !!   p2z_bio        :   
     
    8686      !!                                  source      sink 
    8787      !!         
    88       !!              IF 'key_diabio' defined , the biogeochemical trends 
    89       !!              for passive tracers are saved for futher diagnostics. 
    9088      !!--------------------------------------------------------------------- 
    9189      !! 
     
    109107      IF( nn_timing == 1 )  CALL timing_start('p2z_bio') 
    110108      ! 
    111       IF( ln_diatrc .OR. lk_iomput ) THEN 
     109      IF( lk_iomput ) THEN 
    112110         CALL wrk_alloc( jpi, jpj,     17, zw2d ) 
    113111         CALL wrk_alloc( jpi, jpj, jpk, 3, zw3d ) 
     
    121119 
    122120      xksi(:,:) = 0.e0        ! zooplakton closure ( fbod) 
    123       IF( ln_diatrc .OR. lk_iomput ) THEN 
     121      IF( lk_iomput ) THEN 
    124122         zw2d  (:,:,:) = 0.e0 
    125123         zw3d(:,:,:,:) = 0.e0 
     
    218216               tra(ji,jj,jk,jpdom) = tra(ji,jj,jk,jpdom) + zdoma 
    219217 
    220  
    221                IF( ( ln_diabio .AND. .NOT. lk_iomput ) .OR. l_trdtrc ) THEN 
    222                   trbio(ji,jj,jk,jp_pcs0_trd     ) = zno3phy 
    223                   trbio(ji,jj,jk,jp_pcs0_trd +  1) = znh4phy 
    224                   trbio(ji,jj,jk,jp_pcs0_trd +  2) = zphynh4 
    225                   trbio(ji,jj,jk,jp_pcs0_trd +  3) = zphydom 
    226                   trbio(ji,jj,jk,jp_pcs0_trd +  4) = zphyzoo 
    227                   trbio(ji,jj,jk,jp_pcs0_trd +  5) = zphydet 
    228                   trbio(ji,jj,jk,jp_pcs0_trd +  6) = zdetzoo 
    229                   !  trend number 8 in p2zsed 
    230                   trbio(ji,jj,jk,jp_pcs0_trd +  8) = zzoodet 
    231                   trbio(ji,jj,jk,jp_pcs0_trd +  9) = zzoobod 
    232                   trbio(ji,jj,jk,jp_pcs0_trd + 10) = zzoonh4 
    233                   trbio(ji,jj,jk,jp_pcs0_trd + 11) = zzoodom 
    234                   trbio(ji,jj,jk,jp_pcs0_trd + 12) = znh4no3 
    235                   trbio(ji,jj,jk,jp_pcs0_trd + 13) = zdomnh4 
    236                   trbio(ji,jj,jk,jp_pcs0_trd + 14) = zdetnh4 
    237                   trbio(ji,jj,jk,jp_pcs0_trd + 15) = zdetdom 
    238                   !  trend number 17 in p2zexp 
    239                 ENDIF 
    240                 IF( ln_diatrc .OR. lk_iomput ) THEN 
     218                IF( lk_iomput ) THEN 
    241219                  ! convert fluxes in per day 
    242220                  ze3t = e3t_n(ji,jj,jk) * 86400._wp 
     
    340318               tra(ji,jj,jk,jpdom) = tra(ji,jj,jk,jpdom) + zdoma 
    341319               ! 
    342                IF( ( ln_diabio .AND. .NOT. lk_iomput ) .OR. l_trdtrc ) THEN 
    343                   trbio(ji,jj,jk,jp_pcs0_trd     ) = zno3phy 
    344                   trbio(ji,jj,jk,jp_pcs0_trd +  1) = znh4phy 
    345                   trbio(ji,jj,jk,jp_pcs0_trd +  2) = zphynh4 
    346                   trbio(ji,jj,jk,jp_pcs0_trd +  3) = zphydom 
    347                   trbio(ji,jj,jk,jp_pcs0_trd +  4) = zphyzoo 
    348                   trbio(ji,jj,jk,jp_pcs0_trd +  5) = zphydet 
    349                   trbio(ji,jj,jk,jp_pcs0_trd +  6) = zdetzoo 
    350                   !  trend number 8 in p2zsed 
    351                   trbio(ji,jj,jk,jp_pcs0_trd +  8) = zzoodet 
    352                   trbio(ji,jj,jk,jp_pcs0_trd +  9) = zzoobod 
    353                   trbio(ji,jj,jk,jp_pcs0_trd + 10) = zzoonh4 
    354                   trbio(ji,jj,jk,jp_pcs0_trd + 11) = zzoodom 
    355                   trbio(ji,jj,jk,jp_pcs0_trd + 12) = znh4no3 
    356                   trbio(ji,jj,jk,jp_pcs0_trd + 13) = zdomnh4 
    357                   trbio(ji,jj,jk,jp_pcs0_trd + 14) = zdetnh4 
    358                   trbio(ji,jj,jk,jp_pcs0_trd + 15) = zdetdom 
    359                   !  trend number 17 in p2zexp  
    360                 ENDIF 
    361                 IF( ln_diatrc .OR. lk_iomput ) THEN 
     320                IF( lk_iomput ) THEN 
    362321                  ! convert fluxes in per day 
    363322                  ze3t = e3t_n(ji,jj,jk) * 86400._wp 
     
    389348      END DO 
    390349 
    391       IF( ln_diatrc .OR. lk_iomput ) THEN 
     350      IF( lk_iomput ) THEN 
    392351         DO jl = 1, 17  
    393352            CALL lbc_lnk( zw2d(:,:,jl),'T', 1. ) 
     
    420379        CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 
    421380         ! 
    422        ELSE 
    423           IF( ln_diatrc ) THEN 
    424             ! 
    425             trc2d(:,:,jp_pcs0_2d    ) = zw2d(:,:,1)  
    426             trc2d(:,:,jp_pcs0_2d + 1) = zw2d(:,:,2)  
    427             trc2d(:,:,jp_pcs0_2d + 2) = zw2d(:,:,3)  
    428             trc2d(:,:,jp_pcs0_2d + 3) = zw2d(:,:,4)  
    429             trc2d(:,:,jp_pcs0_2d + 4) = zw2d(:,:,5)  
    430             trc2d(:,:,jp_pcs0_2d + 5) = zw2d(:,:,6)  
    431             trc2d(:,:,jp_pcs0_2d + 6) = zw2d(:,:,7)  
    432                      ! trend number 8 is in p2zsed.F 
    433             trc2d(:,:,jp_pcs0_2d +  8) = zw2d(:,:,8)  
    434             trc2d(:,:,jp_pcs0_2d +  9) = zw2d(:,:,9)  
    435             trc2d(:,:,jp_pcs0_2d + 10) = zw2d(:,:,10)  
    436             trc2d(:,:,jp_pcs0_2d + 11) = zw2d(:,:,11)  
    437             trc2d(:,:,jp_pcs0_2d + 12) = zw2d(:,:,12)  
    438             trc2d(:,:,jp_pcs0_2d + 13) = zw2d(:,:,13)  
    439             trc2d(:,:,jp_pcs0_2d + 14) = zw2d(:,:,14)  
    440             trc2d(:,:,jp_pcs0_2d + 15) = zw2d(:,:,15)  
    441             trc2d(:,:,jp_pcs0_2d + 16) = zw2d(:,:,16)  
    442             trc2d(:,:,jp_pcs0_2d + 17) = zw2d(:,:,17)  
    443             ! trend number 19 is in p2zexp.F 
    444             trc3d(:,:,:,jp_pcs0_3d    ) = zw3d(:,:,:,1)  
    445             trc3d(:,:,:,jp_pcs0_3d + 1) = zw3d(:,:,:,2)  
    446             trc3d(:,:,:,jp_pcs0_3d + 2) = zw3d(:,:,:,3)  
    447          ENDIF 
    448         ! 
    449       ENDIF 
    450  
    451       IF( ln_diabio .AND. .NOT. lk_iomput )  THEN 
    452          DO jl = jp_pcs0_trd, jp_pcs1_trd 
    453             CALL lbc_lnk( trbio(:,:,1,jl),'T', 1. ) 
    454          END DO  
    455       ENDIF 
    456       ! 
    457       IF( l_trdtrc ) THEN 
    458          DO jl = jp_pcs0_trd, jp_pcs1_trd 
    459             CALL trd_trc( trbio(:,:,:,jl), jl, kt )   ! handle the trend 
    460          END DO 
    461381      ENDIF 
    462382 
     
    467387      ENDIF 
    468388      ! 
    469       IF( ln_diatrc .OR. lk_iomput ) THEN 
     389      IF( lk_iomput ) THEN 
    470390         CALL wrk_dealloc( jpi, jpj,     17, zw2d ) 
    471391         CALL wrk_dealloc( jpi, jpj, jpk, 3, zw3d ) 
  • branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zexp.F90

    r6140 r7041  
    1010   !!             3.5  !  2012-03  (C. Ethe)  Merge PISCES-LOBSTER 
    1111   !!---------------------------------------------------------------------- 
    12 #if defined key_pisces_reduced 
    13    !!---------------------------------------------------------------------- 
    14    !!   'key_pisces_reduced'                                     LOBSTER bio-model 
     12#if defined key_pisces 
     13   !!---------------------------------------------------------------------- 
     14   !!   'key_pisces'                                     LOBSTER bio-model 
    1515   !!---------------------------------------------------------------------- 
    1616   !!   p2z_exp        :  Compute loss of organic matter in the sediments 
     
    6868      INTEGER  ::   ji, jj, jk, jl, ikt 
    6969      REAL(wp) ::   zgeolpoc, zfact, zwork, ze3t, zsedpocd, zmaskt 
    70       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrbio 
    7170      REAL(wp), POINTER, DIMENSION(:,:)   ::  zsedpoca 
    7271      CHARACTER (len=25) :: charout 
     
    8079      zsedpoca(:,:) = 0. 
    8180 
    82       IF( l_trdtrc )  THEN 
    83          CALL wrk_alloc( jpi, jpj, jpk, ztrbio )   ! temporary save of trends 
    84          ztrbio(:,:,:) = tra(:,:,:,jpno3) 
    85       ENDIF 
    8681 
    8782      ! VERTICAL DISTRIBUTION OF NEWLY PRODUCED BIOGENIC 
     
    126121  
    127122      ! Oa & Ek: diagnostics depending on jpdia2d !          left as example 
    128       IF( lk_iomput ) THEN   
    129          CALL iom_put( "SEDPOC" , sedpocn ) 
    130       ELSE 
    131          IF( ln_diatrc )           trc2d(:,:,jp_pcs0_2d + 18) = sedpocn(:,:) 
    132       ENDIF 
     123      IF( lk_iomput )  CALL iom_put( "SEDPOC" , sedpocn ) 
    133124 
    134125       
     
    160151      ENDIF 
    161152      ! 
    162       IF( l_trdtrc ) THEN 
    163          ztrbio(:,:,:) = tra(:,:,:,jpno3) - ztrbio(:,:,:) 
    164          jl = jp_pcs0_trd + 16 
    165          CALL trd_trc( ztrbio, jl, kt )   ! handle the trend 
    166          CALL wrk_dealloc( jpi, jpj, jpk, ztrbio )   ! temporary save of trends 
    167       ENDIF 
    168       ! 
    169153      CALL wrk_dealloc( jpi, jpj, zsedpoca)   ! temporary save of trends 
    170154 
  • branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zopt.F90

    r6140 r7041  
    1111   !!             3.2  !  2009-04  (C. Ethe, G. Madec)  minor optimisation + style 
    1212   !!---------------------------------------------------------------------- 
    13 #if defined key_pisces_reduced 
    14    !!---------------------------------------------------------------------- 
    15    !!   'key_pisces_reduced'                                     LOBSTER bio-model 
     13#if defined key_pisces 
     14   !!---------------------------------------------------------------------- 
     15   !!   'key_pisces'                                     LOBSTER bio-model 
    1616   !!---------------------------------------------------------------------- 
    1717   !!   p2z_opt        :   Compute the light availability in the water column 
  • branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90

    r6140 r7041  
    88   !!             2.0  !  2007-12  (C. Deltel, G. Madec)  F90 + simplifications 
    99   !!---------------------------------------------------------------------- 
    10 #if defined key_pisces_reduced 
     10#if defined key_pisces 
    1111   !!---------------------------------------------------------------------- 
    12    !!   'key_pisces_reduced'                                     LOBSTER bio-model 
     12   !!   'key_pisces'                                     LOBSTER bio-model 
    1313   !!---------------------------------------------------------------------- 
    1414   !!   p2z_sed        :  Compute loss of organic matter in the sediments 
     
    6666      CHARACTER (len=25) :: charout 
    6767      REAL(wp), POINTER, DIMENSION(:,:  ) :: zw2d 
    68       REAL(wp), POINTER, DIMENSION(:,:,:) :: zwork, ztra, ztrbio 
     68      REAL(wp), POINTER, DIMENSION(:,:,:) :: zwork, ztra 
    6969      !!--------------------------------------------------------------------- 
    7070      ! 
     
    7979      ! Allocate temporary workspace 
    8080      CALL wrk_alloc( jpi, jpj, jpk, zwork, ztra ) 
    81       IF( l_trdtrc ) THEN 
    82          CALL wrk_alloc( jpi, jpj, jpk, ztrbio ) 
    83          ztrbio(:,:,:) = tra(:,:,:,jpdet) 
    84       ENDIF 
    8581 
    8682      ! sedimentation of detritus  : upstream scheme 
     
    116112            CALL wrk_dealloc( jpi, jpj, zw2d ) 
    117113         ENDIF 
    118       ELSE 
    119          IF( ln_diatrc ) THEN  
    120             CALL wrk_alloc( jpi, jpj, zw2d ) 
    121             zw2d(:,:) =  ztra(:,:,1) * e3t_n(:,:,1) * 86400._wp 
    122             DO jk = 2, jpkm1 
    123                zw2d(:,:) = zw2d(:,:) + ztra(:,:,jk) * e3t_n(:,:,jk) * 86400._wp 
    124             END DO 
    125             trc2d(:,:,jp_pcs0_2d + 7) = zw2d(:,:) 
    126             CALL wrk_dealloc( jpi, jpj, zw2d ) 
    127          ENDIF 
    128114      ENDIF 
    129115      ! 
    130       IF( ln_diabio .AND. .NOT. lk_iomput )  trbio(:,:,:,jp_pcs0_trd + 7) = ztra(:,:,:) 
    131116      CALL wrk_dealloc( jpi, jpj, jpk, zwork, ztra ) 
    132117      ! 
    133       IF( l_trdtrc ) THEN 
    134          ztrbio(:,:,:) = tra(:,:,:,jpdet) - ztrbio(:,:,:) 
    135          jl = jp_pcs0_trd + 7 
    136          CALL trd_trc( ztrbio, jl, kt )   ! handle the trend 
    137          CALL wrk_dealloc( jpi, jpj, jpk, ztrbio ) 
    138       ENDIF 
    139118 
    140119      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
  • branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsms.F90

    r5656 r7041  
    77   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture 
    88   !!---------------------------------------------------------------------- 
    9 #if defined key_pisces_reduced 
     9#if defined key_pisces 
    1010   !!---------------------------------------------------------------------- 
    11    !!   'key_pisces_reduced'                              LOBSTER bio-model 
     11   !!   'key_pisces'                              LOBSTER bio-model 
    1212   !!---------------------------------------------------------------------- 
    1313   !!   p2zsms        :  Time loop of passive tracers sms 
Note: See TracChangeset for help on using the changeset viewer.