Changeset 8352
 Timestamp:
 20170719T16:26:37+02:00 (7 years ago)
 Location:
 branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA
 Files:

 2 edited
Legend:
 Unmodified
 Added
 Removed

branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_fin.F90
r8344 r8352 32 32 !! 33 33 USE bio_medusa_mod 34 USE dom_oce, ONLY: atfp, atfp1, neuler, rdt 34 USE dom_oce, ONLY: atfp, atfp1, neuler, rdt, e3t_n, tmask 35 35 USE in_out_manager, ONLY: lwp, numout 36 36 # if defined key_iomput … … 61 61 INTEGER :: ji, jj 62 62 INTEGER :: jn 63 64 REAL(wp) :: fq0,fq1,fq2,fq3 65 63 66 !! 64 67 !! Process benthic in/out fluxes … … 107 110 ENDDO 108 111 ENDDO 109 !! AXY (07/07/15): temporary hijacking110 # if defined key_roam111 !! trc2d(:,:,126) = zn_dms_chn(:,:)112 !! trc2d(:,:,127) = zn_dms_chd(:,:)113 !! trc2d(:,:,128) = zn_dms_mld(:,:)114 !! trc2d(:,:,129) = zn_dms_qsr(:,:)115 !! trc2d(:,:,130) = zn_dms_din(:,:)116 # endif117 112 ENDIF 118 113 !! … … 235 230 ENDIF 236 231 endif 237 232 233 # if defined key_debug_medusa 234 !! AXY (12/07/17) 235 !! 236 !! Check conservation of MEDUSA's sinksminussources using fflx_X 237 !! diagnostics (i.e. biogeochemical processes only) 238 !!  fflx_X diagnostics *should* include all transfers between 239 !! modelled components 240 !!  they should also include gains / losses due to airsea 241 !! fluxes of C and O2, aeolian and seafloor inputs of Fe, and 242 !! inputs from seafloor "benthic buckets" (N, Si, Fe, C and 243 !! alkalinity) 244 !!  however, they do not include the transfer of material to 245 !! "benthic buckets" by sedimenting slow and fastsinking 246 !! detritus since these are separate 2D reservoirs 247 !!  consequently, for a given water column, the integrated 248 !! fluxes should sum to the "loss" of material to the "benthic 249 !! buckets" 250 !!  if they do not, this suggests that MEDUSA contains errors 251 !! in its accounting (e.g. processes omitted from calculated 252 !! fluxes) 253 !!  here, the local integrated fluxes and benthic inputs (plus 254 !! airsea fluxes in the case of C) are reported together with 255 !! the resulting error 256 !!  only N, Si, C and alkalinity inventories considered; Fe and 257 !! O2 overlooked because of wholesale loss (and addition, in 258 !! the case of O2) of these tracers within the water column 259 !! 260 !! 261 !! nitrogen 262 DO jj = 2,jpjm1 263 DO ji = 2,jpim1 264 if (tmask(ji,jj,1) == 1) then 265 fq0 = fflx_n(ji,jj) 266 fq1 = f_sbenin_n(ji,jj) + f_fbenin_n(ji,jj) 267 fq2 = fq0 + fq1 268 IF (lwp) write (numout,'(a,2i3,a,3f15.10)') & 269 'AXY N cons: (i,j)=',ji,jj,', (flx,ben,err)=', & 270 fq0,fq1,fq2 271 ENDIF 272 ENDDO 273 ENDDO 274 !! silicon 275 DO jj = 2,jpjm1 276 DO ji = 2,jpim1 277 if (tmask(ji,jj,1) == 1) then 278 fq0 = fflx_si(ji,jj) 279 fq1 = f_fbenin_si(ji,jj) 280 fq2 = fq0 + fq1 281 IF (lwp) write (numout,'(a,2i3,a,3f15.10)') & 282 'AXY Si cons: (i,j)=',ji,jj,', (flx,ben,err)=', & 283 fq0,fq1,fq2 284 ENDIF 285 ENDDO 286 ENDDO 287 !! carbon 288 DO jj = 2,jpjm1 289 DO ji = 2,jpim1 290 if (tmask(ji,jj,1) == 1) then 291 fq0 = fflx_c(ji,jj) 292 fq1 = f_sbenin_c(ji,jj) + f_fbenin_c(ji,jj) + f_fbenin_ca(ji,jj) 293 fq2 = f_co2flux(ji,jj) * e3t_n(ji,jj,1) 294 fq3 = fq0 + fq1 295 IF (lwp) write (numout,'(a,2i3,a,4f15.10)') & 296 'AXY C cons: (i,j)=',ji,jj,', (flx,ben,asf,err)=', & 297 fq0,fq1,fq2,fq3 298 ENDIF 299 ENDDO 300 ENDDO 301 !! alkalinity 302 DO jj = 2,jpjm1 303 DO ji = 2,jpim1 304 if (tmask(ji,jj,1) == 1) then 305 fq0 = fflx_a(ji,jj) 306 fq1 = 2.0 * f_fbenin_ca(ji,jj) 307 fq2 = fq0 + fq1 308 IF (lwp) write (numout,'(a,2i3,a,3f15.10)') & 309 'AXY alk cons: (i,j)=',ji,jj,', (flx,ben,err)=', & 310 fq0,fq1,fq2 311 ENDIF 312 ENDDO 313 ENDDO 314 # endif 315 238 316 IF( ln_diatrc ) THEN 239 317 !! 
branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
r8344 r8352 350 350 !! x * 30d + 1*rdt(i.e: mod = rdt) 351 351 !! ++ need to pass carbchem output var through restarts 352 If ( ( kt == nittrc000 .AND. .NOT.ln_rsttr ) .OR. &353 ( mod(kt*rdt,2592000.) == rdt ) ) THEN354 352 If ( (kt == nittrc000 .AND. .NOT.ln_rsttr) .OR. & 355 353 ((86400*mod(nn_date0,100) + mod(kt*rdt,2592000.)) == rdt) ) THEN
Note: See TracChangeset
for help on using the changeset viewer.