Ignore:
Timestamp:
2014-12-22T12:56:38+01:00 (6 years ago)
Author:
cetlod
Message:

trunk : New diagnostics in PISCES model, see ticket #1424

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/trcwri_pisces.F90

    r4292 r4996  
    3030      !! ** Purpose :   output passive tracers fields  
    3131      !!--------------------------------------------------------------------- 
    32       CHARACTER (len=20)   :: cltra 
    33       REAL(wp)             :: zrfact 
    34       INTEGER              :: jn 
     32      CHARACTER (len=20)           :: cltra 
     33      REAL(wp)                     :: zfact 
     34      INTEGER                      :: ji, jj, jk, jn 
     35      REAL(wp), DIMENSION(jpi,jpj) :: zdic, zo2min, zdepo2min 
    3536      !!--------------------------------------------------------------------- 
    3637  
     
    4041      DO jn = jp_pcs0, jp_pcs1 
    4142         cltra = TRIM( ctrcnm(jn) )                  ! short title for tracer 
    42          IF( lk_vvl ) THEN 
    43             CALL iom_put( cltra, trn(:,:,:,jn) * fse3t_n(:,:,:) ) 
    44          ELSE 
    45             CALL iom_put( cltra, trn(:,:,:,jn) ) 
    46          ENDIF 
    47          CALL iom_put( cltra, trn(:,:,:,jn) * zrfact ) 
     43         CALL iom_put( cltra, trn(:,:,:,jn) ) 
    4844      END DO 
    4945#else 
    5046      DO jn = jp_pcs0, jp_pcs1 
    51          zrfact = 1.0e+6  
    52          IF( jn == jpno3 .OR. jn == jpnh4 ) zrfact = rno3 * 1.0e+6  
    53          IF( jn == jppo4  )                 zrfact = po4r * 1.0e+6 
     47         zfact = 1.0e+6  
     48         IF( jn == jpno3 .OR. jn == jpnh4 ) zfact = rno3 * 1.0e+6  
     49         IF( jn == jppo4  )                 zfact = po4r * 1.0e+6 
    5450         cltra = TRIM( ctrcnm(jn) )                  ! short title for tracer 
    55          IF( lk_vvl ) THEN 
    56             CALL iom_put( cltra, trn(:,:,:,jn) * fse3t_n(:,:,:) * zrfact ) 
    57          ELSE 
    58             CALL iom_put( cltra, trn(:,:,:,jn) * zrfact ) 
    59          ENDIF 
     51         IF( iom_use( cltra ) )  CALL iom_put( cltra, trn(:,:,:,jn) * zfact ) 
    6052      END DO 
     53 
     54      IF( iom_use( "INTDIC" ) ) THEN                     !   DIC content in kg/m2 
     55         zdic(:,:) = 0. 
     56         DO jk = 1, jpkm1 
     57            zdic(:,:) = zdic(:,:) + trn(:,:,jk,jpdic) * fse3t(:,:,jk) * tmask(:,:,jk) * 12. 
     58         ENDDO 
     59         CALL iom_put( 'INTDIC', zdic )      
     60      ENDIF 
     61      ! 
     62      IF( iom_use( "O2MIN" ) .OR. iom_use ( "ZO2MIN" ) ) THEN  ! Oxygen minimum concentration and depth  
     63         zo2min   (:,:) = trn(:,:,1,jpoxy) * tmask(:,:,1) 
     64         zdepo2min(:,:) = fsdepw(:,:,1)    * tmask(:,:,1) 
     65         DO jk = 2, jpkm1 
     66            DO jj = 1, jpj 
     67               DO ji = 1, jpi 
     68                  IF( tmask(ji,jj,jk) == 1 ) then 
     69                     IF( trn(ji,jj,jk,jpoxy) < zo2min(ji,jj) ) then 
     70                        zo2min   (ji,jj) = trn(ji,jj,jk,jpoxy) 
     71                        zdepo2min(ji,jj) = fsdepw(ji,jj,jk) 
     72                     ENDIF 
     73                  ENDIF 
     74               END DO 
     75            END DO 
     76         END DO 
     77         ! 
     78         CALL iom_put('O2MIN' , zo2min     )                              ! oxygen minimum concentration 
     79         CALL iom_put('ZO2MIN', zdepo2min  )                              ! depth of oxygen minimum concentration 
     80          ! 
     81      ENDIF 
    6182#endif 
    6283      ! 
Note: See TracChangeset for help on using the changeset viewer.