New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 2007 for branches/DEV_r1879_FCM/NEMOGCM/NEMO/TOP_SRC/trcdia.F90 – NEMO

Ignore:
Timestamp:
2010-07-13T17:14:39+02:00 (14 years ago)
Author:
smasson
Message:

update branches/DEV_r1879_FCM/NEMOGCM/NEMO with tags/nemo_v3_2_1/NEMO

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r1879_FCM/NEMOGCM/NEMO/TOP_SRC/trcdia.F90

    r1715 r2007  
    2525   USE trc 
    2626   USE trp_trc 
     27   USE par_trc 
    2728   USE trdmld_trc_oce, ONLY : luttrd 
    2829   USE dianam    ! build name of file (routine) 
     
    4142   INTEGER  ::   ndimt50   !: number of ocean points in index array 
    4243   INTEGER  ::   ndimt51   !: number of ocean points in index array 
    43    REAL(wp) ::   xjulian   !: ????   not DOCTOR ! 
     44   REAL(wp) ::   zjulian   !: ????   not DOCTOR ! 
    4445   INTEGER , DIMENSION (jpij*jpk) ::   ndext50   !: integer arrays for ocean 3D index 
    4546   INTEGER , DIMENSION (jpij)     ::   ndext51   !: integer arrays for ocean surface index 
     
    157158 
    158159         ! Compute julian date from starting date of the run 
    159          CALL ymds2ju( nyear, nmonth, nday, rdt, xjulian ) 
    160          xjulian = xjulian - adatrj   !   set calendar origin to the beginning of the experiment 
     160         CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) 
     161         zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    161162         IF(lwp)WRITE(numout,*)' '   
    162163         IF(lwp)WRITE(numout,*)' Date 0 used :', nittrc000                         & 
    163164            &                 ,' YEAR ', nyear, ' MONTH ', nmonth, ' DAY ', nday   & 
    164             &                 ,'Julian day : ', xjulian   
     165            &                 ,'Julian day : ', zjulian   
    165166   
    166167         IF(lwp) WRITE(numout,*) ' indexes of zoom = ', iimi, iima, ijmi, ijma,  & 
     
    171172         IF(lwp) THEN 
    172173            CALL dia_nam( clhstnam, nwritetrc,' ' ) 
    173             CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
     174            CALL ctlopn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, narea ) 
    174175            WRITE(inum,*) clhstnam 
    175176            CLOSE(inum) 
     
    184185         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,     & 
    185186            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,         &  
    186             &          nittrc000-ndttrc, xjulian, zdt, nhorit5, nit5 , domain_id=nidom) 
     187            &          nittrc000-ndttrc, zjulian, zdt, nhorit5, nit5 , domain_id=nidom) 
    187188 
    188189         ! Vertical grid for tracer : gdept 
     
    258259      CHARACTER (len=80) ::   cltral 
    259260      CHARACTER (len=10) ::   csuff 
    260       INTEGER  ::   jn, jl 
     261      INTEGER  ::   jn, jl, ikn 
    261262      INTEGER  ::   iimi, iima, ijmi, ijma, ipk, it, itmod 
    262263      REAL(wp) ::   zsto, zout, zdt 
     
    313314               CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,       & 
    314315                  &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,   & 
    315                   &          nittrc000-ndttrc, xjulian, zdt, nhorit6(jn),  & 
     316                  &          nittrc000-ndttrc, zjulian, zdt, nhorit6(jn),  & 
    316317                  &          nit6(jn) , domain_id=nidom ) 
    317318 
     
    322323 
    323324          ! Declare all the output fields as NETCDF variables 
    324  
    325           ! trends for tracer concentrations 
    326325          DO jn = 1, jptra 
    327326            IF( luttrd(jn) ) THEN 
    328327                DO jl = 1, jpdiatrc 
    329                   IF( jl == 1 ) THEN 
     328                  IF( jl == jptrc_xad ) THEN 
    330329                      ! short and long title for x advection for tracer 
    331330                      WRITE (cltra,'("XAD_",16a)') ctrcnm(jn) 
    332                       WRITE (cltral,'("X advective trend for ",58a)')  & 
    333                          &      ctrcnl(jn)(1:58) 
    334                   END IF 
    335                   IF( jl == 2 ) THEN 
     331                      WRITE (cltral,'("X advective trend for ",58a)') ctrcnl(jn)(1:58) 
     332                  END IF 
     333                  IF( jl == jptrc_yad ) THEN 
    336334                      ! short and long title for y advection for tracer 
    337335                      WRITE (cltra,'("YAD_",16a)') ctrcnm(jn) 
    338                       WRITE (cltral,'("Y advective trend for ",58a)')  & 
    339                          &      ctrcnl(jn)(1:58) 
    340                   END IF 
    341                   IF( jl == 3 ) THEN 
     336                      WRITE (cltral,'("Y advective trend for ",58a)') ctrcnl(jn)(1:58) 
     337                  END IF 
     338                  IF( jl == jptrc_zad ) THEN 
    342339                      ! short and long title for Z advection for tracer 
    343340                      WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn) 
    344                       WRITE (cltral,'("Z advective trend for ",58a)')  & 
    345                          &      ctrcnl(jn)(1:58) 
    346                   END IF 
    347                   IF( jl == 4 ) THEN 
     341                      WRITE (cltral,'("Z advective trend for ",58a)') ctrcnl(jn)(1:58) 
     342                  END IF 
     343                  IF( jl == jptrc_xdf ) THEN 
    348344                      ! short and long title for X diffusion for tracer 
    349345                      WRITE (cltra,'("XDF_",16a)') ctrcnm(jn) 
    350                       WRITE (cltral,'("X diffusion trend for ",58a)')  & 
    351                          &      ctrcnl(jn)(1:58) 
    352                   END IF 
    353                   IF( jl == 5 ) THEN 
     346                      WRITE (cltral,'("X diffusion trend for ",58a)') ctrcnl(jn)(1:58) 
     347                  END IF 
     348                  IF( jl == jptrc_ydf ) THEN 
    354349                      ! short and long title for Y diffusion for tracer 
    355350                      WRITE (cltra,'("YDF_",16a)') ctrcnm(jn) 
    356                       WRITE (cltral,'("Y diffusion trend for ",58a)')  & 
    357                          &      ctrcnl(jn)(1:58) 
    358                   END IF 
    359                   IF( jl == 6 ) THEN 
     351                      WRITE (cltral,'("Y diffusion trend for ",58a)') ctrcnl(jn)(1:58) 
     352                  END IF 
     353                  IF( jl == jptrc_zdf ) THEN 
    360354                      ! short and long title for Z diffusion for tracer 
    361355                      WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn) 
    362                       WRITE (cltral,'("Z diffusion trend for ",58a)')  & 
    363                          &      ctrcnl(jn)(1:58) 
     356                      WRITE (cltral,'("Z diffusion trend for ",58a)') ctrcnl(jn)(1:58) 
    364357                  END IF 
    365358# if defined key_trcldf_eiv 
    366                   IF( jl == 7 ) THEN 
     359                  IF( jl == jptrc_xei ) THEN 
    367360                      ! short and long title for x gent velocity for tracer 
    368361                      WRITE (cltra,'("XGV_",16a)') ctrcnm(jn) 
    369                       WRITE (cltral,'("X gent velocity trend for ",53a)')  & 
    370                          &      ctrcnl(jn)(1:53) 
    371                   END IF 
    372                   IF( jl == 8 ) THEN 
     362                      WRITE (cltral,'("X gent velocity trend for ",53a)') ctrcnl(jn)(1:53) 
     363                  END IF 
     364                  IF( jl == jptrc_yei ) THEN 
    373365                      ! short and long title for y gent velocity for tracer 
    374366                      WRITE (cltra,'("YGV_",16a)') ctrcnm(jn) 
    375                       WRITE (cltral,'("Y gent velocity trend for ",53a)')  & 
    376                          &      ctrcnl(jn)(1:53) 
    377                   END IF 
    378                   IF( jl == 9 ) THEN 
     367                      WRITE (cltral,'("Y gent velocity trend for ",53a)') ctrcnl(jn)(1:53) 
     368                  END IF 
     369                  IF( jl == jptrc_zei ) THEN 
    379370                      ! short and long title for Z gent velocity for tracer 
    380371                      WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn) 
    381                       WRITE (cltral,'("Z gent velocity trend for ",53a)')  & 
    382                          &      ctrcnl(jn)(1:53) 
     372                      WRITE (cltral,'("Z gent velocity trend for ",53a)') ctrcnl(jn)(1:53) 
    383373                  END IF 
    384374# endif 
    385375# if defined key_trcdmp 
    386                   IF( jl == jpdiatrc - 1 ) THEN 
     376                  IF( jl == jptrc_dmp ) THEN 
    387377                      ! last trends for tracer damping : short and long title 
    388378                      WRITE (cltra,'("TDM_",16a)') ctrcnm(jn) 
    389                       WRITE (cltral,'("Tracer damping trend for ",55a)')  & 
    390                          &      ctrcnl(jn)(1:55) 
    391                   END IF 
    392 # endif 
    393                   IF( jl == jpdiatrc ) THEN 
     379                      WRITE (cltral,'("Tracer damping trend for ",55a)') ctrcnl(jn)(1:55) 
     380                  END IF 
     381# endif 
     382                  IF( jl == jptrc_sbc ) THEN 
    394383                      ! last trends for tracer damping : short and long title 
    395384                      WRITE (cltra,'("SBC_",16a)') ctrcnm(jn) 
    396                       WRITE (cltral,'("Surface boundary flux ",58a)')  & 
    397                       &      ctrcnl(jn)(1:58) 
    398                   END IF 
    399  
     385                      WRITE (cltral,'("Surface boundary flux ",58a)') ctrcnl(jn)(1:55) 
     386                  END IF 
     387                      WRITE (cltral,'("Surface boundary flux ",58a)') ctrcnl(jn)(1:55) 
     388                  END IF 
    400389                  CALL FLUSH( numout ) 
    401390                  cltrau = ctrcun(jn)      ! UNIT for tracer /trends 
     
    406395            END IF 
    407396         END DO 
    408  
    409397         ! CLOSE netcdf Files 
    410398          DO jn = 1, jptra 
     
    432420      DO jn = 1, jptra 
    433421         IF( luttrd(jn) ) THEN 
     422            ikn = ikeep(jn)  
    434423            DO jl = 1, jpdiatrc 
    435                ! short titles  
    436                IF( jl == 1)   WRITE (cltra,'("XAD_",16a)') ctrcnm(jn)      ! x advection for tracer 
    437                IF( jl == 2)   WRITE (cltra,'("YAD_",16a)') ctrcnm(jn)      ! z advection for tracer 
    438                IF( jl == 3)   WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn)      ! z advection for tracer 
    439                IF( jl == 4)   WRITE (cltra,'("XDF_",16a)') ctrcnm(jn)      ! x diffusion for tracer 
    440                IF( jl == 5)   WRITE (cltra,'("YDF_",16a)') ctrcnm(jn)      ! y diffusion for tracer 
    441                IF( jl == 6)   WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn)      ! z diffusion for tracer 
     424               ! short titles 
     425               IF( jl == jptrc_xad)   WRITE (cltra,'("XAD_",16a)') ctrcnm(jn) 
     426               IF( jl == jptrc_yad)   WRITE (cltra,'("YAD_",16a)') ctrcnm(jn) 
     427               IF( jl == jptrc_zad)   WRITE (cltra,'("ZAD_",16a)') ctrcnm(jn) 
     428               IF( jl == jptrc_xdf)   WRITE (cltra,'("XDF_",16a)') ctrcnm(jn) 
     429               IF( jl == jptrc_ydf)   WRITE (cltra,'("YDF_",16a)') ctrcnm(jn) 
     430               IF( jl == jptrc_zdf)   WRITE (cltra,'("ZDF_",16a)') ctrcnm(jn) 
    442431# if defined key_trcldf_eiv 
    443                IF( jl == 7)   WRITE (cltra,'("XGV_",16a)') ctrcnm(jn)      ! x gent velocity for tracer 
    444                IF( jl == 8)   WRITE (cltra,'("YGV_",16a)') ctrcnm(jn)      ! y gent velocity for tracer 
    445                IF( jl == 9)   WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn)      ! z gent velocity for tracer 
     432               IF( jl == jptrc_xei)   WRITE (cltra,'("XGV_",16a)') ctrcnm(jn) 
     433               IF( jl == jptrc_yei)   WRITE (cltra,'("YGV_",16a)') ctrcnm(jn) 
     434               IF( jl == jptrc_zei)   WRITE (cltra,'("ZGV_",16a)') ctrcnm(jn) 
    446435# endif 
    447436# if defined key_trcdmp 
    448                IF( jl == jpdiatrc - 1 )   WRITE (cltra,'("TDM_",16a)') ctrcnm(jn)      ! damping 
    449 # endif 
    450                IF( jl == jpdiatrc )   WRITE (cltra,'("SBC_",a)') ctrcnm(jn)      ! surface boundary conditions 
     437               IF( jl == jptrc_dmp )  WRITE (cltra,'("TDM_",16a)') ctrcnm(jn) 
     438# endif 
     439               IF( jl == jptrc_sbc )  WRITE (cltra,'("SBC_",16a)') ctrcnm(jn) 
    451440               ! 
    452                CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ikeep(jn),jl),ndimt50, ndext50) 
     441               CALL histwrite(nit6(jn), cltra, it, trtrd(:,:,:,ikn,jl),ndimt50, ndext50) 
    453442            END DO 
    454443         END IF 
     
    552541         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,             & 
    553542            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,         & 
    554             &          nittrc000-ndttrc, xjulian, zdt, nhoritd, nitd , domain_id=nidom ) 
     543            &          nittrc000-ndttrc, zjulian, zdt, nhoritd, nitd , domain_id=nidom ) 
    555544 
    556545         ! Vertical grid for 2d and 3d arrays 
     
    700689         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,      & 
    701690            &    iimi, iima-iimi+1, ijmi, ijma-ijmi+1,          & 
    702             &    nittrc000-ndttrc, xjulian, zdt, nhoritb, nitb , domain_id=nidom ) 
     691            &    nittrc000-ndttrc, zjulian, zdt, nhoritb, nitb , domain_id=nidom ) 
    703692         ! Vertical grid for biological trends 
    704693         CALL histvert(nitb, 'deptht', 'Vertical T levels', 'm', ipk, gdept_0, ndepitb) 
Note: See TracChangeset for help on using the changeset viewer.