MODULE trcnam_pisces !!====================================================================== !! *** MODULE trcnam_pisces *** !! TOP : initialisation of some run parameters for PISCES bio-model !!====================================================================== !! History : - ! 1999-10 (M.A. Foujols, M. Levy) original code !! - ! 2000-01 (L. Bopp) hamocc3, p3zd !! 1.0 ! 2003-08 (C. Ethe) module F90 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) from trcnam.pisces.h90 !!---------------------------------------------------------------------- !! trc_nam_pisces : PISCES model namelist read !!---------------------------------------------------------------------- USE oce_trc ! Ocean variables USE par_trc ! TOP parameters USE trc ! TOP variables USE sms_pisces ! sms trends USE trdtrc_oce USE iom ! I/O manager IMPLICIT NONE PRIVATE PUBLIC trc_nam_pisces ! called by trcnam.F90 module !!---------------------------------------------------------------------- !! NEMO/TOP 3.3 , NEMO Consortium (2010) !! $Id$ !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) !!---------------------------------------------------------------------- CONTAINS SUBROUTINE trc_nam_pisces !!---------------------------------------------------------------------- !! *** trc_nam_pisces *** !! !! ** Purpose : read PISCES namelist !! !! ** input : file 'namelist.trc.sms' containing the following !! namelist: natext, natbio, natsms !!---------------------------------------------------------------------- !! INTEGER :: jl, jn INTEGER :: ios, ioptio ! Local integer output status for namelist read CHARACTER(LEN=20) :: clname !! NAMELIST/nampismod/ln_p2z, ln_p4z, ln_p5z, ln_ligand !!---------------------------------------------------------------------- IF(lwp) WRITE(numout,*) clname = 'namelist_pisces' IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read PISCES namelist' IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' CALL ctl_opn( numnatp_ref, TRIM( clname )//'_ref', 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) CALL ctl_opn( numnatp_cfg, TRIM( clname )//'_cfg', 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) IF(lwm) CALL ctl_opn( numonp , 'output.namelist.pis' , 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) ! REWIND( numnatp_ref ) ! Namelist nampisbio in reference namelist : Pisces variables READ ( numnatp_ref, nampismod, IOSTAT = ios, ERR = 901) 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismod in reference namelist', lwp ) REWIND( numnatp_cfg ) ! Namelist nampisbio in configuration namelist : Pisces variables READ ( numnatp_cfg, nampismod, IOSTAT = ios, ERR = 902 ) 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismod in configuration namelist', lwp ) IF(lwm) WRITE ( numonp, nampismod ) IF(lwp) THEN ! control print WRITE(numout,*) ' ' WRITE(numout,*) ' Flag to use LOBSTER model ln_p2z = ', ln_p2z WRITE(numout,*) ' Flag to use PISCES standard model ln_p4z = ', ln_p4z WRITE(numout,*) ' Flag to use PISCES quota model ln_p5z = ', ln_p5z WRITE(numout,*) ' Flag to ligand ln_ligand = ', ln_ligand WRITE(numout,*) ' ' ENDIF IF(lwp) THEN ! control print WRITE(numout,*) ' ' IF( ln_p5z ) WRITE(numout,*) ' PISCES QUOTA model is used' IF( ln_p4z ) WRITE(numout,*) ' PISCES STANDARD model is used' IF( ln_p2z ) WRITE(numout,*) ' LOBSTER model is used' IF( ln_ligand ) WRITE(numout,*) ' Compute remineralization/dissolution of organic ligands' WRITE(numout,*) ' ' ENDIF ioptio = 0 IF( ln_p2z ) ioptio = ioptio + 1 IF( ln_p4z ) ioptio = ioptio + 1 IF( ln_p5z ) ioptio = ioptio + 1 ! IF( ioptio /= 1 ) CALL ctl_stop( 'Choose ONE PISCES model namelist nampismod' ) ! END SUBROUTINE trc_nam_pisces !!====================================================================== END MODULE trcnam_pisces