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 branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z – NEMO

source: branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zint.F90 @ 5288

Last change on this file since 5288 was 5288, checked in by aumont, 9 years ago

various bug fixes and updates of PISCES quota

File size: 3.7 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   !!             3.6  !  2015-05  (O. Aumont) PISCES quota
9   !!----------------------------------------------------------------------
10#if defined key_pisces || defined key_pisces_quota
11   !!----------------------------------------------------------------------
12   !!   'key_pisces*'                                       PISCES bio-model
13   !!----------------------------------------------------------------------
14   !!   p4z_int        :  interpolation and computation of various accessory fields
15   !!----------------------------------------------------------------------
16   USE oce_trc         !  shared variables between ocean and passive tracers
17   USE trc             !  passive tracers common variables
18   USE sms_pisces      !  PISCES Source Minus Sink variables
19   USE iom
20
21   IMPLICIT NONE
22   PRIVATE
23
24   PUBLIC   p4z_int 
25   REAL(wp) ::   xksilim = 16.5e-6_wp   ! Half-saturation constant for the Si half-saturation constant computation
26
27   !!----------------------------------------------------------------------
28   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
29   !! $Id: p4zint.F90 3294 2012-01-28 16:44:18Z rblod $
30   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
31   !!----------------------------------------------------------------------
32CONTAINS
33
34   SUBROUTINE p4z_int( kt )
35      !!---------------------------------------------------------------------
36      !!                     ***  ROUTINE p4z_int  ***
37      !!
38      !! ** Purpose :   interpolation and computation of various accessory fields
39      !!
40      !!---------------------------------------------------------------------
41      !
42      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index
43      !
44      INTEGER  :: ji, jj                 ! dummy loop indices
45      REAL(wp) :: zvar                   ! local variable
46      !!---------------------------------------------------------------------
47      !
48      IF( nn_timing == 1 )  CALL timing_start('p4z_int')
49      !
50      ! Computation of phyto and zoo metabolic rate
51      ! -------------------------------------------
52      tgfunc (:,:,:) = EXP( 0.063913 * tsn(:,:,:,jp_tem) )
53      tgfunc2(:,:,:) = EXP( 0.07608  * tsn(:,:,:,jp_tem) )
54
55      ! Computation of the silicon dependant half saturation  constant for silica uptake
56      ! ---------------------------------------------------
57      DO ji = 1, jpi
58         DO jj = 1, jpj
59            zvar = trn(ji,jj,1,jpsil) * trn(ji,jj,1,jpsil)
60            xksimax(ji,jj) = MAX( xksimax(ji,jj), ( 1.+ 7.* zvar / ( xksilim * xksilim + zvar ) ) * 1e-6 )
61         END DO
62      END DO
63      !
64      IF( nday_year == nyear_len(1) ) THEN
65         xksi   (:,:) = xksimax(:,:)
66         xksimax(:,:) = 0._wp
67      ENDIF
68      !
69      IF( nn_timing == 1 )  CALL timing_stop('p4z_int')
70      !
71   END SUBROUTINE p4z_int
72
73#else
74   !!======================================================================
75   !!  Dummy module :                                   No PISCES bio-model
76   !!======================================================================
77CONTAINS
78   SUBROUTINE p4z_int                   ! Empty routine
79      WRITE(*,*) 'p4z_int: You should not have seen this print! error?'
80   END SUBROUTINE p4z_int
81#endif 
82
83   !!======================================================================
84END MODULE  p4zint
Note: See TracBrowser for help on using the repository browser.