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 9863 for NEMO/branches/2018/dev_r9838_ENHANCE04_MLF/src/TOP/PISCES/P4Z/p4zsms.F90 – NEMO

Ignore:
Timestamp:
2018-06-30T12:51:02+02:00 (6 years ago)
Author:
gm
Message:

#1911 (ENHANCE-04): simplified implementation of the Euler stepping at nit000

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r9838_ENHANCE04_MLF/src/TOP/PISCES/P4Z/p4zsms.F90

    r9751 r9863  
    44   !! TOP :   PISCES Source Minus Sink manager 
    55   !!====================================================================== 
    6    !! History :   1.0  !  2004-03 (O. Aumont) Original code 
    7    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90 
     6   !! History :  1.0  !  2004-03 (O. Aumont) Original code 
     7   !!            2.0  !  2007-12  (C. Ethe, G. Madec)  F90 
    88   !!---------------------------------------------------------------------- 
    9    !!   p4z_sms        : Time loop of passive tracers sms 
     9 
    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   !!   p4z_sms       : Time loop of passive tracers sms 
     12   !!   p4z_sms_init  : initialisation 
     13   !!   p4z_rst       : Read or write variables in restart file 
     14   !!   p4z_dmp       : Relaxation of some tracers 
     15   !!   p4z_chk_mass  : mass conservation check 
     16   !!---------------------------------------------------------------------- 
     17   USE oce_trc        ! shared variables between ocean and passive tracers 
     18   USE trc            ! passive tracers common variables  
     19   USE trcdta         !  
     20   USE sms_pisces     ! PISCES Source Minus Sink variables 
     21   USE p4zbio         ! Biological model 
     22   USE p4zche         ! Chemical model 
     23   USE p4zlys         ! Calcite saturation 
     24   USE p4zflx         ! Gas exchange 
     25   USE p4zsbc         ! External source of nutrients 
     26   USE p4zsed         ! Sedimentation 
     27   USE p4zint         ! time interpolation 
     28   USE p4zrem         ! remineralisation 
     29   USE trd_oce        ! Ocean trends variables 
     30   USE trdtrc         ! TOP trends variables 
     31   USE sedmodel       ! Sediment model 
     32   ! 
     33   USE iom            ! I/O manager 
     34   USE prtctl_trc     ! print control for debugging 
    2835 
    2936   IMPLICIT NONE 
     
    3744   REAL(wp) ::   xfact1, xfact2, xfact3 
    3845 
    39    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   xnegtr     ! Array used to indicate negative tracer values 
     46   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   xnegtr   ! Array used to indicate negative tracer values 
    4047 
    4148   !!---------------------------------------------------------------------- 
     
    95102      ENDIF 
    96103 
    97       IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN 
     104      IF( l_1st_euler .OR. ln_top_euler ) THEN 
    98105         DO jn = jp_pcs0, jp_pcs1              !   SMS on tracer without Asselin time-filter 
    99106            trb(:,:,:,jn) = trn(:,:,:,jn) 
     
    277284         IF(lwp) WRITE(numout,*) 
    278285         IF(lwp) WRITE(numout,*) ' p4z_rst : Read specific variables from pisces model ' 
    279          IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
     286         IF(lwp) WRITE(numout,*) ' ~~~~~~~' 
    280287         !  
    281288         IF( iom_varid( numrtr, 'PH', ldstop = .FALSE. ) > 0 ) THEN 
     
    407414      !! 
    408415      !!--------------------------------------------------------------------- 
    409       INTEGER, INTENT( in ) ::   kt      ! ocean time-step index       
     416      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
     417      ! 
    410418      REAL(wp)             ::  zrdenittot, zsdenittot, znitrpottot 
    411419      CHARACTER(LEN=100)   ::   cltxt 
    412       INTEGER :: jk 
    413       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwork 
     420      INTEGER ::   jk 
     421      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zwork 
    414422      !!---------------------------------------------------------------------- 
    415423      ! 
Note: See TracChangeset for help on using the changeset viewer.