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.
p4zrem.F90 in NEMO/branches/2019/dev_r11613_ENHANCE-04_namelists_as_internalfiles/src/TOP/PISCES/P4Z – NEMO

source: NEMO/branches/2019/dev_r11613_ENHANCE-04_namelists_as_internalfiles/src/TOP/PISCES/P4Z/p4zrem.F90 @ 11671

Last change on this file since 11671 was 11671, checked in by acc, 5 years ago

Branch 2019/dev_r11613_ENHANCE-04_namelists_as_internalfiles. Final, non-substantive changes to complete this branch. These changes remove all REWIND statements on the old namelist fortran units (now character variables for internal files). These changes have been left until last since they are easily repeated via a script and it may be preferable to use the previous revision for merge purposes and reapply these last changes separately. This branch has been fully SETTE tested.

  • Property svn:keywords set to Id
File size: 18.8 KB
Line 
1MODULE p4zrem
2   !!======================================================================
3   !!                         ***  MODULE p4zrem  ***
4   !! TOP :   PISCES Compute remineralization/dissolution of organic compounds
5   !!=========================================================================
6   !! History :   1.0  !  2004     (O. Aumont) Original code
7   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
8   !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Quota model for iron
9   !!----------------------------------------------------------------------
10   !!   p4z_rem       :  Compute remineralization/dissolution of organic compounds
11   !!   p4z_rem_init  :  Initialisation of parameters for remineralisation
12   !!   p4z_rem_alloc :  Allocate remineralisation variables
13   !!----------------------------------------------------------------------
14   USE oce_trc         !  shared variables between ocean and passive tracers
15   USE trc             !  passive tracers common variables
16   USE sms_pisces      !  PISCES Source Minus Sink variables
17   USE p4zche          !  chemical model
18   USE p4zprod         !  Growth rate of the 2 phyto groups
19   USE p4zlim
20   USE prtctl_trc      !  print control for debugging
21   USE iom             !  I/O manager
22
23
24   IMPLICIT NONE
25   PRIVATE
26
27   PUBLIC   p4z_rem         ! called in p4zbio.F90
28   PUBLIC   p4z_rem_init    ! called in trcsms_pisces.F90
29   PUBLIC   p4z_rem_alloc
30
31   REAL(wp), PUBLIC ::   xremikc    !: remineralisation rate of DOC
32   REAL(wp), PUBLIC ::   xremikn    !: remineralisation rate of DON
33   REAL(wp), PUBLIC ::   xremikp    !: remineralisation rate of DOP
34   REAL(wp), PUBLIC ::   xremik     !: remineralisation rate of POC
35   REAL(wp), PUBLIC ::   nitrif     !: NH4 nitrification rate
36   REAL(wp), PUBLIC ::   xsirem     !: remineralisation rate of POC
37   REAL(wp), PUBLIC ::   xsiremlab  !: fast remineralisation rate of POC
38   REAL(wp), PUBLIC ::   xsilab     !: fraction of labile biogenic silica
39   REAL(wp), PUBLIC ::   feratb     !: Fe/C quota in bacteria
40   REAL(wp), PUBLIC ::   xkferb     !: Half-saturation constant for bacteria Fe/C
41
42   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   denitr   !: denitrification array
43
44   !!----------------------------------------------------------------------
45   !! NEMO/TOP 4.0 , NEMO Consortium (2018)
46   !! $Id$
47   !! Software governed by the CeCILL license (see ./LICENSE)
48   !!----------------------------------------------------------------------
49CONTAINS
50
51   SUBROUTINE p4z_rem( kt, knt )
52      !!---------------------------------------------------------------------
53      !!                     ***  ROUTINE p4z_rem  ***
54      !!
55      !! ** Purpose :   Compute remineralization/scavenging of organic compounds
56      !!
57      !! ** Method  : - ???
58      !!---------------------------------------------------------------------
59      INTEGER, INTENT(in) ::   kt, knt ! ocean time step
60      !
61      INTEGER  ::   ji, jj, jk
62      REAL(wp) ::   zremik, zremikc, zremikn, zremikp, zsiremin, zfact 
63      REAL(wp) ::   zsatur, zsatur2, znusil, znusil2, zdep, zdepmin, zfactdep
64      REAL(wp) ::   zbactfer, zolimit, zonitr, zrfact2
65      REAL(wp) ::   zammonic, zoxyremc, zoxyremn, zoxyremp
66      REAL(wp) ::   zosil, ztem, zdenitnh4, zolimic, zolimin, zolimip, zdenitrn, zdenitrp
67      CHARACTER (len=25) :: charout
68      REAL(wp), DIMENSION(jpi,jpj    ) :: ztempbac
69      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zdepbac, zolimi, zdepprod, zfacsi, zfacsib, zdepeff, zfebact
70      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d
71      !!---------------------------------------------------------------------
72      !
73      IF( ln_timing )   CALL timing_start('p4z_rem')
74      !
75      ! Initialisation of arrys
76      zdepprod(:,:,:) = 1._wp
77      zdepeff (:,:,:) = 0.3_wp
78      ztempbac(:,:)   = 0._wp
79      zfacsib(:,:,:)  = xsilab / ( 1.0 - xsilab )
80      zfebact(:,:,:)  = 0._wp
81      zfacsi(:,:,:)   = xsilab
82
83      ! Computation of the mean phytoplankton concentration as
84      ! a crude estimate of the bacterial biomass
85      ! this parameterization has been deduced from a model version
86      ! that was modeling explicitely bacteria
87      ! -------------------------------------------------------
88      DO jk = 1, jpkm1
89         DO jj = 1, jpj
90            DO ji = 1, jpi
91               zdep = MAX( hmld(ji,jj), heup(ji,jj) )
92               IF( gdept_n(ji,jj,jk) < zdep ) THEN
93                  zdepbac(ji,jj,jk) = MIN( 0.7 * ( trb(ji,jj,jk,jpzoo) + 2.* trb(ji,jj,jk,jpmes) ), 4.e-6 )
94                  ztempbac(ji,jj)   = zdepbac(ji,jj,jk)
95               ELSE
96                  zdepmin = MIN( 1., zdep / gdept_n(ji,jj,jk) )
97                  zdepbac (ji,jj,jk) = zdepmin**0.683 * ztempbac(ji,jj)
98                  zdepprod(ji,jj,jk) = zdepmin**0.273
99                  zdepeff (ji,jj,jk) = zdepeff(ji,jj,jk) * zdepmin**0.3
100               ENDIF
101            END DO
102         END DO
103      END DO
104
105      IF( ln_p4z ) THEN
106         DO jk = 1, jpkm1
107            DO jj = 1, jpj
108               DO ji = 1, jpi
109                  ! DOC ammonification. Depends on depth, phytoplankton biomass
110                  ! and a limitation term which is supposed to be a parameterization of the bacterial activity.
111                  zremik = xremik * xstep / 1.e-6 * xlimbac(ji,jj,jk) * zdepbac(ji,jj,jk) 
112                  zremik = MAX( zremik, 2.74e-4 * xstep )
113                  ! Ammonification in oxic waters with oxygen consumption
114                  ! -----------------------------------------------------
115                  zolimit = zremik * ( 1.- nitrfac(ji,jj,jk) ) * trb(ji,jj,jk,jpdoc) 
116                  zolimi(ji,jj,jk) = MIN( ( trb(ji,jj,jk,jpoxy) - rtrn ) / o2ut, zolimit ) 
117                  ! Ammonification in suboxic waters with denitrification
118                  ! -------------------------------------------------------
119                  zammonic = zremik * nitrfac(ji,jj,jk) * trb(ji,jj,jk,jpdoc)
120                  denitr(ji,jj,jk)  = zammonic * ( 1. - nitrfac2(ji,jj,jk) )
121                  denitr(ji,jj,jk)  = MIN( ( trb(ji,jj,jk,jpno3) - rtrn ) / rdenit, denitr(ji,jj,jk) )
122                  zoxyremc          = zammonic - denitr(ji,jj,jk)
123                  !
124                  zolimi (ji,jj,jk) = MAX( 0.e0, zolimi (ji,jj,jk) )
125                  denitr (ji,jj,jk) = MAX( 0.e0, denitr (ji,jj,jk) )
126                  zoxyremc          = MAX( 0.e0, zoxyremc )
127
128                  !
129                  tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) + zoxyremc
130                  tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) + zoxyremc
131                  tra(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) - denitr (ji,jj,jk) * rdenit
132                  tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) - zolimi (ji,jj,jk) - denitr(ji,jj,jk) - zoxyremc
133                  tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - zolimi (ji,jj,jk) * o2ut
134                  tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) + zoxyremc
135                  tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * ( zolimi(ji,jj,jk) + zoxyremc    &
136                  &                     + ( rdenit + 1.) * denitr(ji,jj,jk) )
137               END DO
138            END DO
139         END DO
140      ELSE
141         DO jk = 1, jpkm1
142            DO jj = 1, jpj
143               DO ji = 1, jpi
144                  ! DOC ammonification. Depends on depth, phytoplankton biomass
145                  ! and a limitation term which is supposed to be a parameterization of the bacterial activity.
146                  ! -----------------------------------------------------------------
147                  zremik = xstep / 1.e-6 * MAX(0.01, xlimbac(ji,jj,jk)) * zdepbac(ji,jj,jk) 
148                  zremik = MAX( zremik, 2.74e-4 * xstep / xremikc )
149
150                  zremikc = xremikc * zremik
151                  zremikn = xremikn / xremikc
152                  zremikp = xremikp / xremikc
153
154                  ! Ammonification in oxic waters with oxygen consumption
155                  ! -----------------------------------------------------
156                  zolimit = zremikc * ( 1.- nitrfac(ji,jj,jk) ) * trb(ji,jj,jk,jpdoc) 
157                  zolimic = MAX( 0.e0, MIN( ( trb(ji,jj,jk,jpoxy) - rtrn ) / o2ut, zolimit ) ) 
158                  zolimi(ji,jj,jk) = zolimic
159                  zolimin = zremikn * zolimic * trb(ji,jj,jk,jpdon) / ( trb(ji,jj,jk,jpdoc) + rtrn )
160                  zolimip = zremikp * zolimic * trb(ji,jj,jk,jpdop) / ( trb(ji,jj,jk,jpdoc) + rtrn ) 
161
162                  ! Ammonification in suboxic waters with denitrification
163                  ! -------------------------------------------------------
164                  zammonic = zremikc * nitrfac(ji,jj,jk) * trb(ji,jj,jk,jpdoc)
165                  denitr(ji,jj,jk)  = zammonic * ( 1. - nitrfac2(ji,jj,jk) )
166                  denitr(ji,jj,jk)  = MAX(0., MIN(  ( trb(ji,jj,jk,jpno3) - rtrn ) / rdenit, denitr(ji,jj,jk) ) )
167                  zoxyremc          = MAX(0., zammonic - denitr(ji,jj,jk))
168                  zdenitrn  = zremikn * denitr(ji,jj,jk) * trb(ji,jj,jk,jpdon) / ( trb(ji,jj,jk,jpdoc) + rtrn )
169                  zdenitrp  = zremikp * denitr(ji,jj,jk) * trb(ji,jj,jk,jpdop) / ( trb(ji,jj,jk,jpdoc) + rtrn )
170                  zoxyremn  = zremikn * zoxyremc * trb(ji,jj,jk,jpdon) / ( trb(ji,jj,jk,jpdoc) + rtrn )
171                  zoxyremp  = zremikp * zoxyremc * trb(ji,jj,jk,jpdop) / ( trb(ji,jj,jk,jpdoc) + rtrn )
172
173                  tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zolimip + zdenitrp + zoxyremp
174                  tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zolimin + zdenitrn + zoxyremn
175                  tra(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) - denitr(ji,jj,jk) * rdenit
176                  tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) - zolimic - denitr(ji,jj,jk) - zoxyremc
177                  tra(ji,jj,jk,jpdon) = tra(ji,jj,jk,jpdon) - zolimin - zdenitrn - zoxyremn
178                  tra(ji,jj,jk,jpdop) = tra(ji,jj,jk,jpdop) - zolimip - zdenitrp - zoxyremp
179                  tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - zolimic * o2ut
180                  tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zolimic + denitr(ji,jj,jk) + zoxyremc
181                  tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * ( zolimin + zoxyremn + ( rdenit + 1.) * zdenitrn )
182               END DO
183            END DO
184         END DO
185         !
186      ENDIF
187
188
189      DO jk = 1, jpkm1
190         DO jj = 1, jpj
191            DO ji = 1, jpi
192               ! NH4 nitrification to NO3. Ceased for oxygen concentrations
193               ! below 2 umol/L. Inhibited at strong light
194               ! ----------------------------------------------------------
195               zonitr  = nitrif * xstep * trb(ji,jj,jk,jpnh4) * ( 1.- nitrfac(ji,jj,jk) )  &
196               &         / ( 1.+ emoy(ji,jj,jk) ) * ( 1. + fr_i(ji,jj) * emoy(ji,jj,jk) ) 
197               zdenitnh4 = nitrif * xstep * trb(ji,jj,jk,jpnh4) * nitrfac(ji,jj,jk)
198               zdenitnh4 = MIN(  ( trb(ji,jj,jk,jpno3) - rtrn ) / rdenita, zdenitnh4 ) 
199               ! Update of the tracers trends
200               ! ----------------------------
201               tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) - zonitr - zdenitnh4
202               tra(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) + zonitr - rdenita * zdenitnh4
203               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2nit * zonitr
204               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2 * rno3 * zonitr + rno3 * ( rdenita - 1. ) * zdenitnh4
205            END DO
206         END DO
207      END DO
208
209       IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
210         WRITE(charout, FMT="('rem1')")
211         CALL prt_ctl_trc_info(charout)
212         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
213       ENDIF
214
215      DO jk = 1, jpkm1
216         DO jj = 1, jpj
217            DO ji = 1, jpi
218
219               ! Bacterial uptake of iron. No iron is available in DOC. So
220               ! Bacteries are obliged to take up iron from the water. Some
221               ! studies (especially at Papa) have shown this uptake to be significant
222               ! ----------------------------------------------------------
223               zbactfer = feratb *  rfact2 * 0.6_wp / rday * tgfunc(ji,jj,jk) * xlimbacl(ji,jj,jk)     &
224                  &              * trb(ji,jj,jk,jpfer) / ( xkferb + trb(ji,jj,jk,jpfer) )    &
225                  &              * zdepprod(ji,jj,jk) * zdepeff(ji,jj,jk) * zdepbac(ji,jj,jk)
226               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) - zbactfer*0.33
227               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zbactfer*0.25
228               tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zbactfer*0.08
229               zfebact(ji,jj,jk)   = zbactfer * 0.33
230               blim(ji,jj,jk)      = xlimbacl(ji,jj,jk)  * zdepbac(ji,jj,jk) / 1.e-6 * zdepprod(ji,jj,jk)
231            END DO
232         END DO
233      END DO
234
235       IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
236         WRITE(charout, FMT="('rem2')")
237         CALL prt_ctl_trc_info(charout)
238         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
239       ENDIF
240
241      ! Initialization of the array which contains the labile fraction
242      ! of bSi. Set to a constant in the upper ocean
243      ! ---------------------------------------------------------------
244
245      DO jk = 1, jpkm1
246         DO jj = 1, jpj
247            DO ji = 1, jpi
248               zdep     = MAX( hmld(ji,jj), heup_01(ji,jj) )
249               zsatur   = MAX( rtrn, ( sio3eq(ji,jj,jk) - trb(ji,jj,jk,jpsil) ) / ( sio3eq(ji,jj,jk) + rtrn ) )
250               zsatur2  = ( 1. + tsn(ji,jj,jk,jp_tem) / 400.)**37
251               znusil   = 0.225  * ( 1. + tsn(ji,jj,jk,jp_tem) / 15.) * zsatur + 0.775 * zsatur2 * zsatur**9.25
252               ! Remineralization rate of BSi depedant on T and saturation
253               ! ---------------------------------------------------------
254               IF ( gdept_n(ji,jj,jk) > zdep ) THEN
255                  zfacsib(ji,jj,jk) = zfacsib(ji,jj,jk-1) * EXP( -0.5 * ( xsiremlab - xsirem )  &
256                  &                   * znusil * e3t_n(ji,jj,jk) / wsbio4(ji,jj,jk) )
257                  zfacsi(ji,jj,jk)  = zfacsib(ji,jj,jk) / ( 1.0 + zfacsib(ji,jj,jk) )
258                  zfacsib(ji,jj,jk) = zfacsib(ji,jj,jk) * EXP( -0.5 * ( xsiremlab - xsirem )    &
259                  &                   * znusil * e3t_n(ji,jj,jk) / wsbio4(ji,jj,jk) )
260               ENDIF
261               zsiremin = ( xsiremlab * zfacsi(ji,jj,jk) + xsirem * ( 1. - zfacsi(ji,jj,jk) ) ) * xstep * znusil
262               zosil    = zsiremin * trb(ji,jj,jk,jpgsi)
263               !
264               tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) - zosil
265               tra(ji,jj,jk,jpsil) = tra(ji,jj,jk,jpsil) + zosil
266            END DO
267         END DO
268      END DO
269
270      IF(ln_ctl)   THEN  ! print mean trends (used for debugging)
271         WRITE(charout, FMT="('rem3')")
272         CALL prt_ctl_trc_info(charout)
273         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm)
274       ENDIF
275
276      IF( knt == nrdttrc ) THEN
277          zrfact2 = 1.e3 * rfact2r
278          ALLOCATE( zw3d(jpi,jpj,jpk) )
279          zfact = 1.e+3 * rfact2r  !  conversion from mol/l/kt to  mol/m3/s
280          !
281          IF( iom_use( "REMIN" ) )  THEN
282              zw3d(:,:,:) = zolimi(:,:,:) * tmask(:,:,:) * zfact !  Remineralisation rate
283              CALL iom_put( "REMIN"  , zw3d )
284          ENDIF
285          IF( iom_use( "DENIT" ) )  THEN
286              zw3d(:,:,:) = denitr(:,:,:) * rdenit * rno3 * tmask(:,:,:) * zfact ! Denitrification
287              CALL iom_put( "DENIT"  , zw3d )
288          ENDIF
289          IF( iom_use( "BACT" ) )  THEN
290               zw3d(:,:,:) = zdepbac(:,:,:) * 1.E6 * tmask(:,:,:)  ! Bacterial biomass
291               CALL iom_put( "BACT", zw3d )
292          ENDIF
293          IF( iom_use( "FEBACT" ) )  THEN
294               zw3d(:,:,:) = zfebact(:,:,:) * 1E9 * tmask(:,:,:) * zrfact2   ! Bacterial iron consumption
295               CALL iom_put( "FEBACT" , zw3d )
296          ENDIF
297          !
298          DEALLOCATE( zw3d )
299       ENDIF
300      !
301      IF( ln_timing )   CALL timing_stop('p4z_rem')
302      !
303   END SUBROUTINE p4z_rem
304
305
306   SUBROUTINE p4z_rem_init
307      !!----------------------------------------------------------------------
308      !!                  ***  ROUTINE p4z_rem_init  ***
309      !!
310      !! ** Purpose :   Initialization of remineralization parameters
311      !!
312      !! ** Method  :   Read the nampisrem namelist and check the parameters
313      !!      called at the first timestep
314      !!
315      !! ** input   :   Namelist nampisrem
316      !!
317      !!----------------------------------------------------------------------
318      NAMELIST/nampisrem/ xremik, nitrif, xsirem, xsiremlab, xsilab, feratb, xkferb, & 
319         &                xremikc, xremikn, xremikp
320      INTEGER :: ios                 ! Local integer output status for namelist read
321      !!----------------------------------------------------------------------
322      !
323      IF(lwp) THEN
324         WRITE(numout,*)
325         WRITE(numout,*) 'p4z_rem_init : Initialization of remineralization parameters'
326         WRITE(numout,*) '~~~~~~~~~~~~'
327      ENDIF
328      !
329      READ  ( numnatp_ref, nampisrem, IOSTAT = ios, ERR = 901)
330901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nampisrem in reference namelist' )
331      READ  ( numnatp_cfg, nampisrem, IOSTAT = ios, ERR = 902 )
332902   IF( ios >  0 )   CALL ctl_nam ( ios , 'nampisrem in configuration namelist' )
333      IF(lwm) WRITE( numonp, nampisrem )
334
335      IF(lwp) THEN                         ! control print
336         WRITE(numout,*) '   Namelist parameters for remineralization, nampisrem'
337         IF( ln_p4z ) THEN
338            WRITE(numout,*) '      remineralization rate of DOC              xremik    =', xremik
339         ELSE
340            WRITE(numout,*) '      remineralization rate of DOC              xremikc   =', xremikc
341            WRITE(numout,*) '      remineralization rate of DON              xremikn   =', xremikn
342            WRITE(numout,*) '      remineralization rate of DOP              xremikp   =', xremikp
343         ENDIF
344         WRITE(numout,*) '      remineralization rate of Si               xsirem    =', xsirem
345         WRITE(numout,*) '      fast remineralization rate of Si          xsiremlab =', xsiremlab
346         WRITE(numout,*) '      fraction of labile biogenic silica        xsilab    =', xsilab
347         WRITE(numout,*) '      NH4 nitrification rate                    nitrif    =', nitrif
348         WRITE(numout,*) '      Bacterial Fe/C ratio                      feratb    =', feratb
349         WRITE(numout,*) '      Half-saturation constant for bact. Fe/C   xkferb    =', xkferb
350      ENDIF
351      !
352      denitr(:,:,:) = 0._wp
353      !
354   END SUBROUTINE p4z_rem_init
355
356
357   INTEGER FUNCTION p4z_rem_alloc()
358      !!----------------------------------------------------------------------
359      !!                     ***  ROUTINE p4z_rem_alloc  ***
360      !!----------------------------------------------------------------------
361      ALLOCATE( denitr(jpi,jpj,jpk), STAT=p4z_rem_alloc )
362      !
363      IF( p4z_rem_alloc /= 0 )   CALL ctl_stop( 'STOP', 'p4z_rem_alloc: failed to allocate arrays' )
364      !
365   END FUNCTION p4z_rem_alloc
366
367   !!======================================================================
368END MODULE p4zrem
Note: See TracBrowser for help on using the repository browser.