Changeset 5989 for branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/TOP_SRC/trcnam.F90
- Timestamp:
- 2015-12-03T09:10:32+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/TOP_SRC/trcnam.F90
r5260 r5989 20 20 USE oce_trc ! shared variables between ocean and passive tracers 21 21 USE trc ! passive tracers common variables 22 USE trcnam_trp ! Transport namelist23 22 USE trcnam_pisces ! PISCES namelist 24 23 USE trcnam_cfc ! CFC SMS namelist … … 35 34 PUBLIC trc_nam ! called in trcini 36 35 37 !! * Substitutions38 # include "top_substitute.h90"39 36 !!---------------------------------------------------------------------- 40 37 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 41 !! $Id$ 38 !! $Id$ 42 39 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 43 40 !!---------------------------------------------------------------------- 44 45 41 CONTAINS 46 47 42 48 43 SUBROUTINE trc_nam … … 57 52 !!--------------------------------------------------------------------- 58 53 INTEGER :: jn ! dummy loop indice 59 ! ! Parameters of the run 60 IF( .NOT. lk_offline ) CALL trc_nam_run 61 62 ! ! passive tracer informations 63 CALL trc_nam_trc 64 65 ! ! Parameters of additional diagnostics 66 CALL trc_nam_dia 67 68 ! ! namelist of transport 69 CALL trc_nam_trp 70 71 72 IF( ln_rsttr ) ln_trcdta = .FALSE. ! restart : no need of clim data 73 ! 74 IF( ln_trcdmp .OR. ln_trcdmp_clo ) ln_trcdta = .TRUE. ! damping : need to have clim data 75 ! 76 IF( .NOT.ln_trcdta ) THEN 77 ln_trc_ini(:) = .FALSE. 78 ENDIF 79 80 IF(lwp) THEN ! control print 54 ! 55 IF( .NOT.lk_offline ) CALL trc_nam_run ! Parameters of the run 56 ! 57 CALL trc_nam_trc ! passive tracer informations 58 ! 59 CALL trc_nam_dia ! Parameters of additional diagnostics 60 ! 61 ! 62 IF( ln_rsttr ) ln_trcdta = .FALSE. ! restart : no need of clim data 63 ! 64 IF( ln_trcdmp .OR. ln_trcdmp_clo ) ln_trcdta = .TRUE. ! damping : need to have clim data 65 ! 66 IF( .NOT.ln_trcdta ) ln_trc_ini(:) = .FALSE. 67 68 IF(lwp) THEN ! control print 81 69 WRITE(numout,*) 82 70 WRITE(numout,*) ' Namelist : namtrc' … … 147 135 148 136 137 ! Call the ice module for tracers 138 ! ------------------------------- 139 CALL trc_nam_ice 140 149 141 ! namelist of SMS 150 142 ! --------------- … … 167 159 END SUBROUTINE trc_nam 168 160 161 169 162 SUBROUTINE trc_nam_run 170 163 !!--------------------------------------------------------------------- … … 175 168 !!--------------------------------------------------------------------- 176 169 NAMELIST/namtrc_run/ nn_dttrc, nn_writetrc, ln_rsttr, nn_rsttr, ln_top_euler, & 177 & cn_trcrst_in , cn_trcrst_out178 170 & cn_trcrst_indir, cn_trcrst_outdir, cn_trcrst_in, cn_trcrst_out 171 ! 179 172 INTEGER :: ios ! Local integer output status for namelist read 180 181 !!--------------------------------------------------------------------- 182 183 173 !!--------------------------------------------------------------------- 174 ! 184 175 IF(lwp) WRITE(numout,*) 'trc_nam : read the passive tracer namelists' 185 176 IF(lwp) WRITE(numout,*) '~~~~~~~' … … 216 207 217 208 209 SUBROUTINE trc_nam_ice 210 !!--------------------------------------------------------------------- 211 !! *** ROUTINE trc_nam_ice *** 212 !! 213 !! ** Purpose : Read the namelist for the ice effect on tracers 214 !! 215 !! ** Method : - 216 !! 217 !!--------------------------------------------------------------------- 218 INTEGER :: jn ! dummy loop indices 219 INTEGER :: ios ! Local integer output status for namelist read 220 ! 221 TYPE(TRC_I_NML), DIMENSION(jptra) :: sn_tri_tracer 222 !! 223 NAMELIST/namtrc_ice/ nn_ice_tr, sn_tri_tracer 224 !!--------------------------------------------------------------------- 225 ! 226 IF(lwp) THEN 227 WRITE(numout,*) 228 WRITE(numout,*) 'trc_nam_ice : Read the namelist for trc_ice' 229 WRITE(numout,*) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 230 ENDIF 231 232 IF( nn_timing == 1 ) CALL timing_start('trc_nam_ice') 233 234 ! 235 REWIND( numnat_ref ) ! Namelist namtrc_ice in reference namelist : Passive tracer input data 236 READ ( numnat_ref, namtrc_ice, IOSTAT = ios, ERR = 901) 237 901 IF( ios /= 0 ) CALL ctl_nam ( ios , ' namtrc_ice in reference namelist ', lwp ) 238 239 REWIND( numnat_cfg ) ! Namelist namtrc_ice in configuration namelist : Pisces external sources of nutrients 240 READ ( numnat_cfg, namtrc_ice, IOSTAT = ios, ERR = 902 ) 241 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ice in configuration namelist', lwp ) 242 243 IF( lwp ) THEN 244 WRITE(numout,*) ' ' 245 WRITE(numout,*) ' Sea ice tracers option (nn_ice_tr) : ', nn_ice_tr 246 WRITE(numout,*) ' ' 247 ENDIF 248 249 ! Assign namelist stuff 250 DO jn = 1, jptra 251 trc_ice_ratio(jn) = sn_tri_tracer(jn)%trc_ratio 252 trc_ice_prescr(jn) = sn_tri_tracer(jn)%trc_prescr 253 cn_trc_o (jn) = sn_tri_tracer(jn)%ctrc_o 254 END DO 255 256 IF( nn_timing == 1 ) CALL timing_stop('trc_nam_ice') 257 ! 258 END SUBROUTINE trc_nam_ice 259 260 218 261 SUBROUTINE trc_nam_trc 219 262 !!--------------------------------------------------------------------- … … 223 266 !! 224 267 !!--------------------------------------------------------------------- 225 TYPE(PTRACER), DIMENSION(jptra) :: sn_tracer ! type of tracer for saving if not key_iomput226 !!227 NAMELIST/namtrc/ sn_tracer, ln_trcdta,ln_trcdmp, ln_trcdmp_clo228 229 268 INTEGER :: ios ! Local integer output status for namelist read 230 269 INTEGER :: jn ! dummy loop indice 270 ! 271 TYPE(PTRACER), DIMENSION(jptra) :: sn_tracer ! type of tracer for saving if not key_iomput 272 !! 273 NAMELIST/namtrc/ sn_tracer, ln_trcdta,ln_trcdmp, ln_trcdmp_clo 231 274 !!--------------------------------------------------------------------- 232 275 IF(lwp) WRITE(numout,*) 233 276 IF(lwp) WRITE(numout,*) 'trc_nam : read the passive tracer namelists' 234 277 IF(lwp) WRITE(numout,*) '~~~~~~~' 235 236 278 237 279 REWIND( numnat_ref ) ! Namelist namtrc in reference namelist : Passive tracer variables … … 251 293 ln_trc_wri(jn) = sn_tracer(jn)%llsave 252 294 END DO 253 254 295 ! 296 END SUBROUTINE trc_nam_trc 255 297 256 298 … … 265 307 !! ( (PISCES, CFC, MY_TRC ) 266 308 !!--------------------------------------------------------------------- 309 INTEGER :: ios ! Local integer output status for namelist read 267 310 INTEGER :: ierr 311 !! 268 312 #if defined key_trdmxl_trc || defined key_trdtrc 269 313 NAMELIST/namtrc_trd/ nn_trd_trc, nn_ctls_trc, rn_ucf_trc, & … … 272 316 #endif 273 317 NAMELIST/namtrc_dia/ ln_diatrc, ln_diabio, nn_writedia, nn_writebio 274 275 INTEGER :: ios ! Local integer output status for namelist read276 318 !!--------------------------------------------------------------------- 277 319 … … 339 381 !!---------------------------------------------------------------------- 340 382 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 341 !! $Id$ 383 !! $Id$ 342 384 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 343 385 !!====================================================================== 344 END MODULE 386 END MODULE trcnam
Note: See TracChangeset
for help on using the changeset viewer.