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 4617 for branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90 – NEMO

Ignore:
Timestamp:
2014-04-06T17:47:31+02:00 (10 years ago)
Author:
gm
Message:

#1260 : TOP fixes, see the associated wiki page for explanation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90

    r4162 r4617  
    1515   USE oce_trc         !  shared variables between ocean and passive tracers 
    1616   USE trc             !  passive tracers common variables  
    17    USE trcdta 
     17   USE trcdta          ! 
    1818   USE sms_pisces      !  PISCES Source Minus Sink variables 
    1919   USE p4zbio          !  Biological model 
     
    2424   USE p4zsed          !  Sedimentation 
    2525   USE p4zint          !  time interpolation 
    26    USE iom             !  I/O manager 
    2726   USE trdmod_oce      !  Ocean trends variables 
    2827   USE trdmod_trc      !  TOP trends variables 
    2928   USE sedmodel        !  Sediment model 
     29   ! 
    3030   USE prtctl_trc      !  print control for debugging 
     31   USE iom             !  I/O manager 
    3132 
    3233   IMPLICIT NONE 
     
    3435 
    3536   PUBLIC   p4z_sms_init    ! called in p4zsms.F90 
    36    PUBLIC   p4z_sms    ! called in p4zsms.F90 
     37   PUBLIC   p4z_sms         ! called in p4zsms.F90 
    3738 
    3839   REAL(wp) :: alkbudget, no3budget, silbudget, ferbudget 
     
    5859      !!              - ... 
    5960      !!--------------------------------------------------------------------- 
    60       ! 
    6161      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index       
    6262      !! 
     
    7373            jl = jn + jp_pcs0 - 1 
    7474            ztrdpis(:,:,:,jn) = trn(:,:,:,jl) 
    75          ENDDO 
     75         END DO 
    7676      ENDIF 
    7777      ! 
     
    9191         ! 
    9292         ndayflxtr = nday_year 
    93  
     93         ! 
    9494         IF(lwp) write(numout,*) 
    9595         IF(lwp) write(numout,*) ' New chemical constants and various rates for biogeochemistry at new day : ', nday_year 
    9696         IF(lwp) write(numout,*) '~~~~~~' 
    97  
     97         ! 
    9898         CALL p4z_che              ! computation of chemical constants 
    9999         CALL p4z_int( kt )        ! computation of various rates for biogeochemistry 
    100100         ! 
    101101      ENDIF 
    102  
    103       IF( ll_sbc ) CALL p4z_sbc( kt )   ! external sources of nutrients  
    104  
     102      IF( ll_sbc )   CALL p4z_sbc( kt )   ! external sources of nutrients  
     103      ! 
    105104      DO jnt = 1, nrdttrc          ! Potential time splitting if requested 
    106105         ! 
     
    110109         DO jn = jp_pcs0, jp_pcs1 
    111110            trb(:,:,:,jn) = trn(:,:,:,jn) 
    112          ENDDO 
     111         END DO 
    113112         ! 
    114113      END DO 
     
    118117            jl = jn + jp_pcs0 - 1 
    119118            ztrdpis(:,:,:,jn) = ( ztrdpis(:,:,:,jn) - trn(:,:,:,jl) ) * rfact2r 
    120          ENDDO 
     119         END DO 
    121120      ENDIF 
    122121 
     
    152151      ! 
    153152      CALL p4z_chk_mass( kt ) ! Mass conservation checking 
    154  
    155       IF ( kt == nittrc000 ) CALL FLUSH    ( numonp )     ! flush output namelist PISCES 
    156       IF( nn_timing == 1 )  CALL timing_stop('p4z_sms') 
    157       ! 
     153      ! 
     154      IF( kt == nittrc000 )   CALL FLUSH    ( numonp )     ! flush output namelist PISCES 
     155      IF( nn_timing == 1  )   CALL timing_stop('p4z_sms') 
    158156      ! 
    159157   END SUBROUTINE p4z_sms 
     158 
    160159 
    161160   SUBROUTINE p4z_sms_init 
     
    260259         WRITE(numout,*) '    Flag to check mass conservation of NO3/Si/TALK ln_check_mass = ', ln_check_mass 
    261260      ENDIF 
    262  
     261      ! 
    263262   END SUBROUTINE p4z_sms_init 
     263 
    264264 
    265265   SUBROUTINE p4z_ph_ini 
     
    291291   END SUBROUTINE p4z_ph_ini 
    292292 
     293 
    293294   SUBROUTINE p4z_rst( kt, cdrw ) 
    294295      !!--------------------------------------------------------------------- 
     
    341342   END SUBROUTINE p4z_rst 
    342343 
     344 
    343345   SUBROUTINE p4z_dmp( kt ) 
    344346      !!---------------------------------------------------------------------- 
     
    347349      !! ** purpose  : Relaxation of some tracers 
    348350      !!---------------------------------------------------------------------- 
    349       ! 
    350       INTEGER, INTENT( in )  ::     kt ! time step 
     351      INTEGER, INTENT(in) ::   kt   ! time step 
    351352      ! 
    352353      REAL(wp) ::  alkmean = 2426.     ! mean value of alkalinity ( Glodap ; for Goyet 2391. ) 
     
    357358      REAL(wp) :: zarea, zalksum, zpo4sum, zno3sum, zsilsum 
    358359      !!--------------------------------------------------------------------- 
    359  
    360360 
    361361      IF(lwp)  WRITE(numout,*) 
     
    386386         ! 
    387387      ENDIF 
    388  
     388      ! 
    389389   END SUBROUTINE p4z_dmp 
    390390 
     
    397397      !! 
    398398      !!--------------------------------------------------------------------- 
    399       ! 
    400       INTEGER, INTENT( in ) ::   kt      ! ocean time-step index       
    401       !! 
    402       !!--------------------------------------------------------------------- 
    403  
     399      INTEGER, INTENT(in) ::   kt   ! ocean time-step index       
     400      !!--------------------------------------------------------------------- 
     401      ! 
    404402      IF( kt == nittrc000 ) THEN  
    405403         IF( ln_check_mass .AND. lwp) THEN      !   Open budget file of NO3, ALK, Si, Fer 
     
    434432            &                    + trn(:,:,:,jpzoo) * ferat3            & 
    435433            &                    + trn(:,:,:,jpmes) * ferat3            ) * cvol(:,:,:)  ) 
    436  
    437          ! 
     434            ! 
    438435         t_atm_co2_flx  = t_atm_co2_flx / glob_sum( e1e2t(:,:) ) 
    439436         t_oce_co2_flx  = t_oce_co2_flx         * 12. / 1.e15 * (-1 ) 
     
    452449         ! 
    453450      ENDIF 
    454        ! 
    455  9000  FORMAT(i8,f10.5,e18.10,f10.5,f10.5) 
    456  9500  FORMAT(i8,4e18.10)      
    457        ! 
     451      ! 
     452 9000 FORMAT(i8,f10.5,e18.10,f10.5,f10.5) 
     453 9500 FORMAT(i8,4e18.10)      
     454      ! 
    458455   END SUBROUTINE p4z_chk_mass 
    459456 
Note: See TracChangeset for help on using the changeset viewer.