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 1756 for trunk/NEMO/LIM_SRC_2/limsbc_2.F90 – NEMO

Ignore:
Timestamp:
2009-11-25T15:15:20+01:00 (14 years ago)
Author:
smasson
Message:

implement AR5 diagnostics, see ticket:610

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/LIM_SRC_2/limsbc_2.F90

    r1695 r1756  
    2424   USE lbclnk           ! ocean lateral boundary condition 
    2525   USE in_out_manager   ! I/O manager 
     26   USE diaar5, ONLY :   lk_diaar5 
    2627   USE iom              !  
    2728   USE albedo           ! albedo parameters 
     
    8081      INTEGER  ::   iflt, ial, iadv, ifral, ifrdv 
    8182      INTEGER  ::   ii0, ii1, ij0, ij1  ! temporary integers 
     83      REAL(wp) ::   zrdtir           ! 1. / rdt_ice 
    8284      REAL(wp) ::   zqsr  , zqns     ! solar & non solar heat flux 
    8385      REAL(wp) ::   zinda            ! switch for testing the values of ice concentration 
     
    9799      !!--------------------------------------------------------------------- 
    98100      
     101      zrdtir = 1. / rdt_ice 
     102       
    99103      IF( kt == nit000 ) THEN 
    100104         IF(lwp) WRITE(numout,*) 
     
    180184            zqns    =  - ( 1. - thcm(ji,jj) ) * zqsr   &   ! part of the solar energy used in leads 
    181185               &       + iflt    * ( fscmbq(ji,jj) + ffltbif(ji,jj) )                            & 
    182                &       + ifral   * ( ial * qcmif(ji,jj) + (1 - ial) * qldif(ji,jj) ) / rdt_ice   & 
    183                &       + ifrdv   * ( qfvbq(ji,jj) + qdtcn(ji,jj) ) / rdt_ice 
     186               &       + ifral   * ( ial * qcmif(ji,jj) + (1 - ial) * qldif(ji,jj) ) * zrdtir    & 
     187               &       + ifrdv   * ( qfvbq(ji,jj) + qdtcn(ji,jj) ) * zrdtir 
    184188 
    185189            fsbbq(ji,jj) = ( 1.0 - ( ifvt + iflt ) ) * fscmbq(ji,jj)     ! ??? 
     
    190194      END DO 
    191195 
     196      CALL iom_put( 'hflx_ice_cea', - fdtcn(:,:) )       
    192197      CALL iom_put( 'qns_io_cea', qns(:,:) - zqnsoce(:,:) * pfrld(:,:) )       
    193198      CALL iom_put( 'qsr_io_cea', fstric(:,:) * (1. - pfrld(:,:)) ) 
     
    206211#if defined key_coupled 
    207212          zemp = emp_tot(ji,jj) - emp_ice(ji,jj) * ( 1. - pfrld(ji,jj) )    &   !  
    208              &   + rdmsnif(ji,jj) / rdt_ice                                     !  freshwaterflux due to snow melting  
     213             &   + rdmsnif(ji,jj) * zrdtir                                      !  freshwaterflux due to snow melting  
    209214#else 
    210215!!$            !  computing freshwater exchanges at the ice/ocean interface 
     
    217222               &   - tprecip(ji,jj) * ( 1. -  frld(ji,jj) )    &   !  liquid precipitation reaches directly the ocean 
    218223               &   + sprecip(ji,jj) * ( 1. - pfrld(ji,jj) )    &   !  taking into account change in ice cover within the time step 
    219                &   + rdmsnif(ji,jj) / rdt_ice                      !  freshwaterflux due to snow melting  
     224               &   + rdmsnif(ji,jj) * zrdtir                       !  freshwaterflux due to snow melting  
    220225               !                                                   !  ice-covered fraction: 
    221226#endif             
    222227 
    223228            !  computing salt exchanges at the ice/ocean interface 
    224             zfons =  ( soce_r(ji,jj) - sice_r(ji,jj) ) * ( rdmicif(ji,jj) / rdt_ice )  
     229            zfons =  ( soce_r(ji,jj) - sice_r(ji,jj) ) * ( rdmicif(ji,jj) * zrdtir )  
    225230             
    226231            !  converting the salt flux from ice to a freshwater flux from ocean 
     
    232237         END DO 
    233238      END DO 
     239 
     240      IF( lk_diaar5 ) THEN 
     241         CALL iom_put( 'isnwmlt_cea'  ,                 rdmsnif(:,:) * zrdtir ) 
     242         CALL iom_put( 'fsal_virt_cea',   soce_r(:,:) * rdmicif(:,:) * zrdtir ) 
     243         CALL iom_put( 'fsal_real_cea', - sice_r(:,:) * rdmicif(:,:) * zrdtir ) 
     244      ENDIF 
    234245 
    235246      !------------------------------------------! 
Note: See TracChangeset for help on using the changeset viewer.