- Timestamp:
- 2014-04-06T17:47:31+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90
r4162 r4617 15 15 USE oce_trc ! shared variables between ocean and passive tracers 16 16 USE trc ! passive tracers common variables 17 USE trcdta 17 USE trcdta ! 18 18 USE sms_pisces ! PISCES Source Minus Sink variables 19 19 USE p4zbio ! Biological model … … 24 24 USE p4zsed ! Sedimentation 25 25 USE p4zint ! time interpolation 26 USE iom ! I/O manager27 26 USE trdmod_oce ! Ocean trends variables 28 27 USE trdmod_trc ! TOP trends variables 29 28 USE sedmodel ! Sediment model 29 ! 30 30 USE prtctl_trc ! print control for debugging 31 USE iom ! I/O manager 31 32 32 33 IMPLICIT NONE … … 34 35 35 36 PUBLIC p4z_sms_init ! called in p4zsms.F90 36 PUBLIC p4z_sms ! called in p4zsms.F9037 PUBLIC p4z_sms ! called in p4zsms.F90 37 38 38 39 REAL(wp) :: alkbudget, no3budget, silbudget, ferbudget … … 58 59 !! - ... 59 60 !!--------------------------------------------------------------------- 60 !61 61 INTEGER, INTENT( in ) :: kt ! ocean time-step index 62 62 !! … … 73 73 jl = jn + jp_pcs0 - 1 74 74 ztrdpis(:,:,:,jn) = trn(:,:,:,jl) 75 END DO75 END DO 76 76 ENDIF 77 77 ! … … 91 91 ! 92 92 ndayflxtr = nday_year 93 93 ! 94 94 IF(lwp) write(numout,*) 95 95 IF(lwp) write(numout,*) ' New chemical constants and various rates for biogeochemistry at new day : ', nday_year 96 96 IF(lwp) write(numout,*) '~~~~~~' 97 97 ! 98 98 CALL p4z_che ! computation of chemical constants 99 99 CALL p4z_int( kt ) ! computation of various rates for biogeochemistry 100 100 ! 101 101 ENDIF 102 103 IF( ll_sbc ) CALL p4z_sbc( kt ) ! external sources of nutrients 104 102 IF( ll_sbc ) CALL p4z_sbc( kt ) ! external sources of nutrients 103 ! 105 104 DO jnt = 1, nrdttrc ! Potential time splitting if requested 106 105 ! … … 110 109 DO jn = jp_pcs0, jp_pcs1 111 110 trb(:,:,:,jn) = trn(:,:,:,jn) 112 END DO111 END DO 113 112 ! 114 113 END DO … … 118 117 jl = jn + jp_pcs0 - 1 119 118 ztrdpis(:,:,:,jn) = ( ztrdpis(:,:,:,jn) - trn(:,:,:,jl) ) * rfact2r 120 END DO119 END DO 121 120 ENDIF 122 121 … … 152 151 ! 153 152 CALL p4z_chk_mass( kt ) ! Mass conservation checking 154 155 IF ( kt == nittrc000 ) CALL FLUSH ( numonp ) ! flush output namelist PISCES 156 IF( nn_timing == 1 ) CALL timing_stop('p4z_sms') 157 ! 153 ! 154 IF( kt == nittrc000 ) CALL FLUSH ( numonp ) ! flush output namelist PISCES 155 IF( nn_timing == 1 ) CALL timing_stop('p4z_sms') 158 156 ! 159 157 END SUBROUTINE p4z_sms 158 160 159 161 160 SUBROUTINE p4z_sms_init … … 260 259 WRITE(numout,*) ' Flag to check mass conservation of NO3/Si/TALK ln_check_mass = ', ln_check_mass 261 260 ENDIF 262 261 ! 263 262 END SUBROUTINE p4z_sms_init 263 264 264 265 265 SUBROUTINE p4z_ph_ini … … 291 291 END SUBROUTINE p4z_ph_ini 292 292 293 293 294 SUBROUTINE p4z_rst( kt, cdrw ) 294 295 !!--------------------------------------------------------------------- … … 341 342 END SUBROUTINE p4z_rst 342 343 344 343 345 SUBROUTINE p4z_dmp( kt ) 344 346 !!---------------------------------------------------------------------- … … 347 349 !! ** purpose : Relaxation of some tracers 348 350 !!---------------------------------------------------------------------- 349 ! 350 INTEGER, INTENT( in ) :: kt ! time step 351 INTEGER, INTENT(in) :: kt ! time step 351 352 ! 352 353 REAL(wp) :: alkmean = 2426. ! mean value of alkalinity ( Glodap ; for Goyet 2391. ) … … 357 358 REAL(wp) :: zarea, zalksum, zpo4sum, zno3sum, zsilsum 358 359 !!--------------------------------------------------------------------- 359 360 360 361 361 IF(lwp) WRITE(numout,*) … … 386 386 ! 387 387 ENDIF 388 388 ! 389 389 END SUBROUTINE p4z_dmp 390 390 … … 397 397 !! 398 398 !!--------------------------------------------------------------------- 399 ! 400 INTEGER, INTENT( in ) :: kt ! ocean time-step index 401 !! 402 !!--------------------------------------------------------------------- 403 399 INTEGER, INTENT(in) :: kt ! ocean time-step index 400 !!--------------------------------------------------------------------- 401 ! 404 402 IF( kt == nittrc000 ) THEN 405 403 IF( ln_check_mass .AND. lwp) THEN ! Open budget file of NO3, ALK, Si, Fer … … 434 432 & + trn(:,:,:,jpzoo) * ferat3 & 435 433 & + trn(:,:,:,jpmes) * ferat3 ) * cvol(:,:,:) ) 436 437 ! 434 ! 438 435 t_atm_co2_flx = t_atm_co2_flx / glob_sum( e1e2t(:,:) ) 439 436 t_oce_co2_flx = t_oce_co2_flx * 12. / 1.e15 * (-1 ) … … 452 449 ! 453 450 ENDIF 454 455 9000 456 9500 457 451 ! 452 9000 FORMAT(i8,f10.5,e18.10,f10.5,f10.5) 453 9500 FORMAT(i8,4e18.10) 454 ! 458 455 END SUBROUTINE p4z_chk_mass 459 456
Note: See TracChangeset
for help on using the changeset viewer.