Changeset 7646 for trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90
- Timestamp:
- 2017-02-06T10:25:03+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90
r6945 r7646 8 8 !! 3.4 ! 2011-04 (O. Aumont, C. Ethe) Limitation for iron modelled in quota 9 9 !!---------------------------------------------------------------------- 10 #if defined key_pisces11 !!----------------------------------------------------------------------12 !! 'key_pisces' PISCES bio-model13 !!----------------------------------------------------------------------14 10 !! p4z_lim : Compute the nutrients limitation terms 15 11 !! p4z_lim_init : Read the namelist … … 18 14 USE trc ! Tracers defined 19 15 USE sms_pisces ! PISCES variables 20 USE p4zopt ! Optical21 16 USE iom ! I/O manager 22 17 … … 26 21 PUBLIC p4z_lim 27 22 PUBLIC p4z_lim_init 23 PUBLIC p4z_lim_alloc 28 24 29 25 !! * Shared module variables … … 48 44 REAL(wp), PUBLIC :: qdfelim !: optimal Fe quota for diatoms 49 45 REAL(wp), PUBLIC :: caco3r !: mean rainratio 46 47 !!* Phytoplankton limitation terms 48 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xnanono3 !: ??? 49 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiatno3 !: ??? 50 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xnanonh4 !: ??? 51 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiatnh4 !: ??? 52 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xnanopo4 !: ??? 53 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiatpo4 !: ??? 54 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimphy !: ??? 55 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimdia !: ??? 56 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimnfe !: ??? 57 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimdfe !: ??? 58 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimsi !: ??? 59 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimbac !: ?? 60 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xlimbacl !: ?? 61 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: concdfe !: ??? 62 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: concnfe !: ??? 50 63 51 64 ! Coefficient for iron limitation … … 224 237 !!---------------------------------------------------------------------- 225 238 226 NAMELIST/namp islim/ concnno3, concdno3, concnnh4, concdnh4, concnfer, concdfer, concbfe, &239 NAMELIST/namp4zlim/ concnno3, concdno3, concnnh4, concdnh4, concnfer, concdfer, concbfe, & 227 240 & concbno3, concbnh4, xsizedia, xsizephy, xsizern, xsizerd, & 228 241 & xksi1, xksi2, xkdoc, qnfelim, qdfelim, caco3r, oxymin … … 230 243 231 244 REWIND( numnatp_ref ) ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 232 READ ( numnatp_ref, namp islim, IOSTAT = ios, ERR = 901)233 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp islim in reference namelist', lwp )245 READ ( numnatp_ref, namp4zlim, IOSTAT = ios, ERR = 901) 246 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zlim in reference namelist', lwp ) 234 247 235 248 REWIND( numnatp_cfg ) ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters 236 READ ( numnatp_cfg, namp islim, IOSTAT = ios, ERR = 902 )237 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp islim in configuration namelist', lwp )238 IF(lwm) WRITE ( numonp, namp islim )249 READ ( numnatp_cfg, namp4zlim, IOSTAT = ios, ERR = 902 ) 250 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zlim in configuration namelist', lwp ) 251 IF(lwm) WRITE ( numonp, namp4zlim ) 239 252 240 253 IF(lwp) THEN ! control print 241 254 WRITE(numout,*) ' ' 242 WRITE(numout,*) ' Namelist parameters for nutrient limitations, namp islim'255 WRITE(numout,*) ' Namelist parameters for nutrient limitations, namp4zlim' 243 256 WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 244 257 WRITE(numout,*) ' mean rainratio caco3r = ', caco3r … … 268 281 END SUBROUTINE p4z_lim_init 269 282 270 #else 271 !!====================================================================== 272 !! Dummy module : No PISCES bio-model 273 !!====================================================================== 274 CONTAINS 275 SUBROUTINE p4z_lim ! Empty routine 276 END SUBROUTINE p4z_lim 277 #endif 283 INTEGER FUNCTION p4z_lim_alloc() 284 !!---------------------------------------------------------------------- 285 !! *** ROUTINE p5z_lim_alloc *** 286 !!---------------------------------------------------------------------- 287 USE lib_mpp , ONLY: ctl_warn 288 !!---------------------------------------------------------------------- 289 290 !* Biological arrays for phytoplankton growth 291 ALLOCATE( xnanono3(jpi,jpj,jpk), xdiatno3(jpi,jpj,jpk), & 292 & xnanonh4(jpi,jpj,jpk), xdiatnh4(jpi,jpj,jpk), & 293 & xnanopo4(jpi,jpj,jpk), xdiatpo4(jpi,jpj,jpk), & 294 & xlimphy (jpi,jpj,jpk), xlimdia (jpi,jpj,jpk), & 295 & xlimnfe (jpi,jpj,jpk), xlimdfe (jpi,jpj,jpk), & 296 & xlimbac (jpi,jpj,jpk), xlimbacl(jpi,jpj,jpk), & 297 & concnfe (jpi,jpj,jpk), concdfe (jpi,jpj,jpk), & 298 & xlimsi (jpi,jpj,jpk), STAT=p4z_lim_alloc ) 299 ! 300 IF( p4z_lim_alloc /= 0 ) CALL ctl_warn('p4z_lim_alloc : failed to allocate arrays.') 301 ! 302 END FUNCTION p4z_lim_alloc 278 303 279 304 !!======================================================================
Note: See TracChangeset
for help on using the changeset viewer.