- Timestamp:
- 2016-11-30T17:56:53+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_merge_2016/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90
r4990 r7403 8 8 !! 1.0 ! 2003-08 (C. Ethe) module F90 9 9 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) from trcnam.pisces.h90 10 !!----------------------------------------------------------------------11 #if defined key_pisces || defined key_pisces_reduced12 !!----------------------------------------------------------------------13 !! 'key_pisces' : PISCES bio-model14 10 !!---------------------------------------------------------------------- 15 11 !! trc_nam_pisces : PISCES model namelist read … … 45 41 !! ** input : file 'namelist.trc.sms' containing the following 46 42 !! namelist: natext, natbio, natsms 47 !! natkriest ("key_kriest")48 43 !!---------------------------------------------------------------------- 49 44 !! 50 45 INTEGER :: jl, jn 51 INTEGER :: ios ! Local integer output status for namelist read 52 TYPE(DIAG), DIMENSION(jp_pisces_2d) :: pisdia2d 53 TYPE(DIAG), DIMENSION(jp_pisces_3d) :: pisdia3d 54 TYPE(DIAG), DIMENSION(jp_pisces_trd) :: pisdiabio 46 INTEGER :: ios, ioptio ! Local integer output status for namelist read 55 47 CHARACTER(LEN=20) :: clname 56 48 !! 57 NAMELIST/nampisdia/ pisdia3d, pisdia2d ! additional diagnostics 58 #if defined key_pisces_reduced 59 NAMELIST/nampisdbi/ pisdiabio 60 #endif 61 49 NAMELIST/nampismod/ln_p2z, ln_p4z, ln_p5z, ln_ligand 62 50 !!---------------------------------------------------------------------- 63 51 64 52 IF(lwp) WRITE(numout,*) 65 53 clname = 'namelist_pisces' 66 #if defined key_pisces 54 67 55 IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read PISCES namelist' 68 #else69 IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read LOBSTER namelist'70 #endif71 56 IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 72 57 CALL ctl_opn( numnatp_ref, TRIM( clname )//'_ref', 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) … … 74 59 IF(lwm) CALL ctl_opn( numonp , 'output.namelist.pis' , 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 75 60 ! 76 IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN77 !78 ! Namelist nampisdia79 ! -------------------80 REWIND( numnatp_ref ) ! Namelist nampisdia in reference namelist : Pisces diagnostics81 READ ( numnatp_ref, nampisdia, IOSTAT = ios, ERR = 901)82 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in reference namelist', lwp )83 61 84 REWIND( numnatp_cfg ) ! Namelist nampisdia in configuration namelist : Pisces diagnostics 85 READ ( numnatp_cfg, nampisdia, IOSTAT = ios, ERR = 902 ) 86 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in configuration namelist', lwp ) 87 IF(lwm) WRITE ( numonp, nampisdia ) 62 REWIND( numnatp_ref ) ! Namelist nampisbio in reference namelist : Pisces variables 63 READ ( numnatp_ref, nampismod, IOSTAT = ios, ERR = 901) 64 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismod in reference namelist', lwp ) 88 65 89 DO jl = 1, jp_pisces_2d 90 jn = jp_pcs0_2d + jl - 1 91 ctrc2d(jn) = pisdia2d(jl)%sname 92 ctrc2l(jn) = pisdia2d(jl)%lname 93 ctrc2u(jn) = pisdia2d(jl)%units 94 END DO 66 REWIND( numnatp_cfg ) ! Namelist nampisbio in configuration namelist : Pisces variables 67 READ ( numnatp_cfg, nampismod, IOSTAT = ios, ERR = 902 ) 68 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismod in configuration namelist', lwp ) 69 IF(lwm) WRITE ( numonp, nampismod ) 95 70 96 DO jl = 1, jp_pisces_3d 97 jn = jp_pcs0_3d + jl - 1 98 ctrc3d(jn) = pisdia3d(jl)%sname 99 ctrc3l(jn) = pisdia3d(jl)%lname 100 ctrc3u(jn) = pisdia3d(jl)%units 101 END DO 102 103 IF(lwp) THEN ! control print 104 WRITE(numout,*) 105 WRITE(numout,*) ' Namelist : natadd' 106 DO jl = 1, jp_pisces_3d 107 jn = jp_pcs0_3d + jl - 1 108 WRITE(numout,*) ' 3d diag nb : ', jn, ' short name : ', ctrc3d(jn), & 109 & ' long name : ', ctrc3l(jn), ' unit : ', ctrc3u(jn) 110 END DO 111 WRITE(numout,*) ' ' 112 113 DO jl = 1, jp_pisces_2d 114 jn = jp_pcs0_2d + jl - 1 115 WRITE(numout,*) ' 2d diag nb : ', jn, ' short name : ', ctrc2d(jn), & 116 & ' long name : ', ctrc2l(jn), ' unit : ', ctrc2u(jn) 117 END DO 118 WRITE(numout,*) ' ' 119 ENDIF 120 ! 71 IF(lwp) THEN ! control print 72 WRITE(numout,*) ' ' 73 WRITE(numout,*) ' Flag to use LOBSTER model ln_p2z = ', ln_p2z 74 WRITE(numout,*) ' Flag to use PISCES standard model ln_p4z = ', ln_p4z 75 WRITE(numout,*) ' Flag to use PISCES quota model ln_p5z = ', ln_p5z 76 WRITE(numout,*) ' Flag to ligand ln_ligand = ', ln_ligand 77 WRITE(numout,*) ' ' 121 78 ENDIF 122 79 123 #if defined key_pisces_reduced 124 125 IF( ( .NOT.lk_iomput .AND. ln_diabio ) .OR. lk_trdmxl_trc ) THEN 126 ! 127 ! Namelist nampisdbi 128 ! ------------------- 129 REWIND( numnatp_ref ) ! Namelist nampisdbi in reference namelist : Pisces add. diagnostics 130 READ ( numnatp_ref, nampisdbi, IOSTAT = ios, ERR = 903) 131 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in reference namelist', lwp ) 132 133 REWIND( numnatp_cfg ) ! Namelist nampisdbi in configuration namelist : Pisces add. diagnostics 134 READ ( numnatp_cfg, nampisdbi, IOSTAT = ios, ERR = 904 ) 135 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in configuration namelist', lwp ) 136 IF(lwm) WRITE ( numonp, nampisdbi ) 137 138 DO jl = 1, jp_pisces_trd 139 jn = jp_pcs0_trd + jl - 1 140 ctrbio(jl) = pisdiabio(jl)%sname 141 ctrbil(jl) = pisdiabio(jl)%lname 142 ctrbiu(jl) = pisdiabio(jl)%units 143 END DO 144 145 IF(lwp) THEN ! control print 146 WRITE(numout,*) 147 WRITE(numout,*) ' Namelist : nampisdbi' 148 DO jl = 1, jp_pisces_trd 149 jn = jp_pcs0_trd + jl - 1 150 WRITE(numout,*) ' biological trend No : ', jn, ' short name : ', ctrbio(jn), & 151 & ' long name : ', ctrbio(jn), ' unit : ', ctrbio(jn) 152 END DO 153 WRITE(numout,*) ' ' 154 END IF 155 ! 156 END IF 157 158 #endif 159 80 IF(lwp) THEN ! control print 81 WRITE(numout,*) ' ' 82 IF( ln_p5z ) WRITE(numout,*) ' PISCES QUOTA model is used' 83 IF( ln_p4z ) WRITE(numout,*) ' PISCES STANDARD model is used' 84 IF( ln_p2z ) WRITE(numout,*) ' LOBSTER model is used' 85 IF( ln_ligand ) WRITE(numout,*) ' Compute remineralization/dissolution of organic ligands' 86 WRITE(numout,*) ' ' 87 ENDIF 88 89 ioptio = 0 90 IF( ln_p2z ) ioptio = ioptio + 1 91 IF( ln_p4z ) ioptio = ioptio + 1 92 IF( ln_p5z ) ioptio = ioptio + 1 93 ! 94 IF( ioptio /= 1 ) CALL ctl_stop( 'Choose ONE PISCES model namelist nampismod' ) 95 ! 160 96 END SUBROUTINE trc_nam_pisces 161 162 #else163 !!----------------------------------------------------------------------164 !! Dummy module : No PISCES bio-model165 !!----------------------------------------------------------------------166 CONTAINS167 SUBROUTINE trc_nam_pisces ! Empty routine168 END SUBROUTINE trc_nam_pisces169 #endif170 97 171 98 !!======================================================================
Note: See TracChangeset
for help on using the changeset viewer.