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 9169 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90 – NEMO

Ignore:
Timestamp:
2017-12-26T17:32:56+01:00 (6 years ago)
Author:
gm
Message:

dev_merge_2017: all SRC: finalize the removal of useless warning when reading namelist_cfg + remove all nn_closea + nn_msh replaced by a logical

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90

    r9125 r9169  
    77   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90 
    88   !!---------------------------------------------------------------------- 
    9    !!   p4zsms         : Time loop of passive tracers sms 
     9   !!   p4z_sms        : Time loop of passive tracers sms 
    1010   !!---------------------------------------------------------------------- 
    11    USE oce_trc         !  shared variables between ocean and passive tracers 
    12    USE trc             !  passive tracers common variables  
    13    USE trcdta 
    14    USE sms_pisces      !  PISCES Source Minus Sink variables 
    15    USE p4zbio          !  Biological model 
    16    USE p4zche          !  Chemical model 
    17    USE p4zlys          !  Calcite saturation 
    18    USE p4zflx          !  Gas exchange 
    19    USE p4zsbc          !  External source of nutrients 
    20    USE p4zsed          !  Sedimentation 
    21    USE p4zint          !  time interpolation 
    22    USE p4zrem          !  remineralisation 
    23    USE iom             !  I/O manager 
    24    USE trd_oce         !  Ocean trends variables 
    25    USE trdtrc          !  TOP trends variables 
    26    USE sedmodel        !  Sediment model 
    27    USE prtctl_trc      !  print control for debugging 
     11   USE oce_trc         ! shared variables between ocean and passive tracers 
     12   USE trc             ! passive tracers common variables  
     13   USE trcdta          !  
     14   USE sms_pisces      ! PISCES Source Minus Sink variables 
     15   USE p4zbio          ! Biological model 
     16   USE p4zche          ! Chemical model 
     17   USE p4zlys          ! Calcite saturation 
     18   USE p4zflx          ! Gas exchange 
     19   USE p4zsbc          ! External source of nutrients 
     20   USE p4zsed          ! Sedimentation 
     21   USE p4zint          ! time interpolation 
     22   USE p4zrem          ! remineralisation 
     23   USE iom             ! I/O manager 
     24   USE trd_oce         ! Ocean trends variables 
     25   USE trdtrc          ! TOP trends variables 
     26   USE sedmodel        ! Sediment model 
     27   USE prtctl_trc      ! print control for debugging 
    2828 
    2929   IMPLICIT NONE 
     
    3333   PUBLIC   p4z_sms        ! called in p4zsms.F90 
    3434 
    35    REAL(wp) :: alkbudget, no3budget, silbudget, ferbudget, po4budget 
    36    REAL(wp) :: xfact1, xfact2, xfact3 
    37    INTEGER ::  numco2, numnut, numnit  !: logical unit for co2 budget 
    38  
    39    !!* Array used to indicate negative tracer values 
    40    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   xnegtr     !: ??? 
     35   INTEGER ::    numco2, numnut, numnit      ! logical unit for co2 budget 
     36   REAL(wp) ::   alkbudget, no3budget, silbudget, ferbudget, po4budget 
     37   REAL(wp) ::   xfact1, xfact2, xfact3 
     38 
     39   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   xnegtr     ! Array used to indicate negative tracer values 
    4140 
    4241   !!---------------------------------------------------------------------- 
     
    4544   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    4645   !!---------------------------------------------------------------------- 
    47  
    4846CONTAINS 
    4947 
     
    197195      NAMELIST/nampismass/ ln_check_mass 
    198196      !!---------------------------------------------------------------------- 
     197      ! 
     198      IF(lwp) THEN 
     199         WRITE(numout,*) 
     200         WRITE(numout,*) 'p4z_sms_init : PISCES initialization' 
     201         WRITE(numout,*) '~~~~~~~~~~~~' 
     202      ENDIF 
    199203 
    200204      REWIND( numnatp_ref )              ! Namelist nampisbio in reference namelist : Pisces variables 
    201205      READ  ( numnatp_ref, nampisbio, IOSTAT = ios, ERR = 901) 
    202 901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisbio in reference namelist', lwp ) 
    203  
     206901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampisbio in reference namelist', lwp ) 
    204207      REWIND( numnatp_cfg )              ! Namelist nampisbio in configuration namelist : Pisces variables 
    205208      READ  ( numnatp_cfg, nampisbio, IOSTAT = ios, ERR = 902 ) 
    206 902   IF( ios >  0 ) CALL ctl_nam ( ios , 'nampisbio in configuration namelist', lwp ) 
    207       IF(lwm) WRITE ( numonp, nampisbio ) 
    208  
     209902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampisbio in configuration namelist', lwp ) 
     210      IF(lwm) WRITE( numonp, nampisbio ) 
     211      ! 
    209212      IF(lwp) THEN                         ! control print 
    210          WRITE(numout,*) ' Namelist : nampisbio' 
    211          WRITE(numout,*) '    frequence pour la biologie                nrdttrc    =', nrdttrc 
    212          WRITE(numout,*) '    POC sinking speed                         wsbio      =', wsbio 
    213          WRITE(numout,*) '    half saturation constant for mortality    xkmort     =', xkmort  
     213         WRITE(numout,*) '   Namelist : nampisbio' 
     214         WRITE(numout,*) '      frequency for the biology                 nrdttrc     =', nrdttrc 
     215         WRITE(numout,*) '      POC sinking speed                         wsbio       =', wsbio 
     216         WRITE(numout,*) '      half saturation constant for mortality    xkmort      =', xkmort  
    214217         IF( ln_p5z ) THEN 
    215             WRITE(numout,*) '    N/C in zooplankton                        no3rat3    =', no3rat3 
    216             WRITE(numout,*) '    P/C in zooplankton                        po4rat3    =', po4rat3 
    217          ENDIF 
    218          WRITE(numout,*) '    Fe/C in zooplankton                       ferat3     =', ferat3 
    219          WRITE(numout,*) '    Big particles sinking speed               wsbio2     =', wsbio2 
    220          WRITE(numout,*) '    Big particles maximum sinking speed       wsbio2max  =', wsbio2max 
    221          WRITE(numout,*) '    Big particles sinking speed length scale  wsbio2scale =', wsbio2scale 
    222          WRITE(numout,*) '    Maximum number of iterations for POC      niter1max =', niter1max 
    223          WRITE(numout,*) '    Maximum number of iterations for GOC      niter2max =', niter2max 
     218            WRITE(numout,*) '      N/C in zooplankton                        no3rat3     =', no3rat3 
     219            WRITE(numout,*) '      P/C in zooplankton                        po4rat3     =', po4rat3 
     220         ENDIF 
     221         WRITE(numout,*) '      Fe/C in zooplankton                       ferat3      =', ferat3 
     222         WRITE(numout,*) '      Big particles sinking speed               wsbio2      =', wsbio2 
     223         WRITE(numout,*) '      Big particles maximum sinking speed       wsbio2max   =', wsbio2max 
     224         WRITE(numout,*) '      Big particles sinking speed length scale  wsbio2scale =', wsbio2scale 
     225         WRITE(numout,*) '      Maximum number of iterations for POC      niter1max  =', niter1max 
     226         WRITE(numout,*) '      Maximum number of iterations for GOC      niter2max  =', niter2max 
    224227         IF( ln_ligand ) THEN 
    225             WRITE(numout,*) '    FeP sinking speed                             wfep   =', wfep 
     228            WRITE(numout,*) '      FeP sinking speed                              wfep   =', wfep 
    226229            IF( ln_p4z ) THEN 
    227               WRITE(numout,*) '    Phyto ligand production per unit doc          ldocp  =', ldocp 
    228               WRITE(numout,*) '    Zoo ligand production per unit doc            ldocz  =', ldocz 
    229               WRITE(numout,*) '    Proportional loss of ligands due to Fe uptake lthet  =', lthet 
     230               WRITE(numout,*) '      Phyto ligand production per unit doc           ldocp  =', ldocp 
     231               WRITE(numout,*) '      Zoo ligand production per unit doc             ldocz  =', ldocz 
     232               WRITE(numout,*) '      Proportional loss of ligands due to Fe uptake lthet  =', lthet 
    230233            ENDIF 
    231234         ENDIF 
     
    235238      REWIND( numnatp_ref )              ! Namelist nampisdmp in reference namelist : Pisces damping 
    236239      READ  ( numnatp_ref, nampisdmp, IOSTAT = ios, ERR = 905) 
    237 905   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdmp in reference namelist', lwp ) 
    238  
     240905   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampisdmp in reference namelist', lwp ) 
    239241      REWIND( numnatp_cfg )              ! Namelist nampisdmp in configuration namelist : Pisces damping 
    240242      READ  ( numnatp_cfg, nampisdmp, IOSTAT = ios, ERR = 906 ) 
    241 906   IF( ios >  0 ) CALL ctl_nam ( ios , 'nampisdmp in configuration namelist', lwp ) 
    242       IF(lwm) WRITE ( numonp, nampisdmp ) 
    243  
     243906   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampisdmp in configuration namelist', lwp ) 
     244      IF(lwm) WRITE( numonp, nampisdmp ) 
     245      ! 
    244246      IF(lwp) THEN                         ! control print 
    245247         WRITE(numout,*) 
    246          WRITE(numout,*) ' Namelist : nampisdmp' 
    247          WRITE(numout,*) '    Relaxation of tracer to glodap mean value             ln_pisdmp      =', ln_pisdmp 
    248          WRITE(numout,*) '    Frequency of Relaxation                               nn_pisdmp      =', nn_pisdmp 
    249          WRITE(numout,*) ' ' 
     248         WRITE(numout,*) '   Namelist : nampisdmp --- relaxation to GLODAP' 
     249         WRITE(numout,*) '      Relaxation of tracer to glodap mean value   ln_pisdmp =', ln_pisdmp 
     250         WRITE(numout,*) '      Frequency of Relaxation                     nn_pisdmp =', nn_pisdmp 
    250251      ENDIF 
    251252 
    252253      REWIND( numnatp_ref )              ! Namelist nampismass in reference namelist : Pisces mass conservation check 
    253254      READ  ( numnatp_ref, nampismass, IOSTAT = ios, ERR = 907) 
    254 907   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismass in reference namelist', lwp ) 
    255  
     255907   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampismass in reference namelist', lwp ) 
    256256      REWIND( numnatp_cfg )              ! Namelist nampismass in configuration namelist : Pisces mass conservation check  
    257257      READ  ( numnatp_cfg, nampismass, IOSTAT = ios, ERR = 908 ) 
    258 908   IF( ios >  0 ) CALL ctl_nam ( ios , 'nampismass in configuration namelist', lwp ) 
    259       IF(lwm) WRITE ( numonp, nampismass ) 
     258908   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampismass in configuration namelist', lwp ) 
     259      IF(lwm) WRITE( numonp, nampismass ) 
    260260 
    261261      IF(lwp) THEN                         ! control print 
    262          WRITE(numout,*) ' ' 
    263          WRITE(numout,*) ' Namelist parameter for mass conservation checking' 
    264          WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    265          WRITE(numout,*) '    Flag to check mass conservation of NO3/Si/TALK ln_check_mass = ', ln_check_mass 
     262         WRITE(numout,*) 
     263         WRITE(numout,*) '   Namelist : nampismass  --- mass conservation checking' 
     264         WRITE(numout,*) '      Flag to check mass conservation of NO3/Si/TALK   ln_check_mass = ', ln_check_mass 
    266265      ENDIF 
    267266      ! 
Note: See TracChangeset for help on using the changeset viewer.