Changeset 9124 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES
- Timestamp:
- 2017-12-19T09:26:25+01:00 (7 years ago)
- Location:
- branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES
- Files:
-
- 38 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90
r9085 r9124 101 101 !!--------------------------------------------------------------------- 102 102 ! 103 IF( nn_timing == 1 )CALL timing_start('p2z_bio')103 IF( ln_timing ) CALL timing_start('p2z_bio') 104 104 ! 105 105 IF( lk_iomput ) THEN … … 382 382 ENDIF 383 383 ! 384 IF( nn_timing == 1) CALL timing_stop('p2z_bio')384 IF( ln_timing ) CALL timing_stop('p2z_bio') 385 385 ! 386 386 END SUBROUTINE p2z_bio 387 387 388 388 389 SUBROUTINE p2z_bio_init -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zexp.F90
r7646 r9124 68 68 !!--------------------------------------------------------------------- 69 69 ! 70 IF( nn_timing == 1 )CALL timing_start('p2z_exp')70 IF( ln_timing ) CALL timing_start('p2z_exp') 71 71 ! 72 72 IF( kt == nittrc000 ) CALL p2z_exp_init … … 155 155 ENDIF 156 156 ! 157 IF( nn_timing == 1) CALL timing_stop('p2z_exp')157 IF( ln_timing ) CALL timing_stop('p2z_exp') 158 158 ! 159 159 END SUBROUTINE p2z_exp 160 160 161 161 162 SUBROUTINE p2z_exp_init … … 166 167 INTEGER :: ji, jj, jk 167 168 REAL(wp) :: zmaskt, zfluo, zfluu 168 REAL(wp), POINTER, DIMENSION(:,: ) :: zrro169 REAL(wp), POINTER, DIMENSION(:,:,:) :: zdm0170 !!--------------------------------------------------------------------- 171 169 REAL(wp), POINTER, DIMENSION(:,: ) :: zrro 170 REAL(wp), POINTER, DIMENSION(:,:,:) :: zdm0 171 !!--------------------------------------------------------------------- 172 ! 172 173 IF(lwp) THEN 173 174 WRITE(numout,*) -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zopt.F90
r9019 r9124 11 11 !! 3.2 ! 2009-04 (C. Ethe, G. Madec) minor optimisation + style 12 12 !!---------------------------------------------------------------------- 13 14 !!---------------------------------------------------------------------- 13 15 !! p2z_opt : Compute the light availability in the water column 14 16 !!---------------------------------------------------------------------- … … 69 71 !!--------------------------------------------------------------------- 70 72 ! 71 IF( nn_timing == 1 )CALL timing_start('p2z_opt')73 IF( ln_timing ) CALL timing_start('p2z_opt') 72 74 ! 73 75 ! Allocate temporary workspace … … 143 145 CALL wrk_dealloc( jpi, jpj, jpk, zparr, zparg ) 144 146 ! 145 IF( nn_timing == 1 )CALL timing_stop('p2z_opt')147 IF( ln_timing ) CALL timing_stop('p2z_opt') 146 148 ! 147 149 END SUBROUTINE p2z_opt … … 157 159 !! 158 160 !!---------------------------------------------------------------------- 161 INTEGER :: ios ! Local integer 162 !! 159 163 NAMELIST/namlobopt/ xkg0, xkr0, xkgp, xkrp, xlg, xlr, rpig 160 164 NAMELIST/namlobrat/ rcchl, redf, reddom 161 INTEGER :: ios ! Local integer output status for namelist read162 165 !!---------------------------------------------------------------------- 163 166 … … 168 171 REWIND( numnatp_cfg ) ! Namelist namlobopt in configuration namelist : Lobster options 169 172 READ ( numnatp_cfg, namlobopt, IOSTAT = ios, ERR = 902 ) 170 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'namlobopt in configuration namelist', lwp )173 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobopt in configuration namelist', lwp ) 171 174 IF(lwm) WRITE ( numonp, namlobopt ) 172 175 … … 190 193 REWIND( numnatp_cfg ) ! Namelist namlobrat in configuration namelist : Lobster ratios 191 194 READ ( numnatp_cfg, namlobrat, IOSTAT = ios, ERR = 904 ) 192 904 IF( ios /=0 ) CALL ctl_nam ( ios , 'namlobrat in configuration namelist', lwp )195 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobrat in configuration namelist', lwp ) 193 196 IF(lwm) WRITE ( numonp, namlobrat ) 194 197 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90
r7646 r9124 35 35 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 36 36 !!---------------------------------------------------------------------- 37 38 37 CONTAINS 39 38 … … 56 55 !! trend of passive tracers is saved for futher diagnostics. 57 56 !!--------------------------------------------------------------------- 58 !!59 57 INTEGER, INTENT( in ) :: kt ! ocean time-step index 60 ! !58 ! 61 59 INTEGER :: ji, jj, jk, jl, ierr 62 60 CHARACTER (len=25) :: charout … … 65 63 !!--------------------------------------------------------------------- 66 64 ! 67 IF( nn_timing == 1 )CALL timing_start('p2z_sed')65 IF( ln_timing ) CALL timing_start('p2z_sed') 68 66 ! 69 67 IF( kt == nittrc000 ) THEN … … 119 117 ENDIF 120 118 ! 121 IF( nn_timing == 1 )CALL timing_stop('p2z_sed')119 IF( ln_timing ) CALL timing_stop('p2z_sed') 122 120 ! 123 121 END SUBROUTINE p2z_sed 122 124 123 125 124 SUBROUTINE p2z_sed_init -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsms.F90
r7681 r9124 6 6 !! History : 1.0 ! M. Levy 7 7 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) revised architecture 8 !!---------------------------------------------------------------------- 9 8 10 !!---------------------------------------------------------------------- 9 11 !! p2zsms : Time loop of passive tracers sms … … 42 44 !! ** Method : - ??? 43 45 !! -------------------------------------------------------------------- 44 !!45 46 INTEGER, INTENT( in ) :: kt ! ocean time-step index 46 47 ! 47 INTEGER :: jn48 INTEGER :: jn ! dummy loop index 48 49 !! -------------------------------------------------------------------- 49 50 ! 50 IF( nn_timing == 1 )CALL timing_start('p2z_sms')51 IF( ln_timing ) CALL timing_start('p2z_sms') 51 52 ! 52 53 CALL p2z_opt( kt ) ! optical model … … 54 55 CALL p2z_sed( kt ) ! sedimentation model 55 56 CALL p2z_exp( kt ) ! export 56 57 ! 57 58 IF( l_trdtrc ) THEN 58 59 DO jn = jp_pcs0, jp_pcs1 … … 60 61 END DO 61 62 END IF 62 63 63 ! 64 64 IF ( lwm .AND. kt == nittrc000 ) CALL FLUSH ( numonp ) ! flush output namelist PISCES 65 IF( nn_timing == 1 )CALL timing_stop('p2z_sms')65 IF( ln_timing ) CALL timing_stop('p2z_sms') 66 66 ! 67 67 END SUBROUTINE p2z_sms -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zagg.F90
r7753 r9124 10 10 !! 3.6 ! 2015-05 (O. Aumont) PISCES quota 11 11 !!---------------------------------------------------------------------- 12 12 13 !!---------------------------------------------------------------------- 13 14 !! p4z_agg : Compute aggregation of particles … … 38 39 !! ** Method : - ??? 39 40 !!--------------------------------------------------------------------- 40 INTEGER, INTENT(in) :: kt, knt 41 INTEGER, INTENT(in) :: kt, knt ! 42 ! 41 43 INTEGER :: ji, jj, jk 42 44 REAL(wp) :: zagg, zagg1, zagg2, zagg3, zagg4 … … 49 51 !!--------------------------------------------------------------------- 50 52 ! 51 IF( nn_timing == 1 ) CALL timing_start('p4z_agg') 52 53 IF( ln_timing ) CALL timing_start('p4z_agg') 53 54 ! 54 55 ! Exchange between organic matter compartments due to coagulation/disaggregation … … 178 179 ENDIF 179 180 ! 180 IF( nn_timing == 1 )CALL timing_stop('p4z_agg')181 IF( ln_timing ) CALL timing_stop('p4z_agg') 181 182 ! 182 183 END SUBROUTINE p4z_agg -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zbio.F90
r7753 r9124 56 56 !!--------------------------------------------------------------------- 57 57 INTEGER, INTENT(in) :: kt, knt 58 ! 58 59 INTEGER :: ji, jj, jk, jn 59 60 CHARACTER (len=25) :: charout 60 61 61 !!--------------------------------------------------------------------- 62 62 ! 63 IF( nn_timing == 1 )CALL timing_start('p4z_bio')63 IF( ln_timing ) CALL timing_start('p4z_bio') 64 64 ! 65 65 ! ASSIGN THE SHEAR RATE THAT IS USED FOR AGGREGATION … … 112 112 ENDIF 113 113 ! 114 IF( nn_timing == 1 )CALL timing_stop('p4z_bio')114 IF( ln_timing ) CALL timing_stop('p4z_bio') 115 115 ! 116 116 END SUBROUTINE p4z_bio -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zche.F90
r7753 r9124 155 155 REAL(wp) :: zst , zft , zcks , zckf , zaksp1 156 156 REAL(wp) :: total2free, free2SWS, total2SWS, SWS2total 157 158 157 !!--------------------------------------------------------------------- 159 158 ! 160 IF( nn_timing == 1 )CALL timing_start('p4z_che')159 IF( ln_timing ) CALL timing_start('p4z_che') 161 160 ! 162 161 ! Computation of chemical constants require practical salinity … … 447 446 END DO 448 447 ! 449 IF( nn_timing == 1) CALL timing_stop('p4z_che')448 IF( ln_timing ) CALL timing_stop('p4z_che') 450 449 ! 451 450 END SUBROUTINE p4z_che 451 452 452 453 453 SUBROUTINE ahini_for_at(p_hini) … … 470 470 REAL(wp) :: za2, za1, za0 471 471 REAL(wp) :: p_dictot, p_bortot, p_alkcb 472 473 IF( nn_timing == 1 ) CALL timing_start('ahini_for_at') 472 !!--------------------------------------------------------------------- 473 474 IF( ln_timing ) CALL timing_start('ahini_for_at') 474 475 ! 475 476 DO jk = 1, jpk … … 512 513 END DO 513 514 ! 514 IF( nn_timing == 1) CALL timing_stop('ahini_for_at')515 IF( ln_timing ) CALL timing_stop('ahini_for_at') 515 516 ! 516 517 END SUBROUTINE ahini_for_at 517 518 518 519 !=============================================================================== 520 519 521 SUBROUTINE anw_infsup( p_alknw_inf, p_alknw_sup ) 520 522 … … 564 566 REAL(wp), POINTER, DIMENSION(:,:,:) :: zalknw_inf, zalknw_sup, rmask, zh_min, zh_max, zeqn_absmin 565 567 566 IF( nn_timing == 1) CALL timing_start('solve_at_general')568 IF( ln_timing ) CALL timing_start('solve_at_general') 567 569 ! Allocate temporary workspace 568 570 CALL wrk_alloc( jpi, jpj, jpk, zalknw_inf, zalknw_sup, rmask ) … … 801 803 802 804 803 IF( nn_timing == 1 ) CALL timing_stop('solve_at_general') 804 805 805 IF( ln_timing ) CALL timing_stop('solve_at_general') 806 ! 806 807 END SUBROUTINE solve_at_general 808 807 809 808 810 INTEGER FUNCTION p4z_che_alloc() -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90
r7753 r9124 79 79 !!--------------------------------------------------------------------- 80 80 ! 81 IF( nn_timing == 1 )CALL timing_start('p4z_fechem')81 IF( ln_timing ) CALL timing_start('p4z_fechem') 82 82 ! 83 83 ! Allocate temporary workspace … … 366 366 ENDIF 367 367 ! 368 IF( nn_timing == 1 )CALL timing_stop('p4z_fechem')368 IF( ln_timing ) CALL timing_stop('p4z_fechem') 369 369 ! 370 370 END SUBROUTINE p4z_fechem … … 383 383 !! 384 384 !!---------------------------------------------------------------------- 385 INTEGER :: ios ! Local integer 386 !! 385 387 NAMELIST/nampisfer/ ln_fechem, ln_ligvar, ln_fecolloid, xlam1, xlamdust, ligand, kfep 386 INTEGER :: ios ! Local integer output status for namelist read388 !!---------------------------------------------------------------------- 387 389 388 390 REWIND( numnatp_ref ) ! Namelist nampisfer in reference namelist : Pisces iron chemistry … … 392 394 REWIND( numnatp_cfg ) ! Namelist nampisfer in configuration namelist : Pisces iron chemistry 393 395 READ ( numnatp_cfg, nampisfer, IOSTAT = ios, ERR = 902 ) 394 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampisfer in configuration namelist', lwp )396 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisfer in configuration namelist', lwp ) 395 397 IF(lwm) WRITE ( numonp, nampisfer ) 396 398 … … 434 436 ! 435 437 END SUBROUTINE p4z_fechem_init 438 436 439 !!====================================================================== 437 440 END MODULE p4zfechem -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90
r7753 r9124 83 83 !!--------------------------------------------------------------------- 84 84 ! 85 IF( nn_timing == 1 )CALL timing_start('p4z_flx')85 IF( ln_timing ) CALL timing_start('p4z_flx') 86 86 ! 87 87 CALL wrk_alloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx, zpco2atm ) … … 216 216 CALL wrk_dealloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx, zpco2atm ) 217 217 ! 218 IF( nn_timing == 1 )CALL timing_stop('p4z_flx')218 IF( ln_timing ) CALL timing_stop('p4z_flx') 219 219 ! 220 220 END SUBROUTINE p4z_flx … … 231 231 !! ** input : Namelist nampisext 232 232 !!---------------------------------------------------------------------- 233 INTEGER :: jm 234 INTEGER :: ios ! Local integer 235 ! 233 236 NAMELIST/nampisext/ln_co2int, atcco2, clname, nn_offset 234 INTEGER :: jm235 INTEGER :: ios ! Local integer output status for namelist read236 237 !!---------------------------------------------------------------------- 237 238 ! … … 243 244 REWIND( numnatp_cfg ) ! Namelist nampisext in configuration namelist : Pisces atm. conditions 244 245 READ ( numnatp_cfg, nampisext, IOSTAT = ios, ERR = 902 ) 245 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampisext in configuration namelist', lwp )246 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisext in configuration namelist', lwp ) 246 247 IF(lwm) WRITE ( numonp, nampisext ) 247 248 ! … … 292 293 ENDIF 293 294 ENDIF 294 295 295 ! 296 296 oce_co2(:,:) = 0._wp ! Initialization of Flux of Carbon … … 302 302 END SUBROUTINE p4z_flx_init 303 303 304 304 305 SUBROUTINE p4z_patm( kt ) 305 306 306 !!---------------------------------------------------------------------- 307 307 !! *** ROUTINE p4z_atm *** … … 311 311 !! 312 312 !!---------------------------------------------------------------------- 313 !! * arguments314 313 INTEGER, INTENT( in ) :: kt ! ocean time step 315 314 ! … … 321 320 !! 322 321 NAMELIST/nampisatm/ ln_presatm, ln_presatmco2, sn_patm, sn_atmco2, cn_dir 322 !!---------------------------------------------------------------------- 323 323 324 324 ! ! ----------------------- ! -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zint.F90
r7753 r9124 33 33 !! 34 34 !!--------------------------------------------------------------------- 35 !36 35 INTEGER, INTENT( in ) :: kt ! ocean time-step index 37 36 ! … … 40 39 !!--------------------------------------------------------------------- 41 40 ! 42 IF( nn_timing == 1 )CALL timing_start('p4z_int')41 IF( ln_timing ) CALL timing_start('p4z_int') 43 42 ! 44 43 ! Computation of phyto and zoo metabolic rate … … 61 60 ENDIF 62 61 ! 63 IF( nn_timing == 1 )CALL timing_stop('p4z_int')62 IF( ln_timing ) CALL timing_stop('p4z_int') 64 63 ! 65 64 END SUBROUTINE p4z_int -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zligand.F90
r7646 r9124 50 50 !!--------------------------------------------------------------------- 51 51 ! 52 IF( nn_timing == 1 )CALL timing_start('p4z_ligand')52 IF( ln_timing ) CALL timing_start('p4z_ligand') 53 53 ! 54 54 ! ------------------------------------------------------------------ … … 75 75 ! Dissolution of nanoparticle Fe 76 76 ! ---------------------------------------------------------- 77 78 77 DO jk = 1, jpkm1 79 78 DO jj = 1, jpj … … 97 96 ENDIF 98 97 ! 99 IF( nn_timing == 1 )CALL timing_stop('p4z_ligand')98 IF( ln_timing ) CALL timing_stop('p4z_ligand') 100 99 ! 101 100 END SUBROUTINE p4z_ligand … … 114 113 !! 115 114 !!---------------------------------------------------------------------- 115 INTEGER :: ios ! Local integer 116 ! 116 117 NAMELIST/nampislig/ rlgw, prlgw, rlgs, rfep, rlig 117 INTEGER :: ios ! Local integer output status for namelist read118 !!---------------------------------------------------------------------- 118 119 119 120 REWIND( numnatp_ref ) ! Namelist nampislig in reference namelist : Pisces remineralization -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90
r8533 r9124 72 72 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 73 73 !!---------------------------------------------------------------------- 74 75 74 CONTAINS 76 75 … … 84 83 !! ** Method : - ??? 85 84 !!--------------------------------------------------------------------- 86 !87 85 INTEGER, INTENT(in) :: kt, knt 88 86 ! … … 95 93 !!--------------------------------------------------------------------- 96 94 ! 97 IF( nn_timing == 1 )CALL timing_start('p4z_lim')95 IF( ln_timing ) CALL timing_start('p4z_lim') 98 96 ! 99 97 DO jk = 1, jpkm1 … … 224 222 ENDIF 225 223 ! 226 IF( nn_timing == 1 )CALL timing_stop('p4z_lim')224 IF( ln_timing ) CALL timing_stop('p4z_lim') 227 225 ! 228 226 END SUBROUTINE p4z_lim 229 227 228 230 229 SUBROUTINE p4z_lim_init 231 232 230 !!---------------------------------------------------------------------- 233 231 !! *** ROUTINE p4z_lim_init *** … … 241 239 !! 242 240 !!---------------------------------------------------------------------- 243 241 INTEGER :: ios ! Local integer 242 ! 244 243 NAMELIST/namp4zlim/ concnno3, concdno3, concnnh4, concdnh4, concnfer, concdfer, concbfe, & 245 244 & concbno3, concbnh4, xsizedia, xsizephy, xsizern, xsizerd, & 246 245 & xksi1, xksi2, xkdoc, qnfelim, qdfelim, caco3r, oxymin 247 INTEGER :: ios ! Local integer output status for namelist read248 246 !!---------------------------------------------------------------------- 247 ! 249 248 REWIND( numnatp_ref ) ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 250 249 READ ( numnatp_ref, namp4zlim, IOSTAT = ios, ERR = 901) 251 250 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zlim in reference namelist', lwp ) 252 251 ! 253 252 REWIND( numnatp_cfg ) ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters 254 253 READ ( numnatp_cfg, namp4zlim, IOSTAT = ios, ERR = 902 ) 255 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'namp4zlim in configuration namelist', lwp )254 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zlim in configuration namelist', lwp ) 256 255 IF(lwm) WRITE ( numonp, namp4zlim ) 257 256 ! 258 257 IF(lwp) THEN ! control print 259 258 WRITE(numout,*) ' ' … … 286 285 END SUBROUTINE p4z_lim_init 287 286 287 288 288 INTEGER FUNCTION p4z_lim_alloc() 289 289 !!---------------------------------------------------------------------- -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90
r7753 r9124 65 65 !!--------------------------------------------------------------------- 66 66 ! 67 IF( nn_timing == 1) CALL timing_start('p4z_lys')67 IF( ln_timing ) CALL timing_start('p4z_lys') 68 68 ! 69 69 CALL wrk_alloc( jpi, jpj, jpk, zco3, zcaldiss, zhinit, zhi, zco3sat ) … … 141 141 CALL wrk_dealloc( jpi, jpj, jpk, zco3, zcaldiss, zhinit, zhi, zco3sat ) 142 142 ! 143 IF( nn_timing == 1 )CALL timing_stop('p4z_lys')143 IF( ln_timing ) CALL timing_stop('p4z_lys') 144 144 ! 145 145 END SUBROUTINE p4z_lys 146 146 147 147 148 SUBROUTINE p4z_lys_init 148 149 149 !!---------------------------------------------------------------------- 150 150 !! *** ROUTINE p4z_lys_init *** … … 158 158 !! 159 159 !!---------------------------------------------------------------------- 160 INTEGER :: ios ! Local integer output status for namelist read161 160 INTEGER :: ios ! Local integer 161 ! 162 162 NAMELIST/nampiscal/ kdca, nca 163 163 !!---------------------------------------------------------------------- 164 164 ! 165 165 REWIND( numnatp_ref ) ! Namelist nampiscal in reference namelist : Pisces CaCO3 dissolution 166 166 READ ( numnatp_ref, nampiscal, IOSTAT = ios, ERR = 901) 167 167 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiscal in reference namelist', lwp ) 168 168 ! 169 169 REWIND( numnatp_cfg ) ! Namelist nampiscal in configuration namelist : Pisces CaCO3 dissolution 170 170 READ ( numnatp_cfg, nampiscal, IOSTAT = ios, ERR = 902 ) 171 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampiscal in configuration namelist', lwp )171 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampiscal in configuration namelist', lwp ) 172 172 IF(lwm) WRITE ( numonp, nampiscal ) 173 173 ! 174 174 IF(lwp) THEN ! control print 175 175 WRITE(numout,*) ' ' … … 179 179 WRITE(numout,*) ' order of reaction for calcite dissolution nca =', nca 180 180 ENDIF 181 181 ! 182 182 ! Number of seconds per month 183 183 rmtss = nyear_len(1) * rday / raamo -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90
r8533 r9124 76 76 !!--------------------------------------------------------------------- 77 77 ! 78 IF( nn_timing == 1 )CALL timing_start('p4z_meso')78 IF( ln_timing ) CALL timing_start('p4z_meso') 79 79 ! 80 80 CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) … … 240 240 CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 241 241 ! 242 IF( nn_timing == 1 )CALL timing_stop('p4z_meso')242 IF( ln_timing ) CALL timing_stop('p4z_meso') 243 243 ! 244 244 END SUBROUTINE p4z_meso 245 245 246 246 247 SUBROUTINE p4z_meso_init 247 248 248 !!---------------------------------------------------------------------- 249 249 !! *** ROUTINE p4z_meso_init *** … … 257 257 !! 258 258 !!---------------------------------------------------------------------- 259 259 INTEGER :: ios ! Local integer 260 ! 260 261 NAMELIST/namp4zmes/ part2, grazrat2, resrat2, mzrat2, xprefc, xprefp, xprefz, & 261 262 & xprefpoc, xthresh2dia, xthresh2phy, xthresh2zoo, xthresh2poc, & 262 263 & xthresh2, xkgraz2, epsher2, sigma2, unass2, grazflux 263 INTEGER :: ios ! Local integer output status for namelist read264 264 !!---------------------------------------------------------------------- 265 ! 265 266 REWIND( numnatp_ref ) ! Namelist nampismes in reference namelist : Pisces mesozooplankton 266 267 READ ( numnatp_ref, namp4zmes, IOSTAT = ios, ERR = 901) 267 268 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zmes in reference namelist', lwp ) 268 269 ! 269 270 REWIND( numnatp_cfg ) ! Namelist nampismes in configuration namelist : Pisces mesozooplankton 270 271 READ ( numnatp_cfg, namp4zmes, IOSTAT = ios, ERR = 902 ) 271 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'namp4zmes in configuration namelist', lwp )272 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zmes in configuration namelist', lwp ) 272 273 IF(lwm) WRITE ( numonp, namp4zmes ) 273 274 274 ! 275 275 IF(lwp) THEN ! control print 276 276 WRITE(numout,*) ' ' … … 296 296 WRITE(numout,*) ' half sturation constant for grazing 2 xkgraz2 =', xkgraz2 297 297 ENDIF 298 299 298 ! 300 299 END SUBROUTINE p4z_meso_init 301 300 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
r8533 r9124 42 42 REAL(wp), PUBLIC :: epsher !: half sturation constant for grazing 1 43 43 44 45 44 !!---------------------------------------------------------------------- 46 45 !! NEMO/TOP 3.3 , NEMO Consortium (2010) … … 48 47 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 49 48 !!---------------------------------------------------------------------- 50 51 49 CONTAINS 52 50 … … 75 73 !!--------------------------------------------------------------------- 76 74 ! 77 IF( nn_timing == 1 )CALL timing_start('p4z_micro')75 IF( ln_timing ) CALL timing_start('p4z_micro') 78 76 ! 79 77 CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) … … 196 194 CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 197 195 ! 198 IF( nn_timing == 1 )CALL timing_stop('p4z_micro')196 IF( ln_timing ) CALL timing_stop('p4z_micro') 199 197 ! 200 198 END SUBROUTINE p4z_micro … … 202 200 203 201 SUBROUTINE p4z_micro_init 204 205 202 !!---------------------------------------------------------------------- 206 203 !! *** ROUTINE p4z_micro_init *** … … 214 211 !! 215 212 !!---------------------------------------------------------------------- 216 213 INTEGER :: ios ! Local integer 214 ! 217 215 NAMELIST/namp4zzoo/ part, grazrat, resrat, mzrat, xpref2c, xpref2p, & 218 216 & xpref2d, xthreshdia, xthreshphy, xthreshpoc, & 219 217 & xthresh, xkgraz, epsher, sigma1, unass 220 INTEGER :: ios ! Local integer output status for namelist read221 218 !!---------------------------------------------------------------------- 219 ! 222 220 REWIND( numnatp_ref ) ! Namelist nampiszoo in reference namelist : Pisces microzooplankton 223 221 READ ( numnatp_ref, namp4zzoo, IOSTAT = ios, ERR = 901) 224 222 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zzoo in reference namelist', lwp ) 225 223 ! 226 224 REWIND( numnatp_cfg ) ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton 227 225 READ ( numnatp_cfg, namp4zzoo, IOSTAT = ios, ERR = 902 ) 228 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'namp4zzoo in configuration namelist', lwp )226 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zzoo in configuration namelist', lwp ) 229 227 IF(lwm) WRITE ( numonp, namp4zzoo ) 230 228 ! 231 229 IF(lwp) THEN ! control print 232 230 WRITE(numout,*) ' ' … … 249 247 WRITE(numout,*) ' half sturation constant for grazing 1 xkgraz =', xkgraz 250 248 ENDIF 251 249 ! 252 250 END SUBROUTINE p4z_micro_init 253 251 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90
r7753 r9124 72 72 !!--------------------------------------------------------------------- 73 73 ! 74 IF( nn_timing == 1 )CALL timing_start('p4z_nano')74 IF( ln_timing ) CALL timing_start('p4z_nano') 75 75 ! 76 76 prodcal(:,:,:) = 0. !: calcite production variable set to zero … … 126 126 ENDIF 127 127 ! 128 IF( nn_timing == 1 )CALL timing_stop('p4z_nano')128 IF( ln_timing ) CALL timing_stop('p4z_nano') 129 129 ! 130 130 END SUBROUTINE p4z_nano 131 131 132 132 133 SUBROUTINE p4z_diat … … 145 146 !!--------------------------------------------------------------------- 146 147 ! 147 IF( nn_timing == 1 )CALL timing_start('p4z_diat')148 IF( ln_timing ) CALL timing_start('p4z_diat') 148 149 ! 149 150 … … 201 202 ENDIF 202 203 ! 203 IF( nn_timing == 1 )CALL timing_stop('p4z_diat')204 IF( ln_timing ) CALL timing_stop('p4z_diat') 204 205 ! 205 206 END SUBROUTINE p4z_diat 206 207 208 207 209 SUBROUTINE p4z_mort_init 208 209 210 !!---------------------------------------------------------------------- 210 211 !! *** ROUTINE p4z_mort_init *** … … 218 219 !! 219 220 !!---------------------------------------------------------------------- 220 221 INTEGER :: ios ! Local integer 222 ! 221 223 NAMELIST/namp4zmort/ wchl, wchld, wchldm, mprat, mprat2 222 INTEGER :: ios ! Local integer output status for namelist read223 224 !!---------------------------------------------------------------------- 225 ! 224 226 REWIND( numnatp_ref ) ! Namelist nampismort in reference namelist : Pisces phytoplankton 225 227 READ ( numnatp_ref, namp4zmort, IOSTAT = ios, ERR = 901) 226 228 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zmort in reference namelist', lwp ) 227 229 ! 228 230 REWIND( numnatp_cfg ) ! Namelist nampismort in configuration namelist : Pisces phytoplankton 229 231 READ ( numnatp_cfg, namp4zmort, IOSTAT = ios, ERR = 902 ) 230 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'namp4zmort in configuration namelist', lwp )232 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zmort in configuration namelist', lwp ) 231 233 IF(lwm) WRITE ( numonp, namp4zmort ) 232 234 ! 233 235 IF(lwp) THEN ! control print 234 236 WRITE(numout,*) ' ' … … 241 243 WRITE(numout,*) ' Diatoms mortality rate mprat2 =', mprat2 242 244 ENDIF 243 245 ! 244 246 END SUBROUTINE p4z_mort_init 245 247 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90
r7970 r9124 18 18 USE prtctl_trc ! print control for debugging 19 19 20 21 20 IMPLICIT NONE 22 21 PRIVATE … … 59 58 !! ** Method : - ??? 60 59 !!--------------------------------------------------------------------- 61 !62 60 INTEGER, INTENT(in) :: kt, knt ! ocean time step 63 61 ! … … 72 70 !!--------------------------------------------------------------------- 73 71 ! 74 IF( nn_timing == 1) CALL timing_start('p4z_opt')72 IF( ln_timing ) CALL timing_start('p4z_opt') 75 73 ! 76 74 ! Allocate temporary workspace … … 250 248 CALL wrk_dealloc( jpi, jpj, jpk, zpar , ze0, ze1, ze2, ze3, zchl3d ) 251 249 ! 252 IF( nn_timing == 1) CALL timing_stop('p4z_opt')250 IF( ln_timing ) CALL timing_stop('p4z_opt') 253 251 ! 254 252 END SUBROUTINE p4z_opt 253 255 254 256 255 SUBROUTINE p4z_opt_par( kt, pqsr, pe1, pe2, pe3, pe0, pqsr100 ) … … 334 333 !! 335 334 !!---------------------------------------------------------------------- 336 !! * arguments337 335 INTEGER , INTENT(in) :: kt ! ocean time step 338 339 !! * local declarations 336 ! 340 337 INTEGER :: ji,jj 341 338 REAL(wp) :: zcoef 342 339 !!--------------------------------------------------------------------- 343 340 ! 344 IF( nn_timing == 1) CALL timing_start('p4z_optsbc')341 IF( ln_timing ) CALL timing_start('p4z_optsbc') 345 342 ! 346 343 ! Compute par_varsw at nit000 or only if there is more than 1 time record in par coefficient file … … 352 349 ENDIF 353 350 ! 354 IF( nn_timing == 1) CALL timing_stop('p4z_optsbc')351 IF( ln_timing ) CALL timing_stop('p4z_optsbc') 355 352 ! 356 353 END SUBROUTINE p4z_opt_sbc 354 357 355 358 356 SUBROUTINE p4z_opt_init … … 365 363 !! ** Input : external ascii and netcdf files 366 364 !!---------------------------------------------------------------------- 367 !368 365 INTEGER :: numpar 369 366 INTEGER :: ierr … … 375 372 ! 376 373 NAMELIST/nampisopt/cn_dir, sn_par, ln_varpar, parlux 377 378 !!---------------------------------------------------------------------- 379 380 IF( nn_timing == 1 ) CALL timing_start('p4z_opt_init') 374 !!---------------------------------------------------------------------- 381 375 382 376 REWIND( numnatp_ref ) ! Namelist nampisopt in reference namelist : Pisces attenuation coef. and PAR … … 434 428 IF( ln_qsr_bio ) etot3 (:,:,:) = 0._wp 435 429 ! 436 IF( nn_timing == 1 ) CALL timing_stop('p4z_opt_init')437 !438 430 END SUBROUTINE p4z_opt_init 439 431 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zpoc.F90
r7753 r9124 17 17 USE prtctl_trc ! print control for debugging 18 18 USE iom ! I/O manager 19 20 19 21 20 IMPLICIT NONE … … 69 68 !!--------------------------------------------------------------------- 70 69 ! 71 IF( nn_timing == 1) CALL timing_start('p4z_poc')70 IF( ln_timing ) CALL timing_start('p4z_poc') 72 71 ! 73 72 ! Allocate temporary workspace … … 470 469 DEALLOCATE( alphag ) 471 470 ! 472 IF( nn_timing == 1 )CALL timing_stop('p4z_poc')471 IF( ln_timing ) CALL timing_stop('p4z_poc') 473 472 ! 474 473 END SUBROUTINE p4z_poc … … 487 486 !! 488 487 !!---------------------------------------------------------------------- 489 INTEGER :: jn 488 INTEGER :: ios, ifault ! Local integer 489 INTEGER :: jn 490 490 REAL(wp) :: remindelta, reminup, remindown 491 INTEGER :: ifault 492 493 NAMELIST/nampispoc/ xremip, jcpoc, rshape, & 494 & xremipc, xremipn, xremipp 495 496 497 INTEGER :: ios ! Local integer output status for namelist read 491 !! 492 NAMELIST/nampispoc/ xremip , jcpoc , rshape, & 493 & xremipc, xremipn, xremipp 494 !!---------------------------------------------------------------------- 498 495 499 496 REWIND( numnatp_ref ) ! Namelist nampisrem in reference namelist : Pisces remineralization … … 503 500 REWIND( numnatp_cfg ) ! Namelist nampisrem in configuration namelist : Pisces remineralization 504 501 READ ( numnatp_cfg, nampispoc, IOSTAT = ios, ERR = 902 ) 505 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampispoc in configuration namelist', lwp )502 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampispoc in configuration namelist', lwp ) 506 503 IF(lwm) WRITE ( numonp, nampispoc ) 507 504 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90
r7753 r9124 65 65 !! ** Method : - ??? 66 66 !!--------------------------------------------------------------------- 67 !68 67 INTEGER, INTENT(in) :: kt, knt 69 68 ! … … 85 84 !!--------------------------------------------------------------------- 86 85 ! 87 IF( nn_timing == 1 )CALL timing_start('p4z_prod')86 IF( ln_timing ) CALL timing_start('p4z_prod') 88 87 ! 89 88 ! Allocate temporary workspace … … 486 485 CALL wrk_dealloc( jpi, jpj, jpk, zprorcan, zprorcad, zprofed, zprofen, zpronewn, zpronewd ) 487 486 ! 488 IF( nn_timing == 1) CALL timing_stop('p4z_prod')487 IF( ln_timing ) CALL timing_stop('p4z_prod') 489 488 ! 490 489 END SUBROUTINE p4z_prod … … 502 501 !! ** input : Namelist nampisprod 503 502 !!---------------------------------------------------------------------- 503 INTEGER :: ios ! Local integer output status for namelist read 504 504 ! 505 505 NAMELIST/namp4zprod/ pislopen, pisloped, xadap, ln_newprod, bresp, excretn, excretd, & 506 506 & chlcnm, chlcdm, chlcmin, fecnm, fecdm, grosip 507 INTEGER :: ios ! Local integer output status for namelist read508 507 !!---------------------------------------------------------------------- 509 508 … … 514 513 REWIND( numnatp_cfg ) ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production 515 514 READ ( numnatp_cfg, namp4zprod, IOSTAT = ios, ERR = 902 ) 516 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'namp4zprod in configuration namelist', lwp )515 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zprod in configuration namelist', lwp ) 517 516 IF(lwm) WRITE ( numonp, namp4zprod ) 518 517 … … 555 554 ! 556 555 END FUNCTION p4z_prod_alloc 556 557 557 !!====================================================================== 558 558 END MODULE p4zprod -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90
r8533 r9124 58 58 !! ** Method : - ??? 59 59 !!--------------------------------------------------------------------- 60 !61 60 INTEGER, INTENT(in) :: kt, knt ! ocean time step 62 61 ! … … 72 71 !!--------------------------------------------------------------------- 73 72 ! 74 IF( nn_timing == 1 )CALL timing_start('p4z_rem')73 IF( ln_timing ) CALL timing_start('p4z_rem') 75 74 ! 76 75 ! Allocate temporary workspace … … 289 288 CALL wrk_dealloc( jpi, jpj, jpk, zdepbac, zdepprod, zolimi, zfacsi, zfacsib ) 290 289 ! 291 IF( nn_timing == 1 )CALL timing_stop('p4z_rem')290 IF( ln_timing ) CALL timing_stop('p4z_rem') 292 291 ! 293 292 END SUBROUTINE p4z_rem … … 309 308 & xremikc, xremikn, xremikp 310 309 INTEGER :: ios ! Local integer output status for namelist read 310 !!---------------------------------------------------------------------- 311 311 312 312 REWIND( numnatp_ref ) ! Namelist nampisrem in reference namelist : Pisces remineralization … … 316 316 REWIND( numnatp_cfg ) ! Namelist nampisrem in configuration namelist : Pisces remineralization 317 317 READ ( numnatp_cfg, nampisrem, IOSTAT = ios, ERR = 902 ) 318 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampisrem in configuration namelist', lwp )318 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisrem in configuration namelist', lwp ) 319 319 IF(lwm) WRITE ( numonp, nampisrem ) 320 320 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90
r7753 r9124 108 108 !!--------------------------------------------------------------------- 109 109 ! 110 IF( nn_timing == 1 ) CALL timing_start('p4z_sbc') 111 110 IF( ln_timing ) CALL timing_start('p4z_sbc') 112 111 ! 113 112 ! Compute dust at nit000 or only if there is more than 1 time record in dust file … … 189 188 ENDIF 190 189 ! 191 IF( nn_timing == 1) CALL timing_stop('p4z_sbc')190 IF( ln_timing ) CALL timing_stop('p4z_sbc') 192 191 ! 193 192 END SUBROUTINE p4z_sbc 194 193 194 195 195 SUBROUTINE p4z_sbc_init 196 197 196 !!---------------------------------------------------------------------- 198 197 !! *** routine p4z_sbc_init *** … … 232 231 & hratio, fep_rats, fep_rath, lgw_rath 233 232 !!---------------------------------------------------------------------- 234 !235 IF( nn_timing == 1 ) CALL timing_start('p4z_sbc_init')236 233 ! 237 234 ! !* set file information … … 535 532 ENDIF 536 533 ! 537 IF( nn_timing == 1 ) CALL timing_stop('p4z_sbc_init')538 !539 534 END SUBROUTINE p4z_sbc_init 540 535 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90
r8541 r9124 68 68 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrpo4, ztrdop, zirondep, zsoufer, zpdep, zlight 69 69 REAL(wp), POINTER, DIMENSION(:,: ) :: zwsfep 70 71 70 !!--------------------------------------------------------------------- 72 71 ! 73 IF( nn_timing == 1) CALL timing_start('p4z_sed')72 IF( ln_timing ) CALL timing_start('p4z_sed') 74 73 ! 75 74 IF( kt == nittrc000 .AND. knt == 1 ) r1_rday = 1. / rday … … 522 521 IF( ln_ligand ) CALL wrk_dealloc( jpi, jpj, zwsfep ) 523 522 ! 524 IF( nn_timing == 1) CALL timing_stop('p4z_sed')523 IF( ln_timing ) CALL timing_stop('p4z_sed') 525 524 ! 526 525 END SUBROUTINE p4z_sed … … 537 536 END FUNCTION p4z_sed_alloc 538 537 539 540 538 !!====================================================================== 541 539 END MODULE p4zsed -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90
r7753 r9124 69 69 !!--------------------------------------------------------------------- 70 70 ! 71 IF( nn_timing == 1 )CALL timing_start('p4z_sink')71 IF( ln_timing ) CALL timing_start('p4z_sink') 72 72 73 73 … … 261 261 ENDIF 262 262 ! 263 IF( nn_timing == 1 )CALL timing_stop('p4z_sink')263 IF( ln_timing ) CALL timing_stop('p4z_sink') 264 264 ! 265 265 END SUBROUTINE p4z_sink 266 266 267 267 268 SUBROUTINE p4z_sink_init 268 269 !!---------------------------------------------------------------------- … … 270 271 !!---------------------------------------------------------------------- 271 272 INTEGER :: jk 272 273 !!---------------------------------------------------------------------- 274 ! 273 275 ik100 = 10 ! last level where depth less than 100 m 274 276 DO jk = jpkm1, 1, -1 … … 282 284 ! 283 285 END SUBROUTINE p4z_sink_init 286 284 287 285 288 SUBROUTINE p4z_sink2( pwsink, psinkflx, jp_tra, kiter ) … … 294 297 !! transport term, i.e. div(u*tra). 295 298 !!--------------------------------------------------------------------- 296 !297 299 INTEGER , INTENT(in ) :: jp_tra ! tracer index index 298 300 INTEGER , INTENT(in ) :: kiter ! number of iterations for time-splitting 299 301 REAL(wp), INTENT(in ), DIMENSION(jpi,jpj,jpk) :: pwsink ! sinking speed 300 302 REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) :: psinkflx ! sinking fluxe 301 ! !303 ! 302 304 INTEGER :: ji, jj, jk, jn 303 305 REAL(wp) :: zigma,zew,zign, zflx, zstep … … 305 307 !!--------------------------------------------------------------------- 306 308 ! 307 IF( nn_timing == 1 )CALL timing_start('p4z_sink2')309 IF( ln_timing ) CALL timing_start('p4z_sink2') 308 310 ! 309 311 ! Allocate temporary workspace … … 391 393 CALL wrk_dealloc( jpi, jpj, jpk, ztraz, zakz, zwsink2, ztrb ) 392 394 ! 393 IF( nn_timing == 1) CALL timing_stop('p4z_sink2')395 IF( ln_timing ) CALL timing_stop('p4z_sink2') 394 396 ! 395 397 END SUBROUTINE p4z_sink2 … … 401 403 !!---------------------------------------------------------------------- 402 404 INTEGER :: ierr(3) 403 405 !!---------------------------------------------------------------------- 406 ! 404 407 ierr(:) = 0 405 408 ! -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90
r9081 r9124 40 40 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xnegtr !: ??? 41 41 42 43 42 !!---------------------------------------------------------------------- 44 43 !! NEMO/TOP 3.3 , NEMO Consortium (2010) … … 68 67 !!--------------------------------------------------------------------- 69 68 ! 70 IF( nn_timing == 1 )CALL timing_start('p4z_sms')69 IF( ln_timing ) CALL timing_start('p4z_sms') 71 70 ! 72 71 IF( kt == nittrc000 ) THEN … … 171 170 ! 172 171 173 IF( lk_iomput .OR. ln_check_mass ) CALL p4z_chk_mass( kt ) ! Mass conservation checking174 175 IF ( lwm .AND. kt == nittrc000 ) CALL FLUSH ( numonp )! flush output namelist PISCES176 IF( nn_timing == 1 ) CALL timing_stop('p4z_sms')177 !172 IF( lk_iomput .OR. ln_check_mass ) CALL p4z_chk_mass( kt ) ! Mass conservation checking 173 174 IF( lwm .AND. kt == nittrc000 ) CALL FLUSH( numonp ) ! flush output namelist PISCES 175 ! 176 IF( ln_timing ) CALL timing_stop('p4z_sms') 178 177 ! 179 178 END SUBROUTINE p4z_sms 179 180 180 181 181 SUBROUTINE p4z_sms_init … … 188 188 !! namelist: natext, natbio, natsms 189 189 !!---------------------------------------------------------------------- 190 INTEGER :: ios ! Local integer output status for namelist read 191 !! 190 192 NAMELIST/nampisbio/ nrdttrc, wsbio, xkmort, ferat3, wsbio2, wsbio2max, wsbio2scale, & 191 193 & niter1max, niter2max, wfep, ldocp, ldocz, lthet, & 192 194 & no3rat3, po4rat3 193 195 ! 194 196 NAMELIST/nampisdmp/ ln_pisdmp, nn_pisdmp 195 197 NAMELIST/nampismass/ ln_check_mass 196 INTEGER :: ios ! Local integer output status for namelist read197 198 !!---------------------------------------------------------------------- 198 199 … … 203 204 REWIND( numnatp_cfg ) ! Namelist nampisbio in configuration namelist : Pisces variables 204 205 READ ( numnatp_cfg, nampisbio, IOSTAT = ios, ERR = 902 ) 205 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampisbio in configuration namelist', lwp )206 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisbio in configuration namelist', lwp ) 206 207 IF(lwm) WRITE ( numonp, nampisbio ) 207 208 … … 238 239 REWIND( numnatp_cfg ) ! Namelist nampisdmp in configuration namelist : Pisces damping 239 240 READ ( numnatp_cfg, nampisdmp, IOSTAT = ios, ERR = 906 ) 240 906 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampisdmp in configuration namelist', lwp )241 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisdmp in configuration namelist', lwp ) 241 242 IF(lwm) WRITE ( numonp, nampisdmp ) 242 243 … … 255 256 REWIND( numnatp_cfg ) ! Namelist nampismass in configuration namelist : Pisces mass conservation check 256 257 READ ( numnatp_cfg, nampismass, IOSTAT = ios, ERR = 908 ) 257 908 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampismass in configuration namelist', lwp )258 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampismass in configuration namelist', lwp ) 258 259 IF(lwm) WRITE ( numonp, nampismass ) 259 260 … … 264 265 WRITE(numout,*) ' Flag to check mass conservation of NO3/Si/TALK ln_check_mass = ', ln_check_mass 265 266 ENDIF 266 267 ! 267 268 END SUBROUTINE p4z_sms_init 269 268 270 269 271 SUBROUTINE p4z_rst( kt, cdrw ) … … 279 281 INTEGER , INTENT(in) :: kt ! ocean time-step 280 282 CHARACTER(len=*), INTENT(in) :: cdrw ! "READ"/"WRITE" flag 281 ! 282 !!--------------------------------------------------------------------- 283 283 !!--------------------------------------------------------------------- 284 ! 284 285 IF( TRIM(cdrw) == 'READ' ) THEN 285 286 ! … … 337 338 END SUBROUTINE p4z_rst 338 339 340 339 341 SUBROUTINE p4z_dmp( kt ) 340 342 !!---------------------------------------------------------------------- … … 354 356 REAL(wp) :: zalksumb, zpo4sumb, zno3sumb, zsilsumb 355 357 !!--------------------------------------------------------------------- 356 357 358 358 359 IF(lwp) WRITE(numout,*) … … 415 416 !! 416 417 !!--------------------------------------------------------------------- 417 !418 418 INTEGER, INTENT( in ) :: kt ! ocean time-step index 419 419 REAL(wp) :: zrdenittot, zsdenittot, znitrpottot … … 422 422 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwork 423 423 !!---------------------------------------------------------------------- 424 425 ! 426 !!--------------------------------------------------------------------- 427 424 ! 428 425 IF( kt == nittrc000 ) THEN 429 426 xfact1 = rfact2r * 12. / 1.e15 * ryyss ! conversion molC/kt --> PgC/yr … … 535 532 ! 536 533 IF( lwp ) WRITE(numnit,9200) ndastp, znitrpottot * xfact2 , & 537 & zrdenittot * xfact2 , & 538 & zsdenittot * xfact2 539 534 & zrdenittot * xfact2 , & 535 & zsdenittot * xfact2 540 536 ENDIF 541 537 ! … … 543 539 9100 FORMAT(i8,5e18.10) 544 540 9200 FORMAT(i8,3f10.5) 545 546 541 ! 547 542 END SUBROUTINE p4z_chk_mass -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zlim.F90
r7646 r9124 154 154 !!--------------------------------------------------------------------- 155 155 ! 156 IF( nn_timing == 1 )CALL timing_start('p5z_lim')156 IF( ln_timing ) CALL timing_start('p5z_lim') 157 157 ! 158 158 zratchl = 6.0 … … 448 448 ENDIF 449 449 ! 450 IF( nn_timing == 1) CALL timing_stop('p5z_lim')450 IF( ln_timing ) CALL timing_stop('p5z_lim') 451 451 ! 452 452 END SUBROUTINE p5z_lim 453 453 454 454 455 SUBROUTINE p5z_lim_init 455 456 456 !!---------------------------------------------------------------------- 457 457 !! *** ROUTINE p5z_lim_init *** … … 465 465 !! 466 466 !!---------------------------------------------------------------------- 467 467 INTEGER :: ios ! Local integer output status for namelist read 468 !! 468 469 NAMELIST/namp5zlim/ concnno3, concpno3, concdno3, concnnh4, concpnh4, concdnh4, & 469 470 & concnfer, concpfer, concdfer, concbfe, concnpo4, concppo4, & … … 471 472 & xsizephy, xsizern, xsizerp, xsizerd, xksi1, xksi2, xkdoc, & 472 473 & caco3r, oxymin 473 474 ! 474 475 NAMELIST/namp5zquota/ qnnmin, qnnmax, qpnmin, qpnmax, qnpmin, qnpmax, qppmin, & 475 476 & qppmax, qndmin, qndmax, qpdmin, qpdmax, qfnmax, qfpmax, qfdmax, & 476 477 & qfnopt, qfpopt, qfdopt 477 478 479 INTEGER :: ios ! Local integer output status for namelist read 480 478 !!---------------------------------------------------------------------- 479 ! 481 480 REWIND( numnatp_ref ) ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 482 481 READ ( numnatp_ref, namp5zlim, IOSTAT = ios, ERR = 901) 483 482 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in reference namelist', lwp ) 484 483 ! 485 484 REWIND( numnatp_cfg ) ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters 486 485 READ ( numnatp_cfg, namp5zlim, IOSTAT = ios, ERR = 902 ) 487 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampislim in configuration namelist', lwp )486 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampislim in configuration namelist', lwp ) 488 487 IF(lwm) WRITE ( numonp, namp5zlim ) 489 488 ! 490 489 IF(lwp) THEN ! control print 491 490 WRITE(numout,*) ' ' … … 523 522 READ ( numnatp_ref, namp5zquota, IOSTAT = ios, ERR = 903) 524 523 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisquota in reference namelist', lwp ) 525 524 ! 526 525 REWIND( numnatp_cfg ) ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters 527 526 READ ( numnatp_cfg, namp5zquota, IOSTAT = ios, ERR = 904 ) 528 904 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampisquota in configuration namelist', lwp )527 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisquota in configuration namelist', lwp ) 529 528 IF(lwm) WRITE ( numonp, namp5zquota ) 530 529 ! 531 530 IF(lwp) THEN ! control print 532 531 WRITE(numout,*) ' ' … … 552 551 WRITE(numout,*) ' Maximal Fe quota for diatoms qfdmax = ', qfdmax 553 552 ENDIF 554 553 ! 555 554 zpsino3 = 2.3 * rno3 556 555 zpsinh4 = 1.8 * rno3 … … 560 559 ! 561 560 END SUBROUTINE p5z_lim_init 561 562 562 563 563 INTEGER FUNCTION p5z_lim_alloc() … … 569 569 !!---------------------------------------------------------------------- 570 570 ierr(:) = 0 571 571 ! 572 572 !* Biological arrays for phytoplankton growth 573 573 ALLOCATE( xpicono3(jpi,jpj,jpk), xpiconh4(jpi,jpj,jpk), & … … 585 585 & fvpuptk (jpi,jpj,jpk), xlimpic (jpi,jpj,jpk), & 586 586 & xlimsi (jpi,jpj,jpk), STAT=ierr(1) ) 587 587 ! 588 588 !* Minimum/maximum quotas of phytoplankton 589 589 ALLOCATE( xqnnmin (jpi,jpj,jpk), xqnnmax(jpi,jpj,jpk), & … … 593 593 & xqndmin (jpi,jpj,jpk), xqndmax(jpi,jpj,jpk), & 594 594 & xqpdmin (jpi,jpj,jpk), xqpdmax(jpi,jpj,jpk), STAT=ierr(2) ) 595 !595 ! 596 596 p5z_lim_alloc = MAXVAL( ierr ) 597 597 ! -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmeso.F90
r7646 r9124 89 89 !!--------------------------------------------------------------------- 90 90 ! 91 IF( nn_timing == 1 )CALL timing_start('p5z_meso')91 IF( ln_timing ) CALL timing_start('p5z_meso') 92 92 ! 93 93 CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) … … 362 362 CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 363 363 ! 364 IF( nn_timing == 1 )CALL timing_stop('p5z_meso')364 IF( ln_timing ) CALL timing_stop('p5z_meso') 365 365 ! 366 366 END SUBROUTINE p5z_meso 367 367 368 368 369 SUBROUTINE p5z_meso_init 369 370 370 !!---------------------------------------------------------------------- 371 371 !! *** ROUTINE p5z_meso_init *** … … 379 379 !! 380 380 !!---------------------------------------------------------------------- 381 381 INTEGER :: ios ! Local integer output status for namelist read 382 !! 382 383 NAMELIST/namp5zmes/part2, bmetexc2, grazrat2, resrat2, mzrat2, xpref2c, xpref2p, xpref2z, & 383 384 & xpref2m, xpref2d, xthresh2dia, xthresh2phy, xthresh2zoo, xthresh2poc, & 384 385 & xthresh2mes, xthresh2, xkgraz2, epsher2, ssigma2, unass2c, & 385 & unass2n, unass2p, srespir2, grazflux 386 387 INTEGER :: ios ! Local integer output status for namelist read 388 386 & unass2n, unass2p, srespir2, grazflux 387 !!---------------------------------------------------------------------- 388 ! 389 389 REWIND( numnatp_ref ) ! Namelist nampismes in reference namelist : Pisces mesozooplankton 390 390 READ ( numnatp_ref, namp5zmes, IOSTAT = ios, ERR = 901) 391 391 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in reference namelist', lwp ) 392 392 ! 393 393 REWIND( numnatp_cfg ) ! Namelist nampismes in configuration namelist : Pisces mesozooplankton 394 394 READ ( numnatp_cfg, namp5zmes, IOSTAT = ios, ERR = 902 ) 395 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'nampismes in configuration namelist', lwp )395 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampismes in configuration namelist', lwp ) 396 396 IF(lwm) WRITE ( numonp, namp5zmes ) 397 398 397 ! 399 398 IF(lwp) THEN ! control print 400 399 WRITE(numout,*) ' ' … … 426 425 WRITE(numout,*) ' Use excess carbon for respiration bmetexc2 = ', bmetexc2 427 426 ENDIF 428 429 427 ! 430 428 END SUBROUTINE p5z_meso_init 431 429 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmicro.F90
r7646 r9124 86 86 !!--------------------------------------------------------------------- 87 87 ! 88 IF( nn_timing == 1 )CALL timing_start('p5z_micro')88 IF( ln_timing ) CALL timing_start('p5z_micro') 89 89 ! 90 90 CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) … … 306 306 CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 307 307 ! 308 IF( nn_timing == 1 )CALL timing_stop('p5z_micro')308 IF( ln_timing ) CALL timing_stop('p5z_micro') 309 309 ! 310 310 END SUBROUTINE p5z_micro … … 312 312 313 313 SUBROUTINE p5z_micro_init 314 315 314 !!---------------------------------------------------------------------- 316 315 !! *** ROUTINE p5z_micro_init *** … … 324 323 !! 325 324 !!---------------------------------------------------------------------- 326 325 INTEGER :: ios ! Local integer 326 !! 327 327 NAMELIST/namp5zzoo/ part, grazrat, bmetexc, resrat, mzrat, xprefc, xprefn, & 328 328 & xprefp, xprefd, xprefz, xthreshdia, xthreshphy, & 329 329 & xthreshpic, xthreshpoc, xthreshzoo, xthresh, xkgraz, & 330 330 & epsher, ssigma, srespir, unassc, unassn, unassp 331 332 INTEGER :: ios ! Local integer output status for namelist read 333 331 !!---------------------------------------------------------------------- 332 ! 334 333 REWIND( numnatp_ref ) ! Namelist nampiszoo in reference namelist : Pisces microzooplankton 335 334 READ ( numnatp_ref, namp5zzoo, IOSTAT = ios, ERR = 901) 336 335 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zzoo in reference namelist', lwp ) 337 336 ! 338 337 REWIND( numnatp_cfg ) ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton 339 338 READ ( numnatp_cfg, namp5zzoo, IOSTAT = ios, ERR = 902 ) 340 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'namp5zzoo in configuration namelist', lwp )339 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp5zzoo in configuration namelist', lwp ) 341 340 IF(lwm) WRITE ( numonp, namp5zzoo ) 342 341 ! 343 342 IF(lwp) THEN ! control print 344 343 WRITE(numout,*) ' ' … … 369 368 WRITE(numout,*) ' Use of excess carbon for respiration bmetexc =', bmetexc 370 369 ENDIF 371 370 ! 372 371 END SUBROUTINE p5z_micro_init 373 372 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmort.F90
r7646 r9124 74 74 !!--------------------------------------------------------------------- 75 75 ! 76 IF( nn_timing == 1 )CALL timing_start('p5z_nano')76 IF( ln_timing ) CALL timing_start('p5z_nano') 77 77 ! 78 78 prodcal(:,:,:) = 0. !: calcite production variable set to zero … … 124 124 ENDIF 125 125 ! 126 IF( nn_timing == 1 )CALL timing_stop('p5z_nano')126 IF( ln_timing ) CALL timing_stop('p5z_nano') 127 127 ! 128 128 END SUBROUTINE p5z_nano 129 129 130 130 131 SUBROUTINE p5z_pico … … 143 144 !!--------------------------------------------------------------------- 144 145 ! 145 IF( nn_timing == 1 )CALL timing_start('p5z_pico')146 IF( ln_timing ) CALL timing_start('p5z_pico') 146 147 ! 147 148 DO jk = 1, jpkm1 … … 184 185 ENDIF 185 186 ! 186 IF( nn_timing == 1 )CALL timing_stop('p5z_pico')187 IF( ln_timing ) CALL timing_stop('p5z_pico') 187 188 ! 188 189 END SUBROUTINE p5z_pico … … 204 205 !!--------------------------------------------------------------------- 205 206 ! 206 IF( nn_timing == 1 )CALL timing_start('p5z_diat')207 IF( ln_timing ) CALL timing_start('p5z_diat') 207 208 ! 208 209 … … 262 263 ENDIF 263 264 ! 264 IF( nn_timing == 1 )CALL timing_stop('p5z_diat')265 IF( ln_timing ) CALL timing_stop('p5z_diat') 265 266 ! 266 267 END SUBROUTINE p5z_diat 267 268 269 268 270 SUBROUTINE p5z_mort_init 269 270 271 !!---------------------------------------------------------------------- 271 272 !! *** ROUTINE p5z_mort_init *** … … 279 280 !! 280 281 !!---------------------------------------------------------------------- 281 282 INTEGER :: ios ! Local integer output status for namelist read 283 !! 282 284 NAMELIST/namp5zmort/ wchln, wchlp, wchld, wchldm, mpratn, mpratp, mpratd 283 INTEGER :: ios ! Local integer output status for namelist read285 !!---------------------------------------------------------------------- 284 286 285 287 REWIND( numnatp_ref ) ! Namelist nampismort in reference namelist : Pisces phytoplankton … … 289 291 REWIND( numnatp_cfg ) ! Namelist nampismort in configuration namelist : Pisces phytoplankton 290 292 READ ( numnatp_cfg, namp5zmort, IOSTAT = ios, ERR = 902 ) 291 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'namp5zmort in configuration namelist', lwp )293 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp5zmort in configuration namelist', lwp ) 292 294 IF(lwm) WRITE ( numonp, namp5zmort ) 293 295 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zprod.F90
r7646 r9124 98 98 !!--------------------------------------------------------------------- 99 99 ! 100 IF( nn_timing == 1 )CALL timing_start('p5z_prod')100 IF( ln_timing ) CALL timing_start('p5z_prod') 101 101 ! 102 102 ! Allocate temporary workspace … … 571 571 CALL wrk_dealloc( jpi, jpj, jpk, zcroissp, zcroissn, zcroissd ) 572 572 ! 573 IF( nn_timing == 1 )CALL timing_stop('p5z_prod')573 IF( ln_timing ) CALL timing_stop('p5z_prod') 574 574 ! 575 575 END SUBROUTINE p5z_prod … … 587 587 !! ** input : Namelist nampisprod 588 588 !!---------------------------------------------------------------------- 589 ! 589 INTEGER :: ios ! Local integer output status for namelist read 590 !! 590 591 NAMELIST/namp5zprod/ pislopen, pislopep, pisloped, excretn, excretp, excretd, & 591 592 & thetannm, thetanpm, thetandm, chlcmin, grosip, bresp, xadap 592 593 INTEGER :: ios ! Local integer output status for namelist read594 593 !!---------------------------------------------------------------------- 595 594 … … 600 599 REWIND( numnatp_cfg ) ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production 601 600 READ ( numnatp_cfg, namp5zprod, IOSTAT = ios, ERR = 902 ) 602 902 IF( ios /=0 ) CALL ctl_nam ( ios , 'namp5zprod in configuration namelist', lwp )601 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp5zprod in configuration namelist', lwp ) 603 602 IF(lwm) WRITE ( numonp, namp5zprod ) 604 603 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/par_sed.F90
r7646 r9124 7 7 !! ! 06-12 (C. Ethe) Orignal 8 8 !!---------------------------------------------------------------------- 9 !! $Id$10 9 #if defined key_sed 10 !!---------------------------------------------------------------------- 11 !! 'key_sed' Sediment 12 !!---------------------------------------------------------------------- 13 11 14 !! Domain characteristics 12 15 USE par_kind … … 37 40 jpwat = 7, & !: number of pore water component 38 41 jpwatp1 = jpwat + 1 39 40 42 41 43 ! pore water components … … 61 63 jpdia2dsed = 7 62 64 #endif 65 66 !!---------------------------------------------------------------------- 67 !! NEMO/TOP 4.0 , NEMO Consortium (2017) 68 !! $Id$ 69 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 70 !!====================================================================== 63 71 END MODULE par_sed -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/sed.F90
r7646 r9124 4 4 !! Sediment : set sediment global variables 5 5 !!====================================================================== 6 #if defined key_sed7 6 !! History : 8 7 !! ! 06-12 (C. Ethe) Orignal 8 !!---------------------------------------------------------------------- 9 #if defined key_sed 10 !!---------------------------------------------------------------------- 11 !! 'key_sed' Sediment 9 12 !!---------------------------------------------------------------------- 10 13 USE par_sed -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/sedadv.F90
r5215 r9124 1 1 MODULE sedadv 2 #if defined key_sed3 2 !!====================================================================== 4 3 !! *** MODULE sedadv *** 5 4 !! Sediment : vertical advection and burial 6 5 !!===================================================================== 7 !! * Modules used 6 #if defined key_sed 7 !!---------------------------------------------------------------------- 8 !! 'key_sed' Sediment 8 9 !!---------------------------------------------------------------------- 9 10 !! sed_adv : -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/par_pisces.F90
r7646 r9124 5 5 !!====================================================================== 6 6 !! History : 2.0 ! 2007-12 (C. Ethe, G. Madec) revised architecture 7 !!----------------------------------------------------------------------8 !! NEMO/TOP 3.3 , NEMO Consortium (2010)9 !! $Id$10 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)11 7 !!---------------------------------------------------------------------- 12 8 … … 68 64 INTEGER, PUBLIC :: jp_pcs1 !: Last index of PISCES tracers 69 65 66 !!---------------------------------------------------------------------- 67 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 68 !! $Id$ 69 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 70 70 !!====================================================================== 71 71 END MODULE par_pisces -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90
r8533 r9124 137 137 CONTAINS 138 138 139 140 139 INTEGER FUNCTION sms_pisces_alloc() 141 140 !!---------------------------------------------------------------------- -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/trcice_pisces.F90
r7646 r9124 20 20 PUBLIC trc_ice_ini_pisces ! called by trcini.F90 module 21 21 22 !!---------------------------------------------------------------------- 23 !! NEMO/TOP 4.0 , NEMO Consortium (2017) 24 !! $Id: trcsub.F90 9019 2017-12-13 14:58:53Z timgraham $ 25 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 26 !!---------------------------------------------------------------------- 22 27 CONTAINS 23 28 24 25 29 SUBROUTINE trc_ice_ini_pisces 26 30 !!---------------------------------------------------------------------- … … 29 33 !! ** Purpose : Initialisation of the PISCES biochemical model 30 34 !!---------------------------------------------------------------------- 31 35 ! 32 36 IF( ln_p4z .OR. ln_p5z ) THEN ; CALL p4z_ice_ini ! PISCES 33 37 ELSE ; CALL p2z_ice_ini ! LOBSTER 34 38 ENDIF 35 39 ! 36 40 END SUBROUTINE trc_ice_ini_pisces 37 41 -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90
r7646 r9124 18 18 USE iom ! I/O manager 19 19 20 21 20 IMPLICIT NONE 22 21 PRIVATE 23 22 24 23 PUBLIC trc_nam_pisces ! called by trcnam.F90 module 25 26 24 27 25 !!---------------------------------------------------------------------- … … 30 28 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 31 29 !!---------------------------------------------------------------------- 32 33 30 CONTAINS 34 31 … … 42 39 !! namelist: natext, natbio, natsms 43 40 !!---------------------------------------------------------------------- 44 !!45 41 INTEGER :: jl, jn 46 42 INTEGER :: ios, ioptio ! Local integer output status for namelist read -
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90
r7646 r9124 23 23 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 24 24 !!---------------------------------------------------------------------- 25 26 25 CONTAINS 27 28 !!----------------------------------------------------------------------29 !! *** ROUTINE trc_ini_pisces ***30 !!31 !! ** Purpose : Initialisation of the PISCES biochemical model32 !!----------------------------------------------------------------------33 34 26 35 27 SUBROUTINE trc_sms_pisces( kt )
Note: See TracChangeset
for help on using the changeset viewer.