Changeset 10213 for NEMO/trunk/src/TOP/PISCES/P4Z
- Timestamp:
- 2018-10-23T16:40:09+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/TOP/PISCES/P4Z/p4zsms.F90
r10069 r10213 352 352 IF(lwp) WRITE(numout,*) 353 353 354 IF( cn_cfg == "orca" .AND. .NOT. lk_c1d ) THEN ! ORCA configuration (not 1D) ! 355 ! ! --------------------------- ! 356 ! set total alkalinity, phosphate, nitrate & silicate 357 zarea = 1._wp / glob_sum( cvol(:,:,:) ) * 1e6 358 359 zalksumn = glob_sum( trn(:,:,:,jptal) * cvol(:,:,:) ) * zarea 360 zpo4sumn = glob_sum( trn(:,:,:,jppo4) * cvol(:,:,:) ) * zarea * po4r 361 zno3sumn = glob_sum( trn(:,:,:,jpno3) * cvol(:,:,:) ) * zarea * rno3 362 zsilsumn = glob_sum( trn(:,:,:,jpsil) * cvol(:,:,:) ) * zarea 354 IF( cn_cfg == "ORCA" .OR. cn_cfg == "orca" ) THEN 355 IF( .NOT. lk_c1d ) THEN ! ORCA configuration (not 1D) ! 356 ! ! --------------------------- ! 357 ! set total alkalinity, phosphate, nitrate & silicate 358 zarea = 1._wp / glob_sum( cvol(:,:,:) ) * 1e6 359 360 zalksumn = glob_sum( trn(:,:,:,jptal) * cvol(:,:,:) ) * zarea 361 zpo4sumn = glob_sum( trn(:,:,:,jppo4) * cvol(:,:,:) ) * zarea * po4r 362 zno3sumn = glob_sum( trn(:,:,:,jpno3) * cvol(:,:,:) ) * zarea * rno3 363 zsilsumn = glob_sum( trn(:,:,:,jpsil) * cvol(:,:,:) ) * zarea 363 364 364 IF(lwp) WRITE(numout,*) ' TALKN mean : ', zalksumn365 trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / zalksumn366 367 IF(lwp) WRITE(numout,*) ' PO4N mean : ', zpo4sumn368 trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / zpo4sumn369 370 IF(lwp) WRITE(numout,*) ' NO3N mean : ', zno3sumn371 trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / zno3sumn372 373 IF(lwp) WRITE(numout,*) ' SiO3N mean : ', zsilsumn374 trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * silmean / zsilsumn )375 !376 !377 IF( .NOT. ln_top_euler ) THEN378 zalksumb = glob_sum( trb(:,:,:,jptal) * cvol(:,:,:) ) * zarea379 zpo4sumb = glob_sum( trb(:,:,:,jppo4) * cvol(:,:,:) ) * zarea * po4r380 zno3sumb = glob_sum( trb(:,:,:,jpno3) * cvol(:,:,:) ) * zarea * rno3381 zsilsumb = glob_sum( trb(:,:,:,jpsil) * cvol(:,:,:) ) * zarea365 IF(lwp) WRITE(numout,*) ' TALKN mean : ', zalksumn 366 trn(:,:,:,jptal) = trn(:,:,:,jptal) * alkmean / zalksumn 367 368 IF(lwp) WRITE(numout,*) ' PO4N mean : ', zpo4sumn 369 trn(:,:,:,jppo4) = trn(:,:,:,jppo4) * po4mean / zpo4sumn 370 371 IF(lwp) WRITE(numout,*) ' NO3N mean : ', zno3sumn 372 trn(:,:,:,jpno3) = trn(:,:,:,jpno3) * no3mean / zno3sumn 373 374 IF(lwp) WRITE(numout,*) ' SiO3N mean : ', zsilsumn 375 trn(:,:,:,jpsil) = MIN( 400.e-6,trn(:,:,:,jpsil) * silmean / zsilsumn ) 376 ! 377 ! 378 IF( .NOT. ln_top_euler ) THEN 379 zalksumb = glob_sum( trb(:,:,:,jptal) * cvol(:,:,:) ) * zarea 380 zpo4sumb = glob_sum( trb(:,:,:,jppo4) * cvol(:,:,:) ) * zarea * po4r 381 zno3sumb = glob_sum( trb(:,:,:,jpno3) * cvol(:,:,:) ) * zarea * rno3 382 zsilsumb = glob_sum( trb(:,:,:,jpsil) * cvol(:,:,:) ) * zarea 382 383 383 IF(lwp) WRITE(numout,*) ' ' 384 IF(lwp) WRITE(numout,*) ' TALKB mean : ', zalksumb 385 trb(:,:,:,jptal) = trb(:,:,:,jptal) * alkmean / zalksumb 386 387 IF(lwp) WRITE(numout,*) ' PO4B mean : ', zpo4sumb 388 trb(:,:,:,jppo4) = trb(:,:,:,jppo4) * po4mean / zpo4sumb 389 390 IF(lwp) WRITE(numout,*) ' NO3B mean : ', zno3sumb 391 trb(:,:,:,jpno3) = trb(:,:,:,jpno3) * no3mean / zno3sumb 392 393 IF(lwp) WRITE(numout,*) ' SiO3B mean : ', zsilsumb 394 trb(:,:,:,jpsil) = MIN( 400.e-6,trb(:,:,:,jpsil) * silmean / zsilsumb ) 384 IF(lwp) WRITE(numout,*) ' ' 385 IF(lwp) WRITE(numout,*) ' TALKB mean : ', zalksumb 386 trb(:,:,:,jptal) = trb(:,:,:,jptal) * alkmean / zalksumb 387 388 IF(lwp) WRITE(numout,*) ' PO4B mean : ', zpo4sumb 389 trb(:,:,:,jppo4) = trb(:,:,:,jppo4) * po4mean / zpo4sumb 390 391 IF(lwp) WRITE(numout,*) ' NO3B mean : ', zno3sumb 392 trb(:,:,:,jpno3) = trb(:,:,:,jpno3) * no3mean / zno3sumb 393 394 IF(lwp) WRITE(numout,*) ' SiO3B mean : ', zsilsumb 395 trb(:,:,:,jpsil) = MIN( 400.e-6,trb(:,:,:,jpsil) * silmean / zsilsumb ) 396 ENDIF 395 397 ENDIF 396 398 !
Note: See TracChangeset
for help on using the changeset viewer.