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 2528 for trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90 – NEMO

Ignore:
Timestamp:
2010-12-27T18:33:53+01:00 (13 years ago)
Author:
rblod
Message:

Update NEMOGCM from branch nemo_v3_3_beta

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r2090 r2528  
    44   !! Surface Boundary Condition :  momentum, heat and freshwater fluxes in coupled mode 
    55   !!====================================================================== 
    6    !! History :  2.0  !  06-2007  (R. Redler, N. Keenlyside, W. Park) Original code split into flxmod & taumod 
    7    !!            3.0  !  02-2008  (G. Madec, C Talandier)  surface module 
    8    !!            3.1  !  02-2009  (G. Madec, S. Masson, E. Maisonave, A. Caubel) generic coupled interface 
     6   !! History :  2.0  ! 2007-06  (R. Redler, N. Keenlyside, W. Park) Original code split into flxmod & taumod 
     7   !!            3.0  ! 2008-02  (G. Madec, C Talandier)  surface module 
     8   !!            3.1  ! 2009_02  (G. Madec, S. Masson, E. Maisonave, A. Caubel) generic coupled interface 
    99   !!---------------------------------------------------------------------- 
    1010#if defined key_oasis3 || defined key_oasis4 
     
    2323   USE sbc_oce         ! Surface boundary condition: ocean fields 
    2424   USE sbc_ice         ! Surface boundary condition: ice fields 
     25   USE sbcdcy          ! surface boundary condition: diurnal cycle 
    2526   USE phycst          ! physical constants 
    2627#if defined key_lim3 
    2728   USE par_ice         ! ice parameters 
     29   USE ice             ! ice variables 
    2830#endif 
    2931#if defined key_lim2 
     
    163165#  include "vectopt_loop_substitute.h90" 
    164166   !!---------------------------------------------------------------------- 
    165    !! NEMO/OPA 3.0 , LOCEAN-IPSL (2008)  
     167   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    166168   !! $Id$ 
    167    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     169   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    168170   !!---------------------------------------------------------------------- 
    169171 
     
    527529      CALL cpl_prism_define(jprcv, jpsnd)             
    528530      ! 
     531      IF( ln_dm2dc .AND. ( cpl_prism_freq( jpr_qsroce ) + cpl_prism_freq( jpr_qsrmix ) /= 86400 ) )   & 
     532         &   CALL ctl_stop( 'sbc_cpl_init: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' ) 
     533 
    529534   END SUBROUTINE sbc_cpl_init 
    530535 
     
    728733         IF( srcv(jpr_qsroce)%laction )   qsr(:,:) = frcv(:,:,jpr_qsroce)  
    729734         IF( srcv(jpr_qsrmix)%laction )   qsr(:,:) = frcv(:,:,jpr_qsrmix) 
     735         IF( ln_dm2dc )   qsr(:,:) = sbc_dcy( qsr )                           ! modify qsr to include the diurnal cycle 
    730736         ! 
    731737         !                                                       ! total freshwater fluxes over the ocean (emp, emps) 
     
    783789      !! ** Method  :   transform the received stress from the atmosphere into 
    784790      !!             an atmosphere-ice stress in the (i,j) ocean referencial 
    785       !!             and at the velocity point of the sea-ice model (cigr_type): 
     791      !!             and at the velocity point of the sea-ice model (cp_ice_msh): 
    786792      !!                'C'-grid : i- (j-) components given at U- (V-) point  
    787       !!                'B'-grid : both components given at I-point  
     793      !!                'I'-grid : B-grid lower-left corner: both components given at I-point  
    788794      !! 
    789795      !!                The received stress are : 
     
    798804      !!                 first  as  2 components on the sphere  
    799805      !!                 second as  2 components oriented along the local grid 
    800       !!                 third  as  2 components on the cigr_type point  
     806      !!                 third  as  2 components on the cp_ice_msh point  
    801807      !! 
    802808      !!                In 'oce and ice' case, only one vector stress field  
     
    804810      !!             so that it is now defined as (i,j) components given at U- 
    805811      !!             and V-points, respectively. Therefore, here only the third 
    806       !!             transformation is done and only if the ice-grid is a 'B'-grid.  
    807       !! 
    808       !! ** Action  :   return ptau_i, ptau_j, the stress over the ice at cigr_type point 
     812      !!             transformation is done and only if the ice-grid is a 'I'-grid.  
     813      !! 
     814      !! ** Action  :   return ptau_i, ptau_j, the stress over the ice at cp_ice_msh point 
    809815      !!---------------------------------------------------------------------- 
    810816      REAL(wp), INTENT(out), DIMENSION(jpi,jpj) ::   p_taui   ! i- & j-components of atmos-ice stress [N/m2] 
     
    867873         !     
    868874         !                                                  j+1   j     -----V---F 
    869          ! ice stress on ice velocity point (cigr_type)                  !       | 
     875         ! ice stress on ice velocity point (cp_ice_msh)                 !       | 
    870876         ! (C-grid ==>(U,V) or B-grid ==> I or F)                 j      |   T   U 
    871877         !                                                               |       | 
     
    874880         !                                                              i-1  i   i 
    875881         !                                                               i      i+1 (for I) 
    876          SELECT CASE ( cigr_type ) 
     882         SELECT CASE ( cp_ice_msh ) 
    877883            ! 
    878884         CASE( 'I' )                                         ! B-grid ==> I 
     
    11591165            &                     + palbi         (:,:,1) * zicefr(:,:,1) ) ) 
    11601166      END SELECT 
     1167      IF( ln_dm2dc ) THEN   ! modify qsr to include the diurnal cycle 
     1168         pqsr_tot(:,:  ) = sbc_dcy( pqsr_tot(:,:  ) ) 
     1169         pqsr_ice(:,:,1) = sbc_dcy( pqsr_ice(:,:,1) ) 
     1170      ENDIF 
    11611171 
    11621172      SELECT CASE( TRIM( cn_rcv_dqnsdt ) ) 
     
    12491259            END DO 
    12501260         CASE( 'weighted oce and ice' )    
    1251             SELECT CASE ( cigr_type ) 
     1261            SELECT CASE ( cp_ice_msh ) 
    12521262            CASE( 'C' )                      ! Ocean and Ice on C-grid ==> T 
    12531263               DO jj = 2, jpjm1 
     
    12841294            CALL lbc_lnk( zitx1, 'T', -1. )   ;   CALL lbc_lnk( zity1, 'T', -1. ) 
    12851295         CASE( 'mixed oce-ice'        ) 
    1286             SELECT CASE ( cigr_type ) 
     1296            SELECT CASE ( cp_ice_msh ) 
    12871297            CASE( 'C' )                      ! Ocean and Ice on C-grid ==> T 
    12881298               DO jj = 2, jpjm1 
Note: See TracChangeset for help on using the changeset viewer.