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 1698 for trunk – NEMO

Changeset 1698 for trunk


Ignore:
Timestamp:
2009-10-31T14:19:38+01:00 (14 years ago)
Author:
smasson
Message:

compatibility between oasis3 and oasis4, see ticket:580

Location:
trunk/NEMO/OPA_SRC/SBC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/SBC/cpl_oasis3.F90

    r1579 r1698  
    3939! 
    4040   LOGICAL, PUBLIC, PARAMETER :: lk_cpl = .TRUE.   ! coupled flag 
     41   INTEGER, PUBLIC            :: OASIS_Rcv  = 1    ! return code if received field 
     42   INTEGER, PUBLIC            :: OASIS_idle = 0    ! return code if nothing done by oasis 
    4143   INTEGER                    :: ncomp_id          ! id returned by prism_init_comp 
    4244   INTEGER                    :: nerror            ! return error code 
     
    267269      IF ( llaction ) THEN 
    268270 
     271         kinfo = OASIS_Rcv 
    269272         pdata(nldi:nlei, nldj:nlej) = exfld(:,:) 
    270273          
     
    285288         ENDIF 
    286289       
     290      ELSE 
     291         kinfo = OASIS_idle      
    287292      ENDIF 
    288293 
  • trunk/NEMO/OPA_SRC/SBC/sbccpl.F90

    r1697 r1698  
    3030   USE ice_2           ! ice variables 
    3131#endif 
     32#if defined key_oasis3 
    3233   USE cpl_oasis3      ! OASIS3 coupling 
     34#endif 
     35#if defined key_oasis4 
     36   USE cpl_oasis4      ! OASIS4 coupling 
     37#endif 
    3338   USE geo2ocean       !  
    3439   USE restart         ! 
     
    4045   USE lib_mpp         ! distribued memory computing library 
    4146   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    42    USE mod_prism_proto ! OASIS3 prism module: PRISM_* variables... 
    4347   USE phycst, ONLY : xlsn, rhosn 
    4448#if defined key_cpl_carbon_cycle 
     
    241245      !   Define the receive interface   ! 
    242246      ! ================================ ! 
    243       nrcvinfo(:) = PRISM_NotDef   ! needed by nrcvinfo(jpr_otx1) if we do not receive ocea stress  
     247      nrcvinfo(:) = OASIS_idle   ! needed by nrcvinfo(jpr_otx1) if we do not receive ocean stress  
    244248 
    245249      ! for each field: define the OASIS name                              (srcv(:)%clname) 
     
    585589         ! define frcv(:,:,jpr_otx1) and frcv(:,:,jpr_oty1): stress at U/V point along model grid 
    586590         ! => need to be done only when we receive the field 
    587          IF(  nrcvinfo(jpr_otx1) == PRISM_Recvd   .OR. nrcvinfo(jpr_otx1) == PRISM_FromRest .OR.   & 
    588             & nrcvinfo(jpr_otx1) == PRISM_RecvOut .OR. nrcvinfo(jpr_otx1) == PRISM_FromRestOut ) THEN 
     591         IF(  nrcvinfo(jpr_otx1) == OASIS_Rcv ) THEN 
    589592            ! 
    590593            IF( TRIM( cn_rcv_tau(2) ) == 'cartesian' ) THEN            ! 2 components on the sphere 
     
    661664         ENDIF 
    662665      ELSE 
    663          llnewtau = nrcvinfo(jpr_taum) == PRISM_Recvd   .OR. nrcvinfo(jpr_taum) == PRISM_FromRest .OR.   & 
    664                   & nrcvinfo(jpr_taum) == PRISM_RecvOut .OR. nrcvinfo(jpr_taum) == PRISM_FromRestOut 
     666         llnewtau = OASIS_Rcv 
    665667      ENDIF 
    666668       
     
    799801 
    800802      ! do something only if we just received the stress from atmosphere 
    801       IF(  nrcvinfo(itx) == PRISM_Recvd   .OR. nrcvinfo(itx) == PRISM_FromRest .OR.   & 
    802          & nrcvinfo(itx) == PRISM_RecvOut .OR. nrcvinfo(itx) == PRISM_FromRestOut ) THEN 
     803      IF(  nrcvinfo(itx) == OASIS_Rcv ) THEN 
    803804 
    804805         !                                                      ! ======================= ! 
Note: See TracChangeset for help on using the changeset viewer.