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.
p4zint.F90 in NEMO/branches/UKMO/r8395_coupling_sequence/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z – NEMO

source: NEMO/branches/UKMO/r8395_coupling_sequence/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zint.F90 @ 10763

Last change on this file since 10763 was 10763, checked in by jcastill, 5 years ago

Remove svn keywords properly

File size: 2.9 KB
Line 
1MODULE p4zint
2   !!======================================================================
3   !!                         ***  MODULE p4zint  ***
4   !! TOP :   PISCES interpolation and computation of various accessory fields
5   !!======================================================================
6   !! History :   1.0  !  2004-03 (O. Aumont) Original code
7   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
8   !!----------------------------------------------------------------------
9   !!   p4z_int        :  interpolation and computation of various accessory fields
10   !!----------------------------------------------------------------------
11   USE oce_trc         !  shared variables between ocean and passive tracers
12   USE trc             !  passive tracers common variables
13   USE sms_pisces      !  PISCES Source Minus Sink variables
14
15   IMPLICIT NONE
16   PRIVATE
17
18   PUBLIC   p4z_int 
19   REAL(wp) ::   xksilim = 16.5e-6_wp   ! Half-saturation constant for the Si half-saturation constant computation
20
21   !!----------------------------------------------------------------------
22   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
23   !! $Id$
24   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
25   !!----------------------------------------------------------------------
26CONTAINS
27
28   SUBROUTINE p4z_int( kt )
29      !!---------------------------------------------------------------------
30      !!                     ***  ROUTINE p4z_int  ***
31      !!
32      !! ** Purpose :   interpolation and computation of various accessory fields
33      !!
34      !!---------------------------------------------------------------------
35      !
36      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index
37      !
38      INTEGER  :: ji, jj                 ! dummy loop indices
39      REAL(wp) :: zvar                   ! local variable
40      !!---------------------------------------------------------------------
41      !
42      IF( nn_timing == 1 )  CALL timing_start('p4z_int')
43      !
44      ! Computation of phyto and zoo metabolic rate
45      ! -------------------------------------------
46      tgfunc (:,:,:) = EXP( 0.063913 * tsn(:,:,:,jp_tem) )
47      tgfunc2(:,:,:) = EXP( 0.07608  * tsn(:,:,:,jp_tem) )
48
49      ! Computation of the silicon dependant half saturation  constant for silica uptake
50      ! ---------------------------------------------------
51      DO ji = 1, jpi
52         DO jj = 1, jpj
53            zvar = trb(ji,jj,1,jpsil) * trb(ji,jj,1,jpsil)
54            xksimax(ji,jj) = MAX( xksimax(ji,jj), ( 1.+ 7.* zvar / ( xksilim * xksilim + zvar ) ) * 1e-6 )
55         END DO
56      END DO
57      !
58      IF( nday_year == nyear_len(1) ) THEN
59         xksi   (:,:) = xksimax(:,:)
60         xksimax(:,:) = 0._wp
61      ENDIF
62      !
63      IF( nn_timing == 1 )  CALL timing_stop('p4z_int')
64      !
65   END SUBROUTINE p4z_int
66
67   !!======================================================================
68END MODULE p4zint
Note: See TracBrowser for help on using the repository browser.