Ignore:
Timestamp:
01/31/14 15:34:39 (10 years ago)
Author:
omamce
Message:

O.M. : small changes to fit IPSLCM5A / NEMO 3.2

Location:
CONFIG/UNIFORM/v6/IPSLCM6/SOURCES/NEMO
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • CONFIG/UNIFORM/v6/IPSLCM6/SOURCES/NEMO/sbccpl.F90

    r2132 r2189  
    169169   !!---------------------------------------------------------------------- 
    170170   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    171    !! $Id: sbccpl.F90 3914 2013-06-12 20:17:48Z smasson $ 
     171   !! $Id: sbccpl.F90 4162 2013-11-07 10:19:49Z cetlod $ 
    172172   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    173173   !!---------------------------------------------------------------------- 
     
    221221      !! 
    222222      INTEGER ::   jn   ! dummy loop index 
     223      INTEGER ::   ios  ! Local integer output status for namelist read 
    223224      REAL(wp), POINTER, DIMENSION(:,:) ::   zacs, zaos 
    224225      !! 
     
    236237      ! ================================ ! 
    237238 
    238       ! default definitions 
    239       !                    !     description       !  multiple  !    vector   !      vector          ! vector ! 
    240       !                    !                       ! categories !  reference  !    orientation       ! grids  ! 
    241       ! send 
    242       sn_snd_temp   = FLD_C( 'weighted oce and ice',    'no'    ,     ''      ,         ''           ,   ''   )  
    243       sn_snd_alb    = FLD_C( 'weighted ice'        ,    'no'    ,     ''      ,         ''           ,   ''   )  
    244       sn_snd_thick  = FLD_C( 'none'                ,    'no'    ,     ''      ,         ''           ,   ''   )  
    245       sn_snd_crt    = FLD_C( 'none'                ,    'no'    , 'spherical' , 'eastward-northward' ,  'T'   )      
    246       sn_snd_co2    = FLD_C( 'none'                ,    'no'    ,     ''      ,         ''           ,   ''   )      
    247       ! receive 
    248       sn_rcv_w10m   = FLD_C( 'none'                ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    249       sn_rcv_taumod = FLD_C( 'coupled'             ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    250       sn_rcv_tau    = FLD_C( 'oce only'            ,    'no'    , 'cartesian' , 'eastward-northward',  'U,V'  )   
    251       sn_rcv_dqnsdt = FLD_C( 'coupled'             ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    252       sn_rcv_qsr    = FLD_C( 'oce and ice'         ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    253       sn_rcv_qns    = FLD_C( 'oce and ice'         ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    254       sn_rcv_emp    = FLD_C( 'conservative'        ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    255       sn_rcv_rnf    = FLD_C( 'coupled'             ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    256       sn_rcv_cal    = FLD_C( 'coupled'             ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    257       sn_rcv_iceflx = FLD_C( 'none'                ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    258       sn_rcv_co2    = FLD_C( 'none'                ,    'no'    ,     ''      ,         ''          ,   ''    ) 
    259  
    260       REWIND( numnam )                    ! ... read namlist namsbc_cpl 
    261       READ  ( numnam, namsbc_cpl ) 
     239      REWIND( numnam_ref )              ! Namelist namsbc_cpl in reference namelist : Variables for OASIS coupling 
     240      READ  ( numnam_ref, namsbc_cpl, IOSTAT = ios, ERR = 901) 
     241901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in reference namelist', lwp ) 
     242 
     243      REWIND( numnam_cfg )              ! Namelist namsbc_cpl in configuration namelist : Variables for OASIS coupling 
     244      READ  ( numnam_cfg, namsbc_cpl, IOSTAT = ios, ERR = 902 ) 
     245902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in configuration namelist', lwp ) 
     246      WRITE ( numond, namsbc_cpl ) 
    262247 
    263248      IF(lwp) THEN                        ! control print 
     
    388373      ! 
    389374      IF( TRIM( sn_rcv_tau%cldes ) /= 'oce and ice' ) THEN        ! 'oce and ice' case ocean stress on ocean mesh used 
    390          srcv(jpr_itz1:jpr_itz2)%laction = .FALSE.    ! ice components not received (itx1 and ity1 used later) 
     375         srcv(jpr_itx1:jpr_itz2)%laction = .FALSE.    ! ice components not received 
    391376         srcv(jpr_itx1)%clgrid = 'U'                  ! ocean stress used after its transformation 
    392377         srcv(jpr_ity1)%clgrid = 'V'                  ! i.e. it is always at U- & V-points for i- & j-comp. resp. 
     
    407392      SELECT CASE( TRIM( sn_rcv_emp%cldes ) ) 
    408393      CASE( 'oce only'      )   ;   srcv(                                 jpr_oemp   )%laction = .TRUE.  
    409       CASE( 'conservative'  )   ;   srcv( (/jpr_rain, jpr_snow, jpr_ievp, jpr_tevp/) )%laction = .TRUE. 
     394      CASE( 'conservative'  ) 
     395         srcv( (/jpr_rain, jpr_snow, jpr_ievp, jpr_tevp/) )%laction = .TRUE. 
     396!$$ O.M.         IF ( k_ice <= 1 )  srcv(jpr_ivep)%laction = .FALSE. 
     397         IF ( k_ice <= 1 )  srcv(jpr_ievp)%laction = .FALSE. 
    410398      CASE( 'oce and ice'   )   ;   srcv( (/jpr_ievp, jpr_sbpr, jpr_semp, jpr_oemp/) )%laction = .TRUE. 
    411399      CASE default              ;   CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_rcv_emp%cldes' ) 
     
    465453         CALL ctl_stop( 'sbc_cpl_init: namsbc_cpl namelist mismatch between sn_rcv_qns%cldes and sn_rcv_dqnsdt%cldes' ) 
    466454      !                                                      ! ------------------------- ! 
    467       !                                                      !    Ice Qsr penetration    !    
    468       !                                                      ! ------------------------- ! 
    469       ! fraction of net shortwave radiation which is not absorbed in the thin surface layer  
    470       ! and penetrates inside the ice cover ( Maykut and Untersteiner, 1971 ; Elbert anbd Curry, 1993 ) 
    471       ! Coupled case: since cloud cover is not received from atmosphere  
    472       !               ===> defined as constant value -> definition done in sbc_cpl_init 
    473       IF ( ALLOCATED (fr1_i0)) fr1_i0 (:,:) = 0.18 
    474       IF ( ALLOCATED (fr2_i0)) fr2_i0 (:,:) = 0.82 
    475       !                                                      ! ------------------------- ! 
    476455      !                                                      !      10m wind module      !    
    477456      !                                                      ! ------------------------- ! 
     
    508487      ! Allocate taum part of frcv which is used even when not received as coupling field 
    509488      IF ( .NOT. srcv(jpr_taum)%laction ) ALLOCATE( frcv(jpr_taum)%z3(jpi,jpj,srcv(jn)%nct) ) 
     489      ! Allocate itx1 and ity1 as they are used in sbc_cpl_ice_tau even if srcv(jpr_itx1)%laction = .FALSE. 
     490      IF( k_ice /= 0 ) THEN 
     491         IF ( .NOT. srcv(jpr_itx1)%laction ) ALLOCATE( frcv(jpr_itx1)%z3(jpi,jpj,srcv(jn)%nct) ) 
     492         IF ( .NOT. srcv(jpr_ity1)%laction ) ALLOCATE( frcv(jpr_ity1)%z3(jpi,jpj,srcv(jn)%nct) ) 
     493      END IF 
    510494 
    511495      ! ================================ ! 
     
    939923      IF(  nrcvinfo(itx) == OASIS_Rcv ) THEN 
    940924 
    941          !                                                      ! ======================= ! 
     925         !                                                                                              ! ======================= ! 
    942926!AC Pour eviter un stress nul sur la glace dans le cas mixes oce-ice 
    943          IF( srcv(jpr_itx1)%laction .AND. TRIM( sn_rcv_tau%cldes ) == 'oce and ice') THEN                      !   ice stress received   ! 
    944             !                                                   ! ======================= ! 
     927         IF( srcv(jpr_itx1)%laction .AND. TRIM( sn_rcv_tau%cldes ) == 'oce and ice') THEN               !   ice stress received   ! 
     928            !                                                                                           ! ======================= ! 
    945929            !   
    946930            IF( TRIM( sn_rcv_tau%clvref ) == 'cartesian' ) THEN            ! 2 components on the sphere 
     
    13311315      END SELECT 
    13321316 
     1317      !    Ice Qsr penetration used (only?)in lim2 or lim3  
     1318      ! fraction of net shortwave radiation which is not absorbed in the thin surface layer  
     1319      ! and penetrates inside the ice cover ( Maykut and Untersteiner, 1971 ; Elbert anbd Curry, 1993 ) 
     1320      ! Coupled case: since cloud cover is not received from atmosphere  
     1321      !               ===> defined as constant value -> definition done in sbc_cpl_init 
     1322      fr1_i0(:,:) = 0.18 
     1323      fr2_i0(:,:) = 0.82 
     1324 
     1325 
    13331326      CALL wrk_dealloc( jpi,jpj, zcptn, ztmp, zicefr ) 
    13341327      ! 
Note: See TracChangeset for help on using the changeset viewer.