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 4147 for branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES – NEMO

Ignore:
Timestamp:
2013-11-04T12:51:55+01:00 (11 years ago)
Author:
cetlod
Message:

merge in dev_LOCEAN_2013, the 1st development branch dev_r3853_CNRS9_Confsetting, from its starting point ( r3853 ) on the trunk: see ticket #1169

Location:
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90

    r3446 r4147  
    3131   PUBLIC   p2z_bio_init    ! called in ??? 
    3232 
    33    REAL(wp) ::   tmumax     = 1.21e-5    ! maximal phytoplankton growth rate            [s-1] 
    34    REAL(wp) ::   rgamma     =  0.05      ! phytoplankton exudation fraction             [%] 
    35    REAL(wp) ::   fphylab    =  0.75      ! NH4 fraction of phytoplankton exsudation 
    36    REAL(wp) ::   tmminp     =  5.8e-7    ! minimal phytoplancton mortality rate         [0.05/86400 s-1=20 days] 
    37    REAL(wp) ::   aki        =  33.       ! light photosynthesis half saturation constant[W/m2] 
     33   REAL(wp) ::   tmumax     ! maximal phytoplankton growth rate            [s-1] 
     34   REAL(wp) ::   rgamma     ! phytoplankton exudation fraction             [%] 
     35   REAL(wp) ::   fphylab    ! NH4 fraction of phytoplankton exsudation 
     36   REAL(wp) ::   tmminp     ! minimal phytoplancton mortality rate         [0.05/86400 s-1=20 days] 
     37   REAL(wp) ::   aki        ! light photosynthesis half saturation constant[W/m2] 
    3838   ! 
    39    REAL(wp) ::   akno3      =  0.7       ! nitrate limitation half-saturation value     [mmol/m3] 
    40    REAL(wp) ::   aknh4      =  0.001     ! ammonium limitation half-saturation value    [mmol/m3] 
    41    REAL(wp) ::   taunn      =  5.80e-7   ! nitrification rate                           [s-1] 
    42    REAL(wp) ::   psinut     =  3.        ! inhibition of nitrate uptake by ammonium 
     39   REAL(wp) ::   akno3      ! nitrate limitation half-saturation value     [mmol/m3] 
     40   REAL(wp) ::   aknh4      ! ammonium limitation half-saturation value    [mmol/m3] 
     41   REAL(wp) ::   taunn      ! nitrification rate                           [s-1] 
     42   REAL(wp) ::   psinut     ! inhibition of nitrate uptake by ammonium 
    4343   ! 
    44    REAL(wp) ::   taudn      = 5.80e-7    ! detritus breakdown rate                        [0.1/86400 s-1=10 days] 
    45    REAL(wp) ::   fdetlab    = 0.         ! NH4 fraction of detritus dissolution 
     44   REAL(wp) ::   taudn      ! detritus breakdown rate                        [0.1/86400 s-1=10 days] 
     45   REAL(wp) ::   fdetlab    ! NH4 fraction of detritus dissolution 
    4646   ! 
    47    REAL(wp) ::   taudomn    = 6.43e-8    ! DOM breakdown rate                             [s-1] 
    48    !                                     ! slow remineralization rate of semi-labile dom to nh4 (1 month) 
     47   REAL(wp) ::   taudomn    ! DOM breakdown rate                             [s-1] 
     48   !                        ! slow remineralization rate of semi-labile dom to nh4 (1 month) 
    4949   ! 
    50    REAL(wp) ::   rppz       = 0.         ! ivlev coeff for zoo mortality 
    51    REAL(wp) ::   taus       = 9.26E-6    ! specific zooplankton maximal grazing rate              [s-1] 
     50   REAL(wp) ::   rppz       ! ivlev coeff for zoo mortality 
     51   REAL(wp) ::   taus       ! specific zooplankton maximal grazing rate              [s-1] 
    5252   !                                     ! 0.75/86400 s-1=8.680555E-6    1/86400 = 1.15e-5 
    53    REAL(wp) ::   aks        = 1.         ! half-saturation constant for total zooplankton grazing [mmolN.m-3] 
    54    REAL(wp) ::   rpnaz      = 0.3        ! non-assimilated phytoplankton by zooplancton           [%] 
    55    REAL(wp) ::   rdnaz      = 0.3        ! non-assimilated detritus by zooplankton                [%] 
    56    REAL(wp) ::   tauzn      = 8.1e-7     ! zooplancton specific excretion rate                    [0.1/86400 s-1=10 days] 
    57    REAL(wp) ::   tmminz     = 2.31e-6    ! minimal zooplankton mortality rate                     [(mmolN/m3)-1 d-1] 
    58    REAL(wp) ::   fzoolab    = 0.5        ! NH4 fraction of zooplankton excretion 
    59    REAL(wp) ::   fdbod      = 0.5        ! zooplankton mortality fraction that goes to detritus 
     53   REAL(wp) ::   aks        ! half-saturation constant for total zooplankton grazing [mmolN.m-3] 
     54   REAL(wp) ::   rpnaz      ! non-assimilated phytoplankton by zooplancton           [%] 
     55   REAL(wp) ::   rdnaz      ! non-assimilated detritus by zooplankton                [%] 
     56   REAL(wp) ::   tauzn      ! zooplancton specific excretion rate                    [0.1/86400 s-1=10 days] 
     57   REAL(wp) ::   tmminz     ! minimal zooplankton mortality rate                     [(mmolN/m3)-1 d-1] 
     58   REAL(wp) ::   fzoolab    ! NH4 fraction of zooplankton excretion 
     59   REAL(wp) ::   fdbod      ! zooplankton mortality fraction that goes to detritus 
    6060 
    6161   !!* Substitution 
     
    480480      !!                  ***  ROUTINE p2z_bio_init  *** 
    481481      !! 
    482       !! ** Purpose :  bilogical parameters  
     482      !! ** Purpose :  biological parameters  
    483483      !! 
    484484      !! ** Method  :   Read namelist and check the parameters 
     
    490490      NAMELIST/namlobdet/  taudn, fdetlab 
    491491      NAMELIST/namlobdom/ taudomn 
     492      INTEGER :: ios                 ! Local integer output status for namelist read 
    492493      !!---------------------------------------------------------------------- 
    493494 
    494       REWIND( numnatp ) 
    495       READ  ( numnatp, namlobphy ) 
     495      REWIND( numnatp_ref )              ! Namelist namlobphy in reference namelist : Lobster biological parameters 
     496      READ  ( numnatp_ref, namlobphy, IOSTAT = ios, ERR = 901) 
     497901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobphy in reference namelist', lwp ) 
     498 
     499      REWIND( numnatp_cfg )              ! Namelist namlobphy in configuration namelist : Lobster biological parameters 
     500      READ  ( numnatp_cfg, namlobphy, IOSTAT = ios, ERR = 902 ) 
     501902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobphy in configuration namelist', lwp ) 
     502      WRITE ( numonp, namlobphy ) 
    496503 
    497504      IF(lwp) THEN 
     
    505512      ENDIF 
    506513 
    507       REWIND( numnatp ) 
    508       READ  ( numnatp, namlobnut ) 
     514      REWIND( numnatp_ref )              ! Namelist namlobnut in reference namelist : Lobster nutriments parameters 
     515      READ  ( numnatp_ref, namlobnut, IOSTAT = ios, ERR = 903) 
     516903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobnut in reference namelist', lwp ) 
     517 
     518      REWIND( numnatp_cfg )              ! Namelist namlobnut in configuration namelist : Lobster nutriments parameters 
     519      READ  ( numnatp_cfg, namlobnut, IOSTAT = ios, ERR = 904 ) 
     520904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobnut in configuration namelist', lwp ) 
     521      WRITE ( numonp, namlobnut ) 
     522 
    509523      IF(lwp) THEN 
    510524          WRITE(numout,*) ' Namelist namlobnut' 
     
    516530      ENDIF 
    517531 
    518       REWIND( numnatp ) 
    519       READ  ( numnatp, namlobzoo ) 
     532      REWIND( numnatp_ref )              ! Namelist namlobzoo in reference namelist : Lobster zooplankton parameters 
     533      READ  ( numnatp_ref, namlobzoo, IOSTAT = ios, ERR = 905) 
     534905   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobzoo in reference namelist', lwp ) 
     535 
     536      REWIND( numnatp_cfg )              ! Namelist namlobzoo in configuration namelist : Lobster zooplankton parameters 
     537      READ  ( numnatp_cfg, namlobzoo, IOSTAT = ios, ERR = 906 ) 
     538906   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobzoo in configuration namelist', lwp ) 
     539      WRITE ( numonp, namlobzoo ) 
    520540 
    521541      IF(lwp) THEN 
     
    533553      ENDIF 
    534554 
    535       REWIND( numnatp ) 
    536       READ  ( numnatp, namlobdet ) 
     555      REWIND( numnatp_ref )              ! Namelist namlobdet in reference namelist : Lobster detritus parameters 
     556      READ  ( numnatp_ref, namlobdet, IOSTAT = ios, ERR = 907) 
     557907   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdet in reference namelist', lwp ) 
     558 
     559      REWIND( numnatp_cfg )              ! Namelist namlobdet in configuration namelist : Lobster detritus parameters 
     560      READ  ( numnatp_cfg, namlobdet, IOSTAT = ios, ERR = 908 ) 
     561908   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdet in configuration namelist', lwp ) 
     562      WRITE ( numonp, namlobdet ) 
    537563 
    538564      IF(lwp) THEN 
     
    543569      ENDIF 
    544570 
    545       REWIND( numnatp ) 
    546       READ  ( numnatp, namlobdom ) 
     571      REWIND( numnatp_ref )              ! Namelist namlobdom in reference namelist : Lobster DOM breakdown rate 
     572      READ  ( numnatp_ref, namlobdom, IOSTAT = ios, ERR = 909) 
     573909   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdom in reference namelist', lwp ) 
     574 
     575      REWIND( numnatp_cfg )              ! Namelist namlobdom in configuration namelist : Lobster DOM breakdown rate 
     576      READ  ( numnatp_cfg, namlobdom, IOSTAT = ios, ERR = 910 ) 
     577910   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdom in configuration namelist', lwp ) 
     578      WRITE ( numonp, namlobdom ) 
    547579 
    548580      IF(lwp) THEN 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zopt.F90

    r3443 r4147  
    2828   PUBLIC   p2z_opt_init   ! 
    2929 
    30    REAL(wp), PUBLIC ::  xkr0   = 0.0232_wp   !: water coefficient absorption in red       
    31    REAL(wp), PUBLIC ::  xkg0   = 0.225_wp    !: water coefficient absorption in green     
    32    REAL(wp), PUBLIC ::  xkrp   = 0.074_wp    !: pigment coefficient absorption in red     
    33    REAL(wp), PUBLIC ::  xkgp   = 0.037_wp    !: pigment coefficient absorption in green   
    34    REAL(wp), PUBLIC ::  xlr    = 0.674_wp    !: exposant for pigment absorption in red   
    35    REAL(wp), PUBLIC ::  xlg    = 0.629_wp    !: exposant for pigment absorption in green  
    36    REAL(wp), PUBLIC ::  rpig   = 0.7_wp      !: chla/chla+phea ratio     
     30   REAL(wp), PUBLIC ::  xkr0      !: water coefficient absorption in red       
     31   REAL(wp), PUBLIC ::  xkg0      !: water coefficient absorption in green     
     32   REAL(wp), PUBLIC ::  xkrp      !: pigment coefficient absorption in red     
     33   REAL(wp), PUBLIC ::  xkgp      !: pigment coefficient absorption in green   
     34   REAL(wp), PUBLIC ::  xlr       !: exposant for pigment absorption in red   
     35   REAL(wp), PUBLIC ::  xlg       !: exposant for pigment absorption in green  
     36   REAL(wp), PUBLIC ::  rpig      !: chla/chla+phea ratio     
    3737   !                  
    38    REAL(wp), PUBLIC ::  rcchl  =  60_wp      ! Carbone/Chlorophyl ratio [mgC.mgChla-1] 
    39    REAL(wp), PUBLIC ::  redf   = 6.56_wp     ! redfield ratio (C:N) for phyto 
    40    REAL(wp), PUBLIC ::  reddom = 6.56_wp     ! redfield ratio (C:N) for DOM 
     38   REAL(wp), PUBLIC ::  rcchl     ! Carbone/Chlorophyl ratio [mgC.mgChla-1] 
     39   REAL(wp), PUBLIC ::  redf      ! redfield ratio (C:N) for phyto 
     40   REAL(wp), PUBLIC ::  reddom    ! redfield ratio (C:N) for DOM 
    4141 
    4242   !!* Substitution 
     
    164164      NAMELIST/namlobopt/ xkg0, xkr0, xkgp, xkrp, xlg, xlr, rpig 
    165165      NAMELIST/namlobrat/ rcchl, redf, reddom 
     166      INTEGER :: ios                 ! Local integer output status for namelist read 
    166167      !!---------------------------------------------------------------------- 
    167168 
    168       REWIND( numnatp ) 
    169       READ  ( numnatp, namlobopt ) 
     169      REWIND( numnatp_ref )              ! Namelist namlobopt in reference namelist : Lobster options 
     170      READ  ( numnatp_ref, namlobopt, IOSTAT = ios, ERR = 901) 
     171901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobopt in reference namelist', lwp ) 
     172 
     173      REWIND( numnatp_cfg )              ! Namelist namlobopt in configuration namelist : Lobster options 
     174      READ  ( numnatp_cfg, namlobopt, IOSTAT = ios, ERR = 902 ) 
     175902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobopt in configuration namelist', lwp ) 
     176      WRITE ( numonp, namlobopt ) 
    170177 
    171178      IF(lwp) THEN 
     
    182189      ENDIF 
    183190      ! 
    184       REWIND( numnatp ) 
    185       READ  ( numnatp, namlobrat ) 
     191      REWIND( numnatp_ref )              ! Namelist namlobrat in reference namelist : Lobster ratios 
     192      READ  ( numnatp_ref, namlobrat, IOSTAT = ios, ERR = 903) 
     193903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobrat in reference namelist', lwp ) 
     194 
     195      REWIND( numnatp_cfg )              ! Namelist namlobrat in configuration namelist : Lobster ratios 
     196      READ  ( numnatp_cfg, namlobrat, IOSTAT = ios, ERR = 904 ) 
     197904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobrat in configuration namelist', lwp ) 
     198      WRITE ( numonp, namlobrat ) 
    186199 
    187200      IF(lwp) THEN 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90

    r3443 r4147  
    2929   PUBLIC   p2z_sed_init    ! called in ??? 
    3030 
    31    REAL(wp), PUBLIC ::   sedlam     = 3.86e-7  !: time coefficient of POC remineralization in sediments 
    32    REAL(wp), PUBLIC ::   sedlostpoc = 0.        ! mass of POC lost in sediments  
    33    REAL(wp), PUBLIC ::   vsed       = 3.47e-5  ! detritus sedimentation speed [m/s]  
    34    REAL(wp), PUBLIC ::   xhr        = -0.858    ! coeff for martin''s remineralisation profile 
     31   REAL(wp), PUBLIC ::   sedlam      !: time coefficient of POC remineralization in sediments 
     32   REAL(wp), PUBLIC ::   sedlostpoc ! mass of POC lost in sediments  
     33   REAL(wp), PUBLIC ::   vsed        ! detritus sedimentation speed [m/s]  
     34   REAL(wp), PUBLIC ::   xhr        ! coeff for martin''s remineralisation profile 
    3535 
    3636   !!* Substitution 
     
    151151      !!---------------------------------------------------------------------- 
    152152      NAMELIST/namlobsed/ sedlam, sedlostpoc, vsed, xhr 
     153      INTEGER :: ios                 ! Local integer output status for namelist read 
    153154 
    154       REWIND( numnatp ) 
    155       READ  ( numnatp, namlobsed ) 
     155      REWIND( numnatp_ref )              ! Namelist namlobsed in reference namelist : Lobster sediments 
     156      READ  ( numnatp_ref, namlobsed, IOSTAT = ios, ERR = 901) 
     157901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlosed in reference namelist', lwp ) 
     158 
     159      REWIND( numnatp_cfg )              ! Namelist namlobsed in configuration namelist : Lobster sediments 
     160      READ  ( numnatp_cfg, namlobsed, IOSTAT = ios, ERR = 902 ) 
     161902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobsed in configuration namelist', lwp ) 
     162      WRITE ( numonp, namlobsed ) 
    156163 
    157164      IF(lwp) THEN 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsms.F90

    r3443 r4147  
    1515   USE oce_trc          ! 
    1616   USE trc 
     17   USE sms_pisces 
    1718   USE p2zbio 
    1819   USE p2zopt 
     
    6667      IF( lk_trdmld_trc )  CALL trd_mld_bio( kt )   ! trends: Mixed-layer 
    6768      ! 
     69      IF ( kt == nittrc000 ) CALL FLUSH    ( numonp )     ! flush output namelist PISCES 
    6870      IF( nn_timing == 1 )  CALL timing_stop('p2z_sms') 
    6971      ! 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90

    r3780 r4147  
    3131 
    3232   !! * Shared module variables 
    33    LOGICAL          ::  ln_fechem  = .FALSE.    !: boolean for complex iron chemistry following Tagliabue and voelker 
    34    LOGICAL          ::  ln_ligvar  = .FALSE.    !: boolean for variable ligand concentration following Tagliabue and voelker 
    35    REAL(wp), PUBLIC ::  xlam1      = 0.005_wp   !: scavenging rate of Iron  
    36    REAL(wp), PUBLIC ::  xlamdust   = 150.0_wp   !: scavenging rate of Iron by dust  
    37    REAL(wp), PUBLIC ::  ligand     = 0.6E-9_wp  !: ligand concentration in the ocean  
     33   LOGICAL          ::  ln_fechem    !: boolean for complex iron chemistry following Tagliabue and voelker 
     34   LOGICAL          ::  ln_ligvar    !: boolean for variable ligand concentration following Tagliabue and voelker 
     35   REAL(wp), PUBLIC ::  xlam1        !: scavenging rate of Iron  
     36   REAL(wp), PUBLIC ::  xlamdust     !: scavenging rate of Iron by dust  
     37   REAL(wp), PUBLIC ::  ligand       !: ligand concentration in the ocean  
    3838 
    3939   REAL(wp) :: kl1, kl2, kb1, kb2, ks, kpr, spd, con, kth 
     
    342342      !!---------------------------------------------------------------------- 
    343343      NAMELIST/nampisfer/ ln_fechem, ln_ligvar, xlam1, xlamdust, ligand  
    344  
    345       REWIND( numnatp )                     ! read numnatp 
    346       READ  ( numnatp, nampisfer ) 
     344      INTEGER :: ios                 ! Local integer output status for namelist read 
     345 
     346      REWIND( numnatp_ref )              ! Namelist nampisfer in reference namelist : Pisces iron chemistry 
     347      READ  ( numnatp_ref, nampisfer, IOSTAT = ios, ERR = 901) 
     348901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisfer in reference namelist', lwp ) 
     349 
     350      REWIND( numnatp_cfg )              ! Namelist nampisfer in configuration namelist : Pisces iron chemistry 
     351      READ  ( numnatp_cfg, nampisfer, IOSTAT = ios, ERR = 902 ) 
     352902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisfer in configuration namelist', lwp ) 
     353      WRITE ( numonp, nampisfer ) 
    347354 
    348355      IF(lwp) THEN                         ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90

    r3481 r4147  
    3737   PUBLIC   p4z_flx_alloc   
    3838 
    39    !                                      !!** Namelist  nampisext  ** 
    40    REAL(wp)          ::  atcco2    = 278._wp      !: pre-industrial atmospheric [co2] (ppm)     
    41    LOGICAL           ::  ln_co2int = .FALSE.      !: flag to read in a file and interpolate atmospheric pco2 or not 
    42    CHARACTER(len=34) ::  clname    = 'atcco2.txt' !: filename of pco2 values 
    43    INTEGER           ::  nn_offset = 0            !: Offset model-data start year (default = 0)  
     39   !                               !!** Namelist  nampisext  ** 
     40   REAL(wp)          ::  atcco2    !: pre-industrial atmospheric [co2] (ppm)     
     41   LOGICAL           ::  ln_co2int !: flag to read in a file and interpolate atmospheric pco2 or not 
     42   CHARACTER(len=34) ::  clname    !: filename of pco2 values 
     43   INTEGER           ::  nn_offset !: Offset model-data start year (default = 0)  
    4444 
    4545   !!  Variables related to reading atmospheric CO2 time history     
     
    4747   INTEGER  :: nmaxrec, numco2 
    4848 
    49    !                                         !!* nampisatm namelist (Atmospheric PRessure) * 
    50    LOGICAL, PUBLIC ::   ln_presatm = .true. !: ref. pressure: global mean Patm (F) or a constant (F) 
     49   !                               !!* nampisatm namelist (Atmospheric PRessure) * 
     50   LOGICAL, PUBLIC ::   ln_presatm !: ref. pressure: global mean Patm (F) or a constant (F) 
    5151 
    5252   REAL(wp) , ALLOCATABLE, SAVE, DIMENSION(:,:)  ::  patm      ! atmospheric pressure at kt                 [N/m2] 
     
    239239      NAMELIST/nampisext/ln_co2int, atcco2, clname, nn_offset 
    240240      INTEGER :: jm 
    241       !!---------------------------------------------------------------------- 
    242       ! 
    243       REWIND( numnatp )                     ! read numnatp 
    244       READ  ( numnatp, nampisext ) 
     241      INTEGER :: ios                 ! Local integer output status for namelist read 
     242      !!---------------------------------------------------------------------- 
     243      ! 
     244 
     245      REWIND( numnatp_ref )              ! Namelist nampisext in reference namelist : Pisces atm. conditions 
     246      READ  ( numnatp_ref, nampisext, IOSTAT = ios, ERR = 901) 
     247901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisext in reference namelist', lwp ) 
     248 
     249      REWIND( numnatp_cfg )              ! Namelist nampisext in configuration namelist : Pisces atm. conditions 
     250      READ  ( numnatp_cfg, nampisext, IOSTAT = ios, ERR = 902 ) 
     251902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisext in configuration namelist', lwp ) 
     252      WRITE ( numonp, nampisext ) 
    245253      ! 
    246254      IF(lwp) THEN                         ! control print 
     
    302310      ! 
    303311      INTEGER            ::  ierr 
     312      INTEGER            ::  ios      ! Local integer output status for namelist read 
    304313      CHARACTER(len=100) ::  cn_dir   ! Root directory for location of ssr files 
    305314      TYPE(FLD_N)        ::  sn_patm  ! informations about the fields to be read 
     
    307316      NAMELIST/nampisatm/ ln_presatm, sn_patm, cn_dir 
    308317 
    309       !                                         ! -------------------- ! 
     318      !                                         ! ----------------------- ! 
    310319      IF( kt == nit000 ) THEN                   ! First call kt=nittrc000 ! 
    311          !                                      ! -------------------- ! 
    312          !                                            !* set file information (default values) 
    313          ! ... default values (NB: frequency positive => hours, negative => months) 
    314          !            !   file   ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! 
    315          !            !   name   !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! 
    316          sn_patm = FLD_N( 'pres'  ,    24     ,  'patm'    ,  .false.   , .true.  ,   'yearly'  , ''       , ''       ) 
    317          cn_dir  = './'          ! directory in which the Patm data are  
    318  
    319          REWIND( numnatp )                             !* read in namlist nampisatm 
    320          READ  ( numnatp, nampisatm )  
     320         !                                      ! ----------------------- ! 
     321 
     322         REWIND( numnatp_ref )              ! Namelist nampisatm in reference namelist : Pisces atm. sea level pressure file 
     323         READ  ( numnatp_ref, nampisatm, IOSTAT = ios, ERR = 901) 
     324901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisatm in reference namelist', lwp ) 
     325 
     326         REWIND( numnatp_cfg )              ! Namelist nampisatm in configuration namelist : Pisces atm. sea level pressure file  
     327         READ  ( numnatp_cfg, nampisatm, IOSTAT = ios, ERR = 902 ) 
     328902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisatm in configuration namelist', lwp ) 
     329         WRITE ( numonp, nampisatm ) 
    321330         ! 
    322331         ! 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90

    r3446 r4147  
    2828 
    2929   !! * Shared module variables 
    30    REAL(wp), PUBLIC ::  concnno3  = 1.e-6_wp      !:  NO3, PO4 half saturation    
    31    REAL(wp), PUBLIC ::  concdno3  = 2.e-6_wp      !:  Phosphate half saturation for diatoms   
    32    REAL(wp), PUBLIC ::  concnnh4  = 1.e-7_wp      !:  NH4 half saturation for phyto   
    33    REAL(wp), PUBLIC ::  concdnh4  = 2.e-7_wp      !:  NH4 half saturation for diatoms 
    34    REAL(wp), PUBLIC ::  concnfer  = 1.e-9_wp      !:  Iron half saturation for nanophyto  
    35    REAL(wp), PUBLIC ::  concdfer  = 2.e-9_wp      !:  Iron half saturation for diatoms   
    36    REAL(wp), PUBLIC ::  concbno3  = 2.5e-7_wp      !:  NO3 half saturation  for bacteria  
    37    REAL(wp), PUBLIC ::  concbnh4  = 2.5e-8_wp      !:  NH4 half saturation for bacteria 
    38    REAL(wp), PUBLIC ::  xsizedia  = 5.e-7_wp      !:  Minimum size criteria for diatoms 
    39    REAL(wp), PUBLIC ::  xsizephy  = 1.e-6_wp      !:  Minimum size criteria for nanophyto 
    40    REAL(wp), PUBLIC ::  xsizern   = 3.0_wp        !:  Size ratio for nanophytoplankton 
    41    REAL(wp), PUBLIC ::  xsizerd   = 4.0_wp        !:  Size ratio for diatoms 
    42    REAL(wp), PUBLIC ::  xksi1     = 2.E-6_wp      !:  half saturation constant for Si uptake  
    43    REAL(wp), PUBLIC ::  xksi2     = 3.33e-6_wp    !:  half saturation constant for Si/C  
    44    REAL(wp), PUBLIC ::  xkdoc     = 417.e-6_wp    !:  2nd half-sat. of DOC remineralization   
    45    REAL(wp), PUBLIC ::  concbfe   = 1.E-11_wp     !:  Fe half saturation for bacteria  
    46    REAL(wp), PUBLIC ::  qnfelim   = 7.E-6_wp      !:  optimal Fe quota for nanophyto 
    47    REAL(wp), PUBLIC ::  qdfelim   = 7.E-6_wp      !:  optimal Fe quota for diatoms 
    48    REAL(wp), PUBLIC ::  caco3r    = 0.16_wp       !:  mean rainratio  
     30   REAL(wp), PUBLIC ::  concnno3    !:  NO3, PO4 half saturation    
     31   REAL(wp), PUBLIC ::  concdno3    !:  Phosphate half saturation for diatoms   
     32   REAL(wp), PUBLIC ::  concnnh4    !:  NH4 half saturation for phyto   
     33   REAL(wp), PUBLIC ::  concdnh4    !:  NH4 half saturation for diatoms 
     34   REAL(wp), PUBLIC ::  concnfer    !:  Iron half saturation for nanophyto  
     35   REAL(wp), PUBLIC ::  concdfer    !:  Iron half saturation for diatoms   
     36   REAL(wp), PUBLIC ::  concbno3    !:  NO3 half saturation  for bacteria  
     37   REAL(wp), PUBLIC ::  concbnh4    !:  NH4 half saturation for bacteria 
     38   REAL(wp), PUBLIC ::  xsizedia    !:  Minimum size criteria for diatoms 
     39   REAL(wp), PUBLIC ::  xsizephy    !:  Minimum size criteria for nanophyto 
     40   REAL(wp), PUBLIC ::  xsizern     !:  Size ratio for nanophytoplankton 
     41   REAL(wp), PUBLIC ::  xsizerd     !:  Size ratio for diatoms 
     42   REAL(wp), PUBLIC ::  xksi1       !:  half saturation constant for Si uptake  
     43   REAL(wp), PUBLIC ::  xksi2       !:  half saturation constant for Si/C  
     44   REAL(wp), PUBLIC ::  xkdoc       !:  2nd half-sat. of DOC remineralization   
     45   REAL(wp), PUBLIC ::  concbfe     !:  Fe half saturation for bacteria  
     46   REAL(wp), PUBLIC ::  qnfelim     !:  optimal Fe quota for nanophyto 
     47   REAL(wp), PUBLIC ::  qdfelim     !:  optimal Fe quota for diatoms 
     48   REAL(wp), PUBLIC ::  caco3r      !:  mean rainratio  
    4949 
    5050   ! Coefficient for iron limitation 
     
    217217         &                concbno3, concbnh4, xsizedia, xsizephy, xsizern, xsizerd,          &  
    218218         &                xksi1, xksi2, xkdoc, qnfelim, qdfelim, caco3r 
    219  
    220       REWIND( numnatp )                     ! read numnat 
    221       READ  ( numnatp, nampislim ) 
     219      INTEGER :: ios                 ! Local integer output status for namelist read 
     220 
     221      REWIND( numnatp_ref )              ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 
     222      READ  ( numnatp_ref, nampislim, IOSTAT = ios, ERR = 901) 
     223901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in reference namelist', lwp ) 
     224 
     225      REWIND( numnatp_cfg )              ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters  
     226      READ  ( numnatp_cfg, nampislim, IOSTAT = ios, ERR = 902 ) 
     227902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in configuration namelist', lwp ) 
     228      WRITE ( numonp, nampislim ) 
    222229 
    223230      IF(lwp) THEN                         ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90

    r3443 r4147  
    3232 
    3333   !! * Shared module variables 
    34    REAL(wp), PUBLIC :: kdca = 0.327e3_wp  !: diss. rate constant calcite 
    35    REAL(wp), PUBLIC :: nca  = 1.0_wp      !: order of reaction for calcite dissolution 
     34   REAL(wp), PUBLIC :: kdca !: diss. rate constant calcite 
     35   REAL(wp), PUBLIC :: nca  !: order of reaction for calcite dissolution 
    3636 
    3737   !! * Module variables 
     
    188188      !!---------------------------------------------------------------------- 
    189189      INTEGER  ::  ji, jj, jk 
     190      INTEGER  ::  ios                 ! Local integer output status for namelist read 
    190191      REAL(wp) ::  zcaralk, zbicarb, zco3 
    191192      REAL(wp) ::  ztmas, ztmas1 
     
    194195      !!---------------------------------------------------------------------- 
    195196 
    196       REWIND( numnatp )                     ! read numnatp 
    197       READ  ( numnatp, nampiscal ) 
     197      REWIND( numnatp_ref )              ! Namelist nampiscal in reference namelist : Pisces CaCO3 dissolution 
     198      READ  ( numnatp_ref, nampiscal, IOSTAT = ios, ERR = 901) 
     199901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiscal in reference namelist', lwp ) 
     200 
     201      REWIND( numnatp_cfg )              ! Namelist nampiscal in configuration namelist : Pisces CaCO3 dissolution 
     202      READ  ( numnatp_cfg, nampiscal, IOSTAT = ios, ERR = 902 ) 
     203902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiscal in configuration namelist', lwp ) 
     204      WRITE ( numonp, nampiscal ) 
    198205 
    199206      IF(lwp) THEN                         ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90

    r3829 r4147  
    3131 
    3232   !! * Shared module variables 
    33    REAL(wp), PUBLIC ::  part2       = 0.5_wp    !: part of calcite not dissolved in mesozoo guts 
    34    REAL(wp), PUBLIC ::  xprefc      = 1.0_wp    !: mesozoo preference for POC  
    35    REAL(wp), PUBLIC ::  xprefp      = 0.3_wp    !: mesozoo preference for nanophyto 
    36    REAL(wp), PUBLIC ::  xprefz      = 1.0_wp    !: mesozoo preference for diatoms 
    37    REAL(wp), PUBLIC ::  xprefpoc    = 0.3_wp    !: mesozoo preference for POC  
    38    REAL(wp), PUBLIC ::  xthresh2zoo = 1E-8_wp    !: zoo feeding threshold for mesozooplankton  
    39    REAL(wp), PUBLIC ::  xthresh2dia = 1E-8_wp    !: diatoms feeding threshold for mesozooplankton  
    40    REAL(wp), PUBLIC ::  xthresh2phy = 2E-7_wp    !: nanophyto feeding threshold for mesozooplankton  
    41    REAL(wp), PUBLIC ::  xthresh2poc = 1E-8_wp    !: poc feeding threshold for mesozooplankton  
    42    REAL(wp), PUBLIC ::  xthresh2    = 0._wp      !: feeding threshold for mesozooplankton  
    43    REAL(wp), PUBLIC ::  resrat2     = 0.005_wp  !: exsudation rate of mesozooplankton 
    44    REAL(wp), PUBLIC ::  mzrat2      = 0.04_wp    !: microzooplankton mortality rate  
    45    REAL(wp), PUBLIC ::  grazrat2    = 0.9_wp    !: maximal mesozoo grazing rate 
    46    REAL(wp), PUBLIC ::  xkgraz2     = 20E-6_wp  !: non assimilated fraction of P by mesozoo  
    47    REAL(wp), PUBLIC ::  unass2      = 0.3_wp    !: Efficicency of mesozoo growth  
    48    REAL(wp), PUBLIC ::  sigma2      = 0.6_wp    !: Fraction of mesozoo excretion as DOM  
    49    REAL(wp), PUBLIC ::  epsher2     = 0.3_wp    !: half sturation constant for grazing 2 
    50    REAL(wp), PUBLIC ::  grazflux    = 3.E3_wp    !: mesozoo flux feeding rate 
     33   REAL(wp), PUBLIC ::  part2        !: part of calcite not dissolved in mesozoo guts 
     34   REAL(wp), PUBLIC ::  xprefc      !: mesozoo preference for POC  
     35   REAL(wp), PUBLIC ::  xprefp      !: mesozoo preference for nanophyto 
     36   REAL(wp), PUBLIC ::  xprefz      !: mesozoo preference for diatoms 
     37   REAL(wp), PUBLIC ::  xprefpoc    !: mesozoo preference for POC  
     38   REAL(wp), PUBLIC ::  xthresh2zoo !: zoo feeding threshold for mesozooplankton  
     39   REAL(wp), PUBLIC ::  xthresh2dia !: diatoms feeding threshold for mesozooplankton  
     40   REAL(wp), PUBLIC ::  xthresh2phy !: nanophyto feeding threshold for mesozooplankton  
     41   REAL(wp), PUBLIC ::  xthresh2poc !: poc feeding threshold for mesozooplankton  
     42   REAL(wp), PUBLIC ::  xthresh2    !: feeding threshold for mesozooplankton  
     43   REAL(wp), PUBLIC ::  resrat2      !: exsudation rate of mesozooplankton 
     44   REAL(wp), PUBLIC ::  mzrat2      !: microzooplankton mortality rate  
     45   REAL(wp), PUBLIC ::  grazrat2    !: maximal mesozoo grazing rate 
     46   REAL(wp), PUBLIC ::  xkgraz2      !: non assimilated fraction of P by mesozoo  
     47   REAL(wp), PUBLIC ::  unass2      !: Efficicency of mesozoo growth  
     48   REAL(wp), PUBLIC ::  sigma2      !: Fraction of mesozoo excretion as DOM  
     49   REAL(wp), PUBLIC ::  epsher2      !: half sturation constant for grazing 2 
     50   REAL(wp), PUBLIC ::  grazflux    !: mesozoo flux feeding rate 
    5151 
    5252   !!* Substitution 
     
    255255         &                xprefpoc, xthresh2dia, xthresh2phy, xthresh2zoo, xthresh2poc, & 
    256256         &                xthresh2, xkgraz2, epsher2, sigma2, unass2, grazflux 
    257  
    258       REWIND( numnatp )                     ! read numnatp 
    259       READ  ( numnatp, nampismes ) 
     257      INTEGER :: ios                 ! Local integer output status for namelist read 
     258 
     259      REWIND( numnatp_ref )              ! Namelist nampismes in reference namelist : Pisces mesozooplankton 
     260      READ  ( numnatp_ref, nampismes, IOSTAT = ios, ERR = 901) 
     261901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in reference namelist', lwp ) 
     262 
     263      REWIND( numnatp_cfg )              ! Namelist nampismes in configuration namelist : Pisces mesozooplankton 
     264      READ  ( numnatp_cfg, nampismes, IOSTAT = ios, ERR = 902 ) 
     265902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in configuration namelist', lwp ) 
     266      WRITE ( numonp, nampismes ) 
    260267 
    261268 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90

    r3829 r4147  
    3232 
    3333   !! * Shared module variables 
    34    REAL(wp), PUBLIC ::  part       = 0.5_wp    !: part of calcite not dissolved in microzoo guts 
    35    REAL(wp), PUBLIC ::  xpref2c    = 0.2_wp    !: microzoo preference for POC  
    36    REAL(wp), PUBLIC ::  xpref2p    = 1.0_wp    !: microzoo preference for nanophyto 
    37    REAL(wp), PUBLIC ::  xpref2d    = 0.6_wp    !: microzoo preference for diatoms 
    38    REAL(wp), PUBLIC ::  xthreshdia = 1E-8_wp    !: diatoms feeding threshold for microzooplankton  
    39    REAL(wp), PUBLIC ::  xthreshphy = 2E-7_wp    !: nanophyto threshold for microzooplankton  
    40    REAL(wp), PUBLIC ::  xthreshpoc = 1E-8_wp    !: poc threshold for microzooplankton  
    41    REAL(wp), PUBLIC ::  xthresh    = 0._wp      !: feeding threshold for microzooplankton  
    42    REAL(wp), PUBLIC ::  resrat     = 0.03_wp    !: exsudation rate of microzooplankton 
    43    REAL(wp), PUBLIC ::  mzrat      = 0.0_wp    !: microzooplankton mortality rate  
    44    REAL(wp), PUBLIC ::  grazrat    = 3.0_wp    !: maximal microzoo grazing rate 
    45    REAL(wp), PUBLIC ::  xkgraz     = 20E-6_wp  !: non assimilated fraction of P by microzoo  
    46    REAL(wp), PUBLIC ::  unass      = 0.3_wp    !: Efficicency of microzoo growth  
    47    REAL(wp), PUBLIC ::  sigma1     = 0.6_wp    !: Fraction of microzoo excretion as DOM  
    48    REAL(wp), PUBLIC ::  epsher     = 0.3_wp    !: half sturation constant for grazing 1  
     34   REAL(wp), PUBLIC ::  part        !: part of calcite not dissolved in microzoo guts 
     35   REAL(wp), PUBLIC ::  xpref2c    !: microzoo preference for POC  
     36   REAL(wp), PUBLIC ::  xpref2p    !: microzoo preference for nanophyto 
     37   REAL(wp), PUBLIC ::  xpref2d    !: microzoo preference for diatoms 
     38   REAL(wp), PUBLIC ::  xthreshdia !: diatoms feeding threshold for microzooplankton  
     39   REAL(wp), PUBLIC ::  xthreshphy !: nanophyto threshold for microzooplankton  
     40   REAL(wp), PUBLIC ::  xthreshpoc !: poc threshold for microzooplankton  
     41   REAL(wp), PUBLIC ::  xthresh    !: feeding threshold for microzooplankton  
     42   REAL(wp), PUBLIC ::  resrat      !: exsudation rate of microzooplankton 
     43   REAL(wp), PUBLIC ::  mzrat      !: microzooplankton mortality rate  
     44   REAL(wp), PUBLIC ::  grazrat    !: maximal microzoo grazing rate 
     45   REAL(wp), PUBLIC ::  xkgraz      !: non assimilated fraction of P by microzoo  
     46   REAL(wp), PUBLIC ::  unass      !: Efficicency of microzoo growth  
     47   REAL(wp), PUBLIC ::  sigma1      !: Fraction of microzoo excretion as DOM  
     48   REAL(wp), PUBLIC ::  epsher      !: half sturation constant for grazing 1  
    4949 
    5050 
     
    225225         &                xpref2d,  xthreshdia,  xthreshphy,  xthreshpoc, & 
    226226         &                xthresh, xkgraz, epsher, sigma1, unass 
    227  
    228       REWIND( numnatp )                     ! read numnatp 
    229       READ  ( numnatp, nampiszoo ) 
     227      INTEGER :: ios                 ! Local integer output status for namelist read 
     228 
     229      REWIND( numnatp_ref )              ! Namelist nampiszoo in reference namelist : Pisces microzooplankton 
     230      READ  ( numnatp_ref, nampiszoo, IOSTAT = ios, ERR = 901) 
     231901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiszoo in reference namelist', lwp ) 
     232 
     233      REWIND( numnatp_cfg )              ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton 
     234      READ  ( numnatp_cfg, nampiszoo, IOSTAT = ios, ERR = 902 ) 
     235902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiszoo in configuration namelist', lwp ) 
     236      WRITE ( numonp, nampiszoo ) 
    230237 
    231238      IF(lwp) THEN                         ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90

    r3475 r4147  
    2727 
    2828   !! * Shared module variables 
    29    REAL(wp), PUBLIC :: wchl   = 0.001_wp !: 
    30    REAL(wp), PUBLIC :: wchld  = 0.02_wp  !: 
    31    REAL(wp), PUBLIC :: wchldm = 0.05_wp  !: 
    32    REAL(wp), PUBLIC :: mprat  = 0.01_wp  !: 
    33    REAL(wp), PUBLIC :: mprat2 = 0.01_wp  !: 
     29   REAL(wp), PUBLIC :: wchl    !: 
     30   REAL(wp), PUBLIC :: wchld  !: 
     31   REAL(wp), PUBLIC :: wchldm !: 
     32   REAL(wp), PUBLIC :: mprat  !: 
     33   REAL(wp), PUBLIC :: mprat2 !: 
    3434 
    3535 
     
    239239 
    240240      NAMELIST/nampismort/ wchl, wchld, wchldm, mprat, mprat2 
    241  
    242       REWIND( numnatp )                     ! read numnatp 
    243       READ  ( numnatp, nampismort ) 
     241      INTEGER :: ios                 ! Local integer output status for namelist read 
     242 
     243      REWIND( numnatp_ref )              ! Namelist nampismort in reference namelist : Pisces phytoplankton 
     244      READ  ( numnatp_ref, nampismort, IOSTAT = ios, ERR = 901) 
     245901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismort in reference namelist', lwp ) 
     246 
     247      REWIND( numnatp_cfg )              ! Namelist nampismort in configuration namelist : Pisces phytoplankton 
     248      READ  ( numnatp_cfg, nampismort, IOSTAT = ios, ERR = 902 ) 
     249902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismort in configuration namelist', lwp ) 
     250      WRITE ( numonp, nampismort ) 
    244251 
    245252      IF(lwp) THEN                         ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90

    r3475 r4147  
    3232   !! * Shared module variables 
    3333 
    34    LOGICAL  :: ln_varpar = .FALSE.    !: boolean for variable PAR fraction 
    35    REAL(wp) :: parlux    = 0.43_wp    !: Fraction of shortwave as PAR 
     34   LOGICAL  :: ln_varpar   !: boolean for variable PAR fraction 
     35   REAL(wp) :: parlux      !: Fraction of shortwave as PAR 
    3636   REAL(wp) :: xparsw                 !: parlux/3 
    3737 
     
    318318      INTEGER :: numpar 
    319319      INTEGER :: ierr 
     320      INTEGER :: ios                 ! Local integer output status for namelist read 
    320321      REAL(wp), DIMENSION(nbtimes) :: zsteps                 ! times records 
    321322      ! 
     
    329330      IF( nn_timing == 1 )  CALL timing_start('p4z_opt_init') 
    330331 
    331       cn_dir  = './'            ! directory in which the model is executed 
    332       ! ... default values (NB: frequency positive => hours, negative => months) 
    333       !                  !   file       ! frequency !  variable   ! time intep !  clim   ! 'yearly' or ! weights  ! rotation   ! 
    334       !                  !   name       !  (hours)  !   name      !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs      ! 
    335       sn_par     = FLD_N( 'par_fraction',    24     ,  'fr_par'     ,  .true.    , .true.  ,   'yearly'  , ''       , ''         ) 
    336  
    337       REWIND( numnatp )                     ! read numnatp 
    338       READ  ( numnatp, nampisopt ) 
     332      REWIND( numnatp_ref )              ! Namelist nampisopt in reference namelist : Pisces attenuation coef. and PAR 
     333      READ  ( numnatp_ref, nampisopt, IOSTAT = ios, ERR = 901) 
     334901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisopt in reference namelist', lwp ) 
     335 
     336      REWIND( numnatp_cfg )              ! Namelist nampisopt in configuration namelist : Pisces attenuation coef. and PAR 
     337      READ  ( numnatp_cfg, nampisopt, IOSTAT = ios, ERR = 902 ) 
     338902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisopt in configuration namelist', lwp ) 
     339      WRITE ( numonp, nampisopt ) 
    339340 
    340341      IF(lwp) THEN 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90

    r3686 r4147  
    3232 
    3333   !! * Shared module variables 
    34    LOGICAL , PUBLIC ::  ln_newprod = .FALSE. 
    35    REAL(wp), PUBLIC ::  pislope    = 3.0_wp            !: 
    36    REAL(wp), PUBLIC ::  pislope2   = 3.0_wp            !: 
    37    REAL(wp), PUBLIC ::  excret     = 10.e-5_wp         !: 
    38    REAL(wp), PUBLIC ::  excret2    = 0.05_wp           !: 
    39    REAL(wp), PUBLIC ::  bresp      = 0.00333_wp        !: 
    40    REAL(wp), PUBLIC ::  chlcnm     = 0.033_wp          !: 
    41    REAL(wp), PUBLIC ::  chlcdm     = 0.05_wp           !: 
    42    REAL(wp), PUBLIC ::  chlcmin    = 0.00333_wp        !: 
    43    REAL(wp), PUBLIC ::  fecnm      = 10.E-6_wp         !: 
    44    REAL(wp), PUBLIC ::  fecdm      = 15.E-6_wp         !: 
    45    REAL(wp), PUBLIC ::  grosip     = 0.151_wp          !: 
     34   LOGICAL , PUBLIC ::  ln_newprod      !: 
     35   REAL(wp), PUBLIC ::  pislope         !: 
     36   REAL(wp), PUBLIC ::  pislope2        !: 
     37   REAL(wp), PUBLIC ::  excret          !: 
     38   REAL(wp), PUBLIC ::  excret2         !: 
     39   REAL(wp), PUBLIC ::  bresp           !: 
     40   REAL(wp), PUBLIC ::  chlcnm          !: 
     41   REAL(wp), PUBLIC ::  chlcdm          !: 
     42   REAL(wp), PUBLIC ::  chlcmin         !: 
     43   REAL(wp), PUBLIC ::  fecnm           !: 
     44   REAL(wp), PUBLIC ::  fecdm           !: 
     45   REAL(wp), PUBLIC ::  grosip          !: 
    4646 
    4747   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   prmax    !: optimal production = f(temperature) 
     
    472472      NAMELIST/nampisprod/ pislope, pislope2, ln_newprod, bresp, excret, excret2,  & 
    473473         &                 chlcnm, chlcdm, chlcmin, fecnm, fecdm, grosip 
     474      INTEGER :: ios                 ! Local integer output status for namelist read 
    474475      !!---------------------------------------------------------------------- 
    475476 
    476       REWIND( numnatp )                     ! read numnatp 
    477       READ  ( numnatp, nampisprod ) 
     477      REWIND( numnatp_ref )              ! Namelist nampisprod in reference namelist : Pisces phytoplankton production 
     478      READ  ( numnatp_ref, nampisprod, IOSTAT = ios, ERR = 901) 
     479901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisprod in reference namelist', lwp ) 
     480 
     481      REWIND( numnatp_cfg )              ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production 
     482      READ  ( numnatp_cfg, nampisprod, IOSTAT = ios, ERR = 902 ) 
     483902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisprod in configuration namelist', lwp ) 
     484      WRITE ( numonp, nampisprod ) 
    478485 
    479486      IF(lwp) THEN                         ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90

    r3496 r4147  
    3838 
    3939   !! * Shared module variables 
    40    REAL(wp), PUBLIC ::  xremik    = 0.3_wp    !: remineralisation rate of POC  
    41    REAL(wp), PUBLIC ::  xremip    = 0.025_wp  !: remineralisation rate of DOC 
    42    REAL(wp), PUBLIC ::  nitrif    = 0.05_wp    !: NH4 nitrification rate  
    43    REAL(wp), PUBLIC ::  xsirem    = 0.003_wp  !: remineralisation rate of POC  
    44    REAL(wp), PUBLIC ::  xsiremlab = 0.025_wp  !: fast remineralisation rate of POC  
    45    REAL(wp), PUBLIC ::  xsilab    = 0.31_wp    !: fraction of labile biogenic silica  
    46    REAL(wp), PUBLIC ::  oxymin    = 1.e-6_wp  !: halk saturation constant for anoxia  
     40   REAL(wp), PUBLIC ::  xremik    !: remineralisation rate of POC  
     41   REAL(wp), PUBLIC ::  xremip    !: remineralisation rate of DOC 
     42   REAL(wp), PUBLIC ::  nitrif    !: NH4 nitrification rate  
     43   REAL(wp), PUBLIC ::  xsirem    !: remineralisation rate of POC  
     44   REAL(wp), PUBLIC ::  xsiremlab !: fast remineralisation rate of POC  
     45   REAL(wp), PUBLIC ::  xsilab    !: fraction of labile biogenic silica  
     46   REAL(wp), PUBLIC ::  oxymin    !: halk saturation constant for anoxia  
    4747 
    4848 
     
    349349      NAMELIST/nampisrem/ xremik, xremip, nitrif, xsirem, xsiremlab, xsilab,   & 
    350350      &                   oxymin 
    351  
    352       REWIND( numnatp )                     ! read numnatp 
    353       READ  ( numnatp, nampisrem ) 
     351      INTEGER :: ios                 ! Local integer output status for namelist read 
     352 
     353      REWIND( numnatp_ref )              ! Namelist nampisrem in reference namelist : Pisces remineralization 
     354      READ  ( numnatp_ref, nampisrem, IOSTAT = ios, ERR = 901) 
     355901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisrem in reference namelist', lwp ) 
     356 
     357      REWIND( numnatp_cfg )              ! Namelist nampisrem in configuration namelist : Pisces remineralization 
     358      READ  ( numnatp_cfg, nampisrem, IOSTAT = ios, ERR = 902 ) 
     359902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisrem in configuration namelist', lwp ) 
     360      WRITE ( numonp, nampisrem ) 
    354361 
    355362      IF(lwp) THEN                         ! control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90

    r3557 r4147  
    2626 
    2727   !! * Shared module variables 
    28    LOGICAL , PUBLIC  :: ln_dust     = .FALSE.    !: boolean for dust input from the atmosphere 
    29    LOGICAL , PUBLIC  :: ln_solub    = .FALSE.    !: boolean for variable solubility of atmospheric iron 
    30    LOGICAL , PUBLIC  :: ln_river    = .FALSE.    !: boolean for river input of nutrients 
    31    LOGICAL , PUBLIC  :: ln_ndepo    = .FALSE.    !: boolean for atmospheric deposition of N 
    32    LOGICAL , PUBLIC  :: ln_ironsed  = .FALSE.    !: boolean for Fe input from sediments 
    33    LOGICAL , PUBLIC  :: ln_hydrofe  = .FALSE.    !: boolean for Fe input from hydrothermal vents 
    34    LOGICAL , PUBLIC  :: ln_ironice  = .FALSE.    !: boolean for Fe input from sea ice 
    35    REAL(wp), PUBLIC  :: sedfeinput  = 1.E-9_wp   !: Coastal release of Iron 
    36    REAL(wp), PUBLIC  :: dustsolub   = 0.014_wp   !: Solubility of the dust 
    37    REAL(wp), PUBLIC  :: icefeinput  = 10E-9_wp   !: Iron concentration in sea ice 
    38    REAL(wp), PUBLIC  :: wdust       = 2.0_wp     !: Sinking speed of the dust  
    39    REAL(wp), PUBLIC  :: nitrfix     = 1E-7_wp    !: Nitrogen fixation rate    
    40    REAL(wp), PUBLIC  :: diazolight  = 50._wp     !: Nitrogen fixation sensitivty to light  
    41    REAL(wp), PUBLIC  :: concfediaz  = 1.E-10_wp  !: Fe half-saturation Cste for diazotrophs  
    42    REAL(wp)          :: hratio      = 9.E-5_wp   !: Fe:3He ratio assumed for vent iron supply 
     28   LOGICAL , PUBLIC  :: ln_dust     !: boolean for dust input from the atmosphere 
     29   LOGICAL , PUBLIC  :: ln_solub    !: boolean for variable solubility of atmospheric iron 
     30   LOGICAL , PUBLIC  :: ln_river    !: boolean for river input of nutrients 
     31   LOGICAL , PUBLIC  :: ln_ndepo    !: boolean for atmospheric deposition of N 
     32   LOGICAL , PUBLIC  :: ln_ironsed  !: boolean for Fe input from sediments 
     33   LOGICAL , PUBLIC  :: ln_hydrofe  !: boolean for Fe input from hydrothermal vents 
     34   LOGICAL , PUBLIC  :: ln_ironice  !: boolean for Fe input from sea ice 
     35   REAL(wp), PUBLIC  :: sedfeinput  !: Coastal release of Iron 
     36   REAL(wp), PUBLIC  :: dustsolub   !: Solubility of the dust 
     37   REAL(wp), PUBLIC  :: icefeinput  !: Iron concentration in sea ice 
     38   REAL(wp), PUBLIC  :: wdust       !: Sinking speed of the dust  
     39   REAL(wp), PUBLIC  :: nitrfix     !: Nitrogen fixation rate    
     40   REAL(wp), PUBLIC  :: diazolight  !: Nitrogen fixation sensitivty to light  
     41   REAL(wp), PUBLIC  :: concfediaz  !: Fe half-saturation Cste for diazotrophs  
     42   REAL(wp)          :: hratio      !: Fe:3He ratio assumed for vent iron supply 
    4343 
    4444   LOGICAL , PUBLIC  :: ll_sbc 
     
    186186      INTEGER  :: numdust, numsolub, numriv, numiron, numdepo, numhydro 
    187187      INTEGER  :: ierr, ierr1, ierr2, ierr3 
     188      INTEGER  :: ios                 ! Local integer output status for namelist read 
    188189      REAL(wp) :: zexpide, zdenitide, zmaskt 
    189190      REAL(wp) :: ztimes_dust, ztimes_riv, ztimes_ndep  
     
    209210      ! 
    210211      !                            !* set file information 
    211       cn_dir  = './'            ! directory in which the model is executed 
    212       ! ... default values (NB: frequency positive => hours, negative => months) 
    213       !                  !   file       ! frequency !  variable   ! time intep !  clim   ! 'yearly' or ! weights  ! rotation   ! 
    214       !                  !   name       !  (hours)  !   name      !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs      ! 
    215       sn_dust     = FLD_N( 'dust'       ,    -1     ,  'dust'     ,  .true.    , .true.  ,   'yearly'  , ''       , ''         ) 
    216       sn_solub    = FLD_N( 'solubility' ,    -12    ,  'solub'    ,  .true.    , .true.  ,   'yearly'  , ''       , ''         ) 
    217       sn_riverdic = FLD_N( 'river'      ,   -12     ,  'riverdic' ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    218       sn_riverdoc = FLD_N( 'river'      ,   -12     ,  'riverdoc' ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    219       sn_riverdin = FLD_N( 'river'      ,   -12     ,  'riverdin' ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    220       sn_riverdon = FLD_N( 'river'      ,   -12     ,  'riverdon' ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    221       sn_riverdip = FLD_N( 'river'      ,   -12     ,  'riverdip' ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    222       sn_riverdop = FLD_N( 'river'      ,   -12     ,  'riverdop' ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    223       sn_riverdsi = FLD_N( 'river'      ,   -12     ,  'riverdsi' ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    224       sn_ndepo    = FLD_N( 'ndeposition',   -12     ,  'ndep'     ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    225       sn_ironsed  = FLD_N( 'ironsed'    ,   -12     ,  'bathy'    ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    226       sn_hydrofe  = FLD_N( 'hydrofe'    ,   -12     ,  'hydro'    ,  .false.   , .true.  ,   'yearly'  , ''       , ''         ) 
    227  
    228       REWIND( numnatp )                     ! read numnatp 
    229       READ  ( numnatp, nampissbc ) 
     212 
     213      REWIND( numnatp_ref )              ! Namelist nampissbc in reference namelist : Pisces external sources of nutrients 
     214      READ  ( numnatp_ref, nampissbc, IOSTAT = ios, ERR = 901) 
     215901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampissbc in reference namelist', lwp ) 
     216 
     217      REWIND( numnatp_cfg )              ! Namelist nampissbc in configuration namelist : Pisces external sources of nutrients 
     218      READ  ( numnatp_cfg, nampissbc, IOSTAT = ios, ERR = 902 ) 
     219902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampissbc in configuration namelist', lwp ) 
     220      WRITE ( numonp, nampissbc ) 
    230221 
    231222      IF(lwp) THEN 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90

    r3829 r4147  
    4444 
    4545#if  defined key_kriest 
    46    REAL(wp) ::  xkr_sfact    = 250.     !: Sinking factor 
    47    REAL(wp) ::  xkr_stick    = 0.2      !: Stickiness 
    48    REAL(wp) ::  xkr_nnano    = 2.337    !: Nbr of cell in nano size class 
    49    REAL(wp) ::  xkr_ndiat    = 3.718    !: Nbr of cell in diatoms size class 
    50    REAL(wp) ::  xkr_nmicro   = 3.718    !: Nbr of cell in microzoo size class 
    51    REAL(wp) ::  xkr_nmeso    = 7.147    !: Nbr of cell in mesozoo  size class 
    52    REAL(wp) ::  xkr_naggr    = 9.877    !: Nbr of cell in aggregates  size class 
     46   REAL(wp) ::  xkr_sfact    !: Sinking factor 
     47   REAL(wp) ::  xkr_stick    !: Stickiness 
     48   REAL(wp) ::  xkr_nnano    !: Nbr of cell in nano size class 
     49   REAL(wp) ::  xkr_ndiat    !: Nbr of cell in diatoms size class 
     50   REAL(wp) ::  xkr_nmicro   !: Nbr of cell in microzoo size class 
     51   REAL(wp) ::  xkr_nmeso    !: Nbr of cell in mesozoo  size class 
     52   REAL(wp) ::  xkr_naggr    !: Nbr of cell in aggregates  size class 
    5353 
    5454   REAL(wp) ::  xkr_frac  
     
    538538      !!---------------------------------------------------------------------- 
    539539      INTEGER  ::   jk, jn, kiter 
     540      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    540541      REAL(wp) ::   znum, zdiv 
    541542      REAL(wp) ::   zws, zwr, zwl,wmax, znummax 
     
    548549      IF( nn_timing == 1 )  CALL timing_start('p4z_sink_init') 
    549550      ! 
    550       REWIND( numnatp )                     ! read nampiskrs 
    551       READ  ( numnatp, nampiskrs ) 
     551 
     552      REWIND( numnatp_ref )              ! Namelist nampiskrs in reference namelist : Pisces sinking Kriest 
     553      READ  ( numnatp_ref, nampiskrs, IOSTAT = ios, ERR = 901) 
     554901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrs in reference namelist', lwp ) 
     555 
     556      REWIND( numnatp_cfg )              ! Namelist nampiskrs in configuration namelist : Pisces sinking Kriest 
     557      READ  ( numnatp_cfg, nampiskrs, IOSTAT = ios, ERR = 902 ) 
     558902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrs in configuration namelist', lwp ) 
     559      WRITE ( numonp, nampiskrs ) 
    552560 
    553561      IF(lwp) THEN 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90

    r3780 r4147  
    145145      CALL p4z_chk_mass( kt ) ! Mass conservation checking 
    146146 
     147      IF ( kt == nittrc000 ) CALL FLUSH    ( numonp )     ! flush output namelist PISCES 
    147148      IF( nn_timing == 1 )  CALL timing_stop('p4z_sms') 
    148149      ! 
     
    166167      NAMELIST/nampisdmp/ ln_pisdmp, nn_pisdmp, ln_pisclo 
    167168      NAMELIST/nampismass/ ln_check_mass 
    168       !!---------------------------------------------------------------------- 
    169  
    170  
    171       REWIND( numnatp ) 
    172       READ  ( numnatp, nampisbio ) 
     169      INTEGER :: ios                 ! Local integer output status for namelist read 
     170      !!---------------------------------------------------------------------- 
     171 
     172      REWIND( numnatp_ref )              ! Namelist nampisbio in reference namelist : Pisces variables 
     173      READ  ( numnatp_ref, nampisbio, IOSTAT = ios, ERR = 901) 
     174901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisbio in reference namelist', lwp ) 
     175 
     176      REWIND( numnatp_cfg )              ! Namelist nampisbio in configuration namelist : Pisces variables 
     177      READ  ( numnatp_cfg, nampisbio, IOSTAT = ios, ERR = 902 ) 
     178902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisbio in configuration namelist', lwp ) 
     179      WRITE ( numonp, nampisbio ) 
    173180 
    174181      IF(lwp) THEN                         ! control print 
     
    187194      !                               ! nampiskrp : kriest parameters 
    188195      !                               ! ----------------------------- 
    189       xkr_eta      = 0.62 
    190       xkr_zeta     = 1.62 
    191       xkr_ncontent = 5.7E-6 
    192       xkr_mass_min = 0.0002 
    193       xkr_mass_max = 1. 
    194  
    195       REWIND( numnatp )                     ! read natkriest 
    196       READ  ( numnatp, nampiskrp ) 
     196      REWIND( numnatp_ref )              ! Namelist nampiskrp in reference namelist : Pisces Kriest 
     197      READ  ( numnatp_ref, nampiskrp, IOSTAT = ios, ERR = 903) 
     198903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrp in reference namelist', lwp ) 
     199 
     200      REWIND( numnatp_cfg )              ! Namelist nampiskrp in configuration namelist : Pisces Kriest 
     201      READ  ( numnatp_cfg, nampiskrp, IOSTAT = ios, ERR = 904 ) 
     202904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrp in configuration namelist', lwp ) 
     203      WRITE ( numonp, nampiskrp ) 
    197204 
    198205      IF(lwp) THEN 
     
    213220#endif 
    214221 
    215       ln_pisdmp = .true. 
    216       nn_pisdmp = 1 
    217       ln_pisclo = .false. 
    218  
    219       REWIND( numnatp ) 
    220       READ  ( numnatp, nampisdmp ) 
     222      REWIND( numnatp_ref )              ! Namelist nampisdmp in reference namelist : Pisces damping 
     223      READ  ( numnatp_ref, nampisdmp, IOSTAT = ios, ERR = 905) 
     224905   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdmp in reference namelist', lwp ) 
     225 
     226      REWIND( numnatp_cfg )              ! Namelist nampisdmp in configuration namelist : Pisces damping 
     227      READ  ( numnatp_cfg, nampisdmp, IOSTAT = ios, ERR = 906 ) 
     228906   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdmp in configuration namelist', lwp ) 
     229      WRITE ( numonp, nampisdmp ) 
    221230 
    222231      IF(lwp) THEN                         ! control print 
     
    229238      ENDIF 
    230239 
    231       ln_check_mass = .false. 
    232       REWIND( numnatp )        
    233       READ  ( numnatp, nampismass ) 
     240      REWIND( numnatp_ref )              ! Namelist nampismass in reference namelist : Pisces mass conservation check 
     241      READ  ( numnatp_ref, nampismass, IOSTAT = ios, ERR = 907) 
     242907   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismass in reference namelist', lwp ) 
     243 
     244      REWIND( numnatp_cfg )              ! Namelist nampismass in configuration namelist : Pisces mass conservation check  
     245      READ  ( numnatp_cfg, nampismass, IOSTAT = ios, ERR = 908 ) 
     246908   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismass in configuration namelist', lwp ) 
     247      WRITE ( numonp, nampismass ) 
     248 
    234249      IF(lwp) THEN                         ! control print 
    235250         WRITE(numout,*) ' ' 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90

    r3780 r4147  
    1717   PUBLIC 
    1818 
    19    INTEGER ::   numnatp 
     19   INTEGER ::   numnatp_ref = -1           !! Logical units for namelist pisces 
     20   INTEGER ::   numnatp_cfg = -1           !! Logical units for namelist pisces 
     21   INTEGER ::   numonp      = -1           !! Logical unit for namelist pisces output 
    2022 
    2123   !!*  Biological fluxes for light : variables shared by pisces & lobster 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90

    r3680 r4147  
    4949      !! 
    5050      INTEGER :: jl, jn 
     51      INTEGER :: ios                 ! Local integer output status for namelist read 
    5152      TYPE(DIAG), DIMENSION(jp_pisces_2d)  :: pisdia2d 
    5253      TYPE(DIAG), DIMENSION(jp_pisces_3d)  :: pisdia3d 
     
    6970#endif 
    7071      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    71       CALL ctl_opn( numnatp, TRIM( clname ), 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    72  
     72      CALL ctl_opn( numnatp_ref, TRIM( clname )//'_ref', 'OLD'    , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
     73      CALL ctl_opn( numnatp_cfg, TRIM( clname )//'_cfg', 'OLD'    , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
     74      CALL ctl_opn( numonp     , 'output.namelist.pis' , 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    7375      ! 
    7476      IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN 
     
    7678         ! Namelist nampisdia 
    7779         ! ------------------- 
    78          DO jl = 1, jp_pisces_2d 
    79             WRITE(pisdia2d(jl)%sname,'("2D_",I1)') jl                      ! short name 
    80             WRITE(pisdia2d(jl)%lname,'("2D DIAGNOSTIC NUMBER ",I2)') jl    ! long name 
    81             pisdia2d(jl)%units = ' '                                       ! units 
    82          END DO 
    83          !                                 ! 3D output arrays 
    84          DO jl = 1, jp_pisces_3d 
    85             WRITE(pisdia3d(jl)%sname,'("3D_",I1)') jl                      ! short name 
    86             WRITE(pisdia3d(jl)%lname,'("3D DIAGNOSTIC NUMBER ",I2)') jl    ! long name 
    87             pisdia3d(jl)%units = ' '                                       ! units 
    88          END DO 
     80         REWIND( numnatp_ref )              ! Namelist nampisdia in reference namelist : Pisces diagnostics 
     81         READ  ( numnatp_ref, nampisdia, IOSTAT = ios, ERR = 901) 
     82901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in reference namelist', lwp ) 
    8983 
    90          REWIND( numnatp )               !  
    91          READ  ( numnatp, nampisdia ) 
     84         REWIND( numnatp_cfg )              ! Namelist nampisdia in configuration namelist : Pisces diagnostics 
     85         READ  ( numnatp_cfg, nampisdia, IOSTAT = ios, ERR = 902 ) 
     86902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in configuration namelist', lwp ) 
     87         WRITE ( numonp, nampisdia ) 
    9288 
    9389         DO jl = 1, jp_pisces_2d 
     
    131127         ! Namelist nampisdbi 
    132128         ! ------------------- 
    133          DO jl = 1, jp_pisces_trd 
    134             IF(     jl <  10 ) THEN   ;   WRITE (pisdiabio(jl)%sname,'("BIO_",I1)') jl      ! short name 
    135             ELSEIF (jl < 100 ) THEN   ;   WRITE (pisdiabio(jl)%sname,'("BIO_",I2)') jl 
    136             ELSE                      ;   WRITE (pisdiabio(jl)%sname,'("BIO_",I3)') jl 
    137             ENDIF 
    138             WRITE(pisdiabio(jl)%lname,'("BIOLOGICAL TREND NUMBER ",I2)') jl                 ! long name 
    139             pisdiabio(jl)%units = 'mmoleN/m3/s '                                            ! units 
    140          END DO 
     129         REWIND( numnatp_ref )              ! Namelist nampisdbi in reference namelist : Pisces add. diagnostics 
     130         READ  ( numnatp_ref, nampisdbi, IOSTAT = ios, ERR = 903) 
     131903      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in reference namelist', lwp ) 
    141132 
    142          REWIND( numnatp ) 
    143          READ  ( numnatp, nampisdbi ) 
     133         REWIND( numnatp_cfg )              ! Namelist nampisdbi in configuration namelist : Pisces add. diagnostics 
     134         READ  ( numnatp_cfg, nampisdbi, IOSTAT = ios, ERR = 904 ) 
     135904      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in configuration namelist', lwp ) 
     136         WRITE ( numonp, nampisdbi ) 
    144137 
    145138         DO jl = 1, jp_pisces_trd 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90

    r3680 r4147  
    5151      ELSE               ;   CALL p2z_sms( kt )   !  LOBSTER 
    5252      ENDIF 
     53 
    5354      ! 
    5455   END SUBROUTINE trc_sms_pisces 
Note: See TracChangeset for help on using the changeset viewer.