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 7351 for branches/2016/dev_INGV_UKMO_2016/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90 – NEMO

Ignore:
Timestamp:
2016-11-28T17:04:10+01:00 (7 years ago)
Author:
emanuelaclementi
Message:

ticket #1805 step 3: /2016/dev_INGV_UKMO_2016 aligned to the trunk at revision 7161

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_INGV_UKMO_2016/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90

    r5930 r7351  
    3030   USE zdf_oce         ! ocean vertical physics 
    3131   USE ldftra          ! lateral physics: eddy diffusivity coef. 
     32   USE ldfdyn          ! lateral physics: eddy viscosity   coef. 
    3233   USE sbc_oce         ! Surface boundary condition: ocean fields 
    3334   USE sbc_ice         ! Surface boundary condition: ice fields 
     
    4041   USE zdfddm          ! vertical  physics: double diffusion 
    4142   USE diahth          ! thermocline diagnostics 
     43   ! 
    4244   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    4345   USE in_out_manager  ! I/O manager 
    44    USE diadimg         ! dimg direct access file format output 
     46   USE diatmb          ! Top,middle,bottom output 
     47   USE dia25h          ! 25h Mean output 
    4548   USE iom 
    4649   USE ioipsl 
     
    5356   USE lib_mpp         ! MPP library 
    5457   USE timing          ! preformance summary 
     58   USE diurnal_bulk    ! diurnal warm layer 
     59   USE cool_skin       ! Cool skin 
    5560   USE wrk_nemo        ! working array 
    5661 
     
    7479   !! * Substitutions 
    7580#  include "zdfddm_substitute.h90" 
    76 #  include "domzgr_substitute.h90" 
    7781#  include "vectopt_loop_substitute.h90" 
    7882   !!---------------------------------------------------------------------- 
     
    97101  END FUNCTION dia_wri_alloc 
    98102 
    99 #if defined key_dimgout 
    100    !!---------------------------------------------------------------------- 
    101    !!   'key_dimgout'                                      DIMG output file 
    102    !!---------------------------------------------------------------------- 
    103 #   include "diawri_dimg.h90" 
    104  
    105 #else 
    106103   !!---------------------------------------------------------------------- 
    107104   !!   Default option                                   NetCDF output file 
    108105   !!---------------------------------------------------------------------- 
    109 # if defined key_iomput 
     106#if defined key_iomput 
    110107   !!---------------------------------------------------------------------- 
    111108   !!   'key_iomput'                                        use IOM library 
     
    143140      ENDIF 
    144141 
    145       IF( .NOT.lk_vvl ) THEN 
    146          CALL iom_put( "e3t" , fse3t_n(:,:,:) ) 
    147          CALL iom_put( "e3u" , fse3u_n(:,:,:) ) 
    148          CALL iom_put( "e3v" , fse3v_n(:,:,:) ) 
    149          CALL iom_put( "e3w" , fse3w_n(:,:,:) ) 
    150       ENDIF 
     142      ! Output of initial vertical scale factor 
     143      CALL iom_put("e3t_0", e3t_0(:,:,:) ) 
     144      CALL iom_put("e3u_0", e3t_0(:,:,:) ) 
     145      CALL iom_put("e3v_0", e3t_0(:,:,:) ) 
     146      ! 
     147      CALL iom_put( "e3t" , e3t_n(:,:,:) ) 
     148      CALL iom_put( "e3u" , e3u_n(:,:,:) ) 
     149      CALL iom_put( "e3v" , e3v_n(:,:,:) ) 
     150      CALL iom_put( "e3w" , e3w_n(:,:,:) ) 
     151      IF( iom_use("e3tdef") )   & 
     152         CALL iom_put( "e3tdef"  , ( ( e3t_n(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 ) 
    151153 
    152154      CALL iom_put( "ssh" , sshn )                 ! sea surface height 
    153       if( iom_use('ssh2') )   CALL iom_put( "ssh2", sshn(:,:) * sshn(:,:) )   ! square of sea surface height 
    154155       
    155156      CALL iom_put( "toce", tsn(:,:,:,jp_tem) )    ! 3D temperature 
     
    204205         CALL iom_put( "sbu", z2d )                ! bottom i-current 
    205206      ENDIF 
    206  
    207       IF ( ln_dynspg_ts ) THEN 
    208          CALL iom_put(  "ubar", un_adv(:,:)      )    ! barotropic i-current 
    209       ELSE 
    210          CALL iom_put(  "ubar", un_b(:,:)        )    ! barotropic i-current 
    211       ENDIF 
    212207       
    213208      CALL iom_put( "voce", vn(:,:,:)         )    ! 3D j-current 
     
    223218      ENDIF 
    224219 
    225       IF ( ln_dynspg_ts ) THEN 
    226          CALL iom_put(  "vbar", vn_adv(:,:)      )    ! barotropic j-current 
    227       ELSE 
    228          CALL iom_put(  "vbar", vn_b(:,:)        )    ! barotropic j-current 
    229       ENDIF 
    230  
    231220      CALL iom_put( "woce", wn )                   ! vertical velocity 
    232221      IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN   ! vertical mass transport & its square value 
     
    243232      CALL iom_put( "avm" , avmu                       )    ! T vert. eddy visc. coef. 
    244233      CALL iom_put( "avs" , fsavs(:,:,:)               )    ! S vert. eddy diff. coef. (useful only with key_zdfddm) 
     234 
     235      IF( iom_use('logavt') )   CALL iom_put( "logavt", LOG( MAX( 1.e-20_wp, avt  (:,:,:) ) ) ) 
     236      IF( iom_use('logavs') )   CALL iom_put( "logavs", LOG( MAX( 1.e-20_wp, fsavs(:,:,:) ) ) ) 
    245237 
    246238      IF ( iom_use("sstgrad") .OR. iom_use("sstgrad2") ) THEN 
     
    266258            DO jj = 1, jpj 
    267259               DO ji = 1, jpi 
    268                   z2d(ji,jj) = z2d(ji,jj) + fse3t(ji,jj,jk) * tsn(ji,jj,jk,jp_tem) * tmask(ji,jj,jk) 
     260                  z2d(ji,jj) = z2d(ji,jj) + e3t_n(ji,jj,jk) * tsn(ji,jj,jk,jp_tem) * tmask(ji,jj,jk) 
    269261               END DO 
    270262            END DO 
     
    278270            DO jj = 1, jpj 
    279271               DO ji = 1, jpi 
    280                   z2d(ji,jj) = z2d(ji,jj) + fse3t(ji,jj,jk) * tsn(ji,jj,jk,jp_sal) * tmask(ji,jj,jk) 
     272                  z2d(ji,jj) = z2d(ji,jj) + e3t_n(ji,jj,jk) * tsn(ji,jj,jk,jp_sal) * tmask(ji,jj,jk) 
    281273               END DO 
    282274            END DO 
     
    290282            DO jj = 2, jpjm1 
    291283               DO ji = fs_2, fs_jpim1   ! vector opt. 
    292                   zztmp   = 1._wp / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 
    293                   zztmpx  = 0.5 * (  un(ji-1,jj,jk) * un(ji-1,jj,jk) * e2u(ji-1,jj) * fse3u(ji-1,jj,jk)    & 
    294                      &             + un(ji  ,jj,jk) * un(ji  ,jj,jk) * e2u(ji  ,jj) * fse3u(ji  ,jj,jk) )  & 
     284                  zztmp   = 1._wp / ( e1e2t(ji,jj) * e3t_n(ji,jj,jk) ) 
     285                  zztmpx  = 0.5 * (  un(ji-1,jj,jk) * un(ji-1,jj,jk) * e2u(ji-1,jj) * e3u_n(ji-1,jj,jk)    & 
     286                     &             + un(ji  ,jj,jk) * un(ji  ,jj,jk) * e2u(ji  ,jj) * e3u_n(ji  ,jj,jk) )  & 
    295287                     &          *  zztmp  
    296288                  ! 
    297                   zztmpy  = 0.5 * (  vn(ji,jj-1,jk) * vn(ji,jj-1,jk) * e1v(ji,jj-1) * fse3v(ji,jj-1,jk)    & 
    298                      &             + vn(ji,jj  ,jk) * vn(ji,jj  ,jk) * e1v(ji,jj  ) * fse3v(ji,jj  ,jk) )  & 
     289                  zztmpy  = 0.5 * (  vn(ji,jj-1,jk) * vn(ji,jj-1,jk) * e1v(ji,jj-1) * e3v_n(ji,jj-1,jk)    & 
     290                     &             + vn(ji,jj  ,jk) * vn(ji,jj  ,jk) * e1v(ji,jj  ) * e3v_n(ji,jj  ,jk) )  & 
    299291                     &          *  zztmp  
    300292                  ! 
     
    307299         CALL iom_put( "eken", rke )            
    308300      ENDIF 
    309           
     301      ! 
     302      CALL iom_put( "hdiv", hdivn )                  ! Horizontal divergence 
     303      ! 
    310304      IF( iom_use("u_masstr") .OR. iom_use("u_heattr") .OR. iom_use("u_salttr") ) THEN 
    311305         z3d(:,:,jpk) = 0.e0 
    312306         DO jk = 1, jpkm1 
    313             z3d(:,:,jk) = rau0 * un(:,:,jk) * e2u(:,:) * fse3u(:,:,jk) * umask(:,:,jk) 
     307            z3d(:,:,jk) = rau0 * un(:,:,jk) * e2u(:,:) * e3u_n(:,:,jk) * umask(:,:,jk) 
    314308         END DO 
    315309         CALL iom_put( "u_masstr", z3d )                  ! mass transport in i-direction 
     
    346340         z3d(:,:,jpk) = 0.e0 
    347341         DO jk = 1, jpkm1 
    348             z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) * vmask(:,:,jk) 
     342            z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * e3v_n(:,:,jk) * vmask(:,:,jk) 
    349343         END DO 
    350344         CALL iom_put( "v_masstr", z3d )                  ! mass transport in j-direction 
     
    380374      CALL wrk_dealloc( jpi , jpj, jpk , z3d ) 
    381375      ! 
     376      ! If we want tmb values  
     377 
     378      IF (ln_diatmb) THEN 
     379         CALL dia_tmb  
     380      ENDIF  
     381      IF (ln_dia25h) THEN 
     382         CALL dia_25h( kt ) 
     383      ENDIF  
     384 
    382385      IF( nn_timing == 1 )   CALL timing_stop('dia_wri') 
    383386      ! 
     
    410413      INTEGER  ::   iimi, iima, ipk, it, itmod, ijmi, ijma   ! local integers 
    411414      INTEGER  ::   jn, ierror                               ! local integers 
    412       REAL(wp) ::   zsto, zout, zmax, zjulian, zdt           ! local scalars 
     415      REAL(wp) ::   zsto, zout, zmax, zjulian                ! local scalars 
    413416      ! 
    414417      REAL(wp), POINTER, DIMENSION(:,:)   :: zw2d       ! 2D workspace 
     
    418421      IF( nn_timing == 1 )   CALL timing_start('dia_wri') 
    419422      ! 
    420                      CALL wrk_alloc( jpi,jpj      , zw2d ) 
    421       IF( lk_vvl )   CALL wrk_alloc( jpi,jpj,jpk  , zw3d ) 
     423                             CALL wrk_alloc( jpi,jpj      , zw2d ) 
     424      IF( .NOT.ln_linssh )   CALL wrk_alloc( jpi,jpj,jpk  , zw3d ) 
    422425      ! 
    423426      ! Output the initial state and forcings 
     
    435438 
    436439      ! Define frequency of output and means 
    437       zdt = rdt 
    438       IF( nacc == 1 ) zdt = rdtmin 
    439440      clop = "x"         ! no use of the mask value (require less cpu time and otherwise the model crashes) 
    440441#if defined key_diainstant 
    441       zsto = nwrite * zdt 
     442      zsto = nwrite * rdt 
    442443      clop = "inst("//TRIM(clop)//")" 
    443444#else 
    444       zsto=zdt 
     445      zsto=rdt 
    445446      clop = "ave("//TRIM(clop)//")" 
    446447#endif 
    447       zout = nwrite * zdt 
    448       zmax = ( nitend - nit000 + 1 ) * zdt 
     448      zout = nwrite * rdt 
     449      zmax = ( nitend - nit000 + 1 ) * rdt 
    449450 
    450451      ! Define indices of the horizontal output zoom and vertical limit storage 
     
    488489         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
    489490            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    490             &          nit000-1, zjulian, zdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 
     491            &          nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 
    491492         CALL histvert( nid_T, "deptht", "Vertical T levels",      &  ! Vertical grid: gdept 
    492493            &           "m", ipk, gdept_1d, nz_T, "down" ) 
     
    524525         CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu 
    525526            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    526             &          nit000-1, zjulian, zdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 
     527            &          nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 
    527528         CALL histvert( nid_U, "depthu", "Vertical U levels",      &  ! Vertical grid: gdept 
    528529            &           "m", ipk, gdept_1d, nz_U, "down" ) 
     
    537538         CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv 
    538539            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    539             &          nit000-1, zjulian, zdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 
     540            &          nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 
    540541         CALL histvert( nid_V, "depthv", "Vertical V levels",      &  ! Vertical grid : gdept 
    541542            &          "m", ipk, gdept_1d, nz_V, "down" ) 
     
    550551         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
    551552            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    552             &          nit000-1, zjulian, zdt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set ) 
     553            &          nit000-1, zjulian, rdt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set ) 
    553554         CALL histvert( nid_W, "depthw", "Vertical W levels",      &  ! Vertical grid: gdepw 
    554555            &          "m", ipk, gdepw_1d, nz_W, "down" ) 
     
    562563         CALL histdef( nid_T, "vosaline", "Salinity"                           , "PSU"    ,   &  ! sn 
    563564            &          jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) 
    564          IF(  lk_vvl  ) THEN 
     565         IF(  .NOT.ln_linssh  ) THEN 
    565566            CALL histdef( nid_T, "vovvle3t", "Level thickness"                    , "m"      ,&  ! e3t_n 
    566567            &             jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) 
     
    583584         CALL histdef( nid_T, "sosfldow", "downward salt flux"                 , "PSU/m2/s",  &  ! sfx 
    584585            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    585          IF(  .NOT. lk_vvl  ) THEN 
     586         IF(  ln_linssh  ) THEN 
    586587            CALL histdef( nid_T, "sosst_cd", "Concentration/Dilution term on temperature"     &  ! emp * tsn(:,:,1,jp_tem) 
    587588            &                                                                  , "KgC/m2/s",  &  ! sosst_cd 
     
    729730      ENDIF 
    730731 
    731       IF( lk_vvl ) THEN 
    732          CALL histwrite( nid_T, "votemper", it, tsn(:,:,:,jp_tem) * fse3t_n(:,:,:) , ndim_T , ndex_T  )   ! heat content 
    733          CALL histwrite( nid_T, "vosaline", it, tsn(:,:,:,jp_sal) * fse3t_n(:,:,:) , ndim_T , ndex_T  )   ! salt content 
    734          CALL histwrite( nid_T, "sosstsst", it, tsn(:,:,1,jp_tem) * fse3t_n(:,:,1) , ndim_hT, ndex_hT )   ! sea surface heat content 
    735          CALL histwrite( nid_T, "sosaline", it, tsn(:,:,1,jp_sal) * fse3t_n(:,:,1) , ndim_hT, ndex_hT )   ! sea surface salinity content 
     732      IF( .NOT.ln_linssh ) THEN 
     733         CALL histwrite( nid_T, "votemper", it, tsn(:,:,:,jp_tem) * e3t_n(:,:,:) , ndim_T , ndex_T  )   ! heat content 
     734         CALL histwrite( nid_T, "vosaline", it, tsn(:,:,:,jp_sal) * e3t_n(:,:,:) , ndim_T , ndex_T  )   ! salt content 
     735         CALL histwrite( nid_T, "sosstsst", it, tsn(:,:,1,jp_tem) * e3t_n(:,:,1) , ndim_hT, ndex_hT )   ! sea surface heat content 
     736         CALL histwrite( nid_T, "sosaline", it, tsn(:,:,1,jp_sal) * e3t_n(:,:,1) , ndim_hT, ndex_hT )   ! sea surface salinity content 
    736737      ELSE 
    737738         CALL histwrite( nid_T, "votemper", it, tsn(:,:,:,jp_tem) , ndim_T , ndex_T  )   ! temperature 
     
    740741         CALL histwrite( nid_T, "sosaline", it, tsn(:,:,1,jp_sal) , ndim_hT, ndex_hT )   ! sea surface salinity 
    741742      ENDIF 
    742       IF( lk_vvl ) THEN 
    743          zw3d(:,:,:) = ( ( fse3t_n(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 
    744          CALL histwrite( nid_T, "vovvle3t", it, fse3t_n (:,:,:) , ndim_T , ndex_T  )   ! level thickness 
    745          CALL histwrite( nid_T, "vovvldep", it, fsdept_n(:,:,:) , ndim_T , ndex_T  )   ! t-point depth 
     743      IF( .NOT.ln_linssh ) THEN 
     744         zw3d(:,:,:) = ( ( e3t_n(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 
     745         CALL histwrite( nid_T, "vovvle3t", it, e3t_n (:,:,:) , ndim_T , ndex_T  )   ! level thickness 
     746         CALL histwrite( nid_T, "vovvldep", it, gdept_n(:,:,:) , ndim_T , ndex_T  )   ! t-point depth 
    746747         CALL histwrite( nid_T, "vovvldef", it, zw3d             , ndim_T , ndex_T  )   ! level thickness deformation 
    747748      ENDIF 
     
    752753                                                                                  ! (includes virtual salt flux beneath ice  
    753754                                                                                  ! in linear free surface case) 
    754       IF( .NOT. lk_vvl ) THEN 
     755      IF( ln_linssh ) THEN 
    755756         zw2d(:,:) = emp (:,:) * tsn(:,:,1,jp_tem) 
    756757         CALL histwrite( nid_T, "sosst_cd", it, zw2d, ndim_hT, ndex_hT )          ! c/d term on sst 
     
    837838      ENDIF 
    838839      ! 
    839                      CALL wrk_dealloc( jpi , jpj        , zw2d ) 
    840       IF( lk_vvl )   CALL wrk_dealloc( jpi , jpj , jpk  , zw3d ) 
     840                             CALL wrk_dealloc( jpi , jpj        , zw2d ) 
     841      IF( .NOT.ln_linssh )   CALL wrk_dealloc( jpi , jpj , jpk  , zw3d ) 
    841842      ! 
    842843      IF( nn_timing == 1 )   CALL timing_stop('dia_wri') 
    843844      ! 
    844845   END SUBROUTINE dia_wri 
    845 # endif 
    846  
    847846#endif 
    848847 
     
    867866      INTEGER  ::   id_i , nz_i, nh_i        
    868867      INTEGER, DIMENSION(1) ::   idex             ! local workspace 
    869       REAL(wp) ::   zsto, zout, zmax, zjulian, zdt 
     868      REAL(wp) ::   zsto, zout, zmax, zjulian 
    870869      !!---------------------------------------------------------------------- 
    871870      !  
     
    876875      clname = cdfile_name 
    877876      IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
    878       zdt  = rdt 
    879877      zsto = rdt 
    880878      clop = "inst(x)"           ! no use of the mask value (require less cpu time) 
    881879      zout = rdt 
    882       zmax = ( nitend - nit000 + 1 ) * zdt 
     880      zmax = ( nitend - nit000 + 1 ) * rdt 
    883881 
    884882      IF(lwp) WRITE(numout,*) 
     
    895893      zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    896894      CALL histbeg( clname, jpi, glamt, jpj, gphit,   & 
    897           1, jpi, 1, jpj, nit000-1, zjulian, zdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit 
     895          1, jpi, 1, jpj, nit000-1, zjulian, rdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit 
    898896      CALL histvert( id_i, "deptht", "Vertical T levels",   &    ! Vertical grid : gdept 
    899897          "m", jpk, gdept_1d, nz_i, "down") 
     
    913911      CALL histdef( id_i, "vovecrtz", "Vertical Velocity"     , "m/s"    ,   &   ! vertical current 
    914912         &          jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout )  
     913         ! 
     914      CALL histdef( id_i, "ahtu"    , "u-eddy diffusivity"    , "m2/s"    ,   &   ! zonal current 
     915         &          jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) 
     916      CALL histdef( id_i, "ahtv"    , "v-eddy diffusivity"    , "m2/s"    ,   &   ! meridonal current 
     917         &          jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout )  
     918      CALL histdef( id_i, "ahmt"    , "t-eddy viscosity"      , "m2/s"    ,   &   ! zonal current 
     919         &          jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) 
     920      CALL histdef( id_i, "ahmf"    , "f-eddy viscosity"      , "m2/s"    ,   &   ! meridonal current 
     921         &          jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout )  
     922         ! 
    915923      CALL histdef( id_i, "sowaflup", "Net Upward Water Flux" , "Kg/m2/S",   &   ! net freshwater  
    916924         &          jpi, jpj, nh_i, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    925933      CALL histdef( id_i, "sometauy", "Meridional Wind Stress", "N/m2"   ,   &   ! j-wind stress 
    926934         &          jpi, jpj, nh_i, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    927       IF( lk_vvl ) THEN 
    928          CALL histdef( id_i, "vovvldep", "T point depth"         , "m"      ,   &   ! t-point depth 
     935      IF( .NOT.ln_linssh ) THEN 
     936         CALL histdef( id_i, "vovvldep", "T point depth"         , "m"      , &   ! t-point depth 
     937            &          jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) 
     938         CALL histdef( id_i, "vovvle3t", "T point thickness"     , "m"      , &   ! t-point depth 
    929939            &          jpi, jpj, nh_i, jpk, 1, jpk, nz_i, 32, clop, zsto, zout ) 
    930940      ENDIF 
     
    952962      CALL histwrite( id_i, "vomecrty", kt, vn               , jpi*jpj*jpk, idex )    ! now j-velocity 
    953963      CALL histwrite( id_i, "vovecrtz", kt, wn               , jpi*jpj*jpk, idex )    ! now k-velocity 
     964      ! 
     965      CALL histwrite( id_i, "ahtu"    , kt, ahtu             , jpi*jpj*jpk, idex )    ! aht at u-point 
     966      CALL histwrite( id_i, "ahtv"    , kt, ahtv             , jpi*jpj*jpk, idex )    !  -  at v-point 
     967      CALL histwrite( id_i, "ahmt"    , kt, ahmt             , jpi*jpj*jpk, idex )    ! ahm at t-point 
     968      CALL histwrite( id_i, "ahmf"    , kt, ahmf             , jpi*jpj*jpk, idex )    !  -  at f-point 
     969      ! 
    954970      CALL histwrite( id_i, "sowaflup", kt, emp-rnf          , jpi*jpj    , idex )    ! freshwater budget 
    955971      CALL histwrite( id_i, "sohefldo", kt, qsr + qns        , jpi*jpj    , idex )    ! total heat flux 
     
    959975      CALL histwrite( id_i, "sometauy", kt, vtau             , jpi*jpj    , idex )    ! j-wind stress 
    960976 
     977      IF(  .NOT.ln_linssh  ) THEN              
     978         CALL histwrite( id_i, "vovvldep", kt, gdept_n(:,:,:), jpi*jpj*jpk, idex )!  T-cell depth  
     979         CALL histwrite( id_i, "vovvle3t", kt, e3t_n (:,:,:) , jpi*jpj*jpk, idex )!  T-cell thickness   
     980      END IF  
    961981      ! 3. Close the file 
    962982      ! ----------------- 
    963983      CALL histclo( id_i ) 
    964 #if ! defined key_iomput && ! defined key_dimgout 
     984#if ! defined key_iomput 
    965985      IF( ninist /= 1  ) THEN 
    966986         CALL histclo( nid_T ) 
     
    972992      !  
    973993   END SUBROUTINE dia_wri_state 
     994 
    974995   !!====================================================================== 
    975996END MODULE diawri 
Note: See TracChangeset for help on using the changeset viewer.