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 4352 for branches/2013 – NEMO

Changeset 4352 for branches/2013


Ignore:
Timestamp:
2014-01-17T11:35:16+01:00 (10 years ago)
Author:
acc
Message:

Branch 2013/dev_ECMWF_waves ticket #1216. Corrections to first set of code imports to solve compilation issues

Location:
branches/2013/dev_ECMWF_waves/NEMOGCM/NEMO/OPA_SRC
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_ECMWF_waves/NEMOGCM/NEMO/OPA_SRC/DYN/dynstcor.F90

    r4351 r4352  
    1111   USE oce              ! ocean dynamics and tracers 
    1212   USE dom_oce          ! ocean space and time domain 
    13    USE obc_oce          ! ocean lateral open boundary condition 
    1413   USE in_out_manager   ! I/O manager 
    1514   USE lib_mpp          ! distributed memory computing 
  • branches/2013/dev_ECMWF_waves/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r4351 r4352  
    5353   LOGICAL , PUBLIC ::   ln_sdw         !: true if 3d stokes drift from wave model 
    5454   ! 
    55    REAL(wp), PUBLIC ::   rn_rrelwind = 1.0       !: relative wind ratio (1.0 means surface currents are subtracted, 0.0 means no current) 
    5655   LOGICAL , PUBLIC ::   ln_wavetke  = .FALSE.   !: true if wave parameters are read 
    5756   LOGICAL , PUBLIC ::   ln_stcor    = .FALSE.   !: true if Stokes-Coriolis forcing is included  
  • branches/2013/dev_ECMWF_waves/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r4351 r4352  
    140140      TYPE(FLD_N) ::   sn_tdif                                 !   "                                 " 
    141141      NAMELIST/namsbc_core/ cn_dir , ln_2m  , ln_taudif, rn_pfac, rn_efac, rn_vfac,  & 
    142          &                  sn_wndi, sn_wndj, sn_humi  , sn_qsr ,           & 
    143          &                  sn_ccov, ln_cdec, ln_cldcov, rn_rrelwind 
    144          &                  sn_qlw , sn_tair, sn_prec  , sn_snow,           & 
     142         &                  sn_wndi, sn_wndj, sn_humi  , sn_qsr , ln_cdec,           & 
     143         &                  sn_qlw , sn_tair, sn_prec  , sn_snow,                    & 
    145144         &                  sn_tdif, rn_zqt , ln_bulk2z, rn_zu 
    146145      !!--------------------------------------------------------------------- 
     
    303302               zwnd_i(ji,jj) = wspd_wavepar(ji,jj) * SIN(ztheta) 
    304303               zwnd_j(ji,jj) = wspd_wavepar(ji,jj) * COS(ztheta) 
    305                ! Correct for surface current, 0.0 <= rn_rrelwind <= 1.0 
    306                zwnd_i(ji,jj) = (zwnd_i(ji,jj) - 0.5*rn_rrelwind*(pu(ji-1,jj  ) + pu(ji,jj))) 
    307                zwnd_j(ji,jj) = (zwnd_j(ji,jj) - 0.5*rn_rrelwind*(pv(ji  ,jj-1) + pv(ji,jj))) 
     304               ! Correct for surface current, 0.0 <= rn_vfac <= 1.0 
     305               zwnd_i(ji,jj) = (zwnd_i(ji,jj) - 0.5*rn_vfac*(pu(ji-1,jj  ) + pu(ji,jj))) 
     306               zwnd_j(ji,jj) = (zwnd_j(ji,jj) - 0.5*rn_vfac*(pv(ji  ,jj-1) + pv(ji,jj))) 
    308307            END DO 
    309308         END DO 
     
    311310         DO jj = 2, jpjm1 
    312311            DO ji = fs_2, fs_jpim1   ! vect. opt. 
    313                ! Correct for surface current, 0.0 <= rn_rrelwind <= 1.0 
    314                zwnd_i(ji,jj) = (  sf(jp_wndi)%fnow(ji,jj,1) - 0.5*rn_rrelwind*( pu(ji-1,jj  ) + pu(ji,jj) )  ) 
    315                zwnd_j(ji,jj) = (  sf(jp_wndj)%fnow(ji,jj,1) - 0.5*rn_rrelwind*( pv(ji  ,jj-1) + pv(ji,jj) )  ) 
     312               ! Correct for surface current, 0.0 <= rn_vfac <= 1.0 
     313               zwnd_i(ji,jj) = (  sf(jp_wndi)%fnow(ji,jj,1) - 0.5*rn_vfac*( pu(ji-1,jj  ) + pu(ji,jj) )  ) 
     314               zwnd_j(ji,jj) = (  sf(jp_wndj)%fnow(ji,jj,1) - 0.5*rn_vfac*( pv(ji  ,jj-1) + pv(ji,jj) )  ) 
    316315            END DO 
    317316         END DO 
  • branches/2013/dev_ECMWF_waves/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r4351 r4352  
    5151   USE sbcwave          ! Wave module 
    5252   USE sbcwave_ecmwf    ! ECMWF wave module 
    53    USE sbcwavelim       ! Wave for LIM module 
    5453 
    5554   IMPLICIT NONE 
     
    142141         WRITE(numout,*) '              TKE wave breaking BC from wave model       ln_wavetke  = ', ln_wavetke 
    143142         WRITE(numout,*) '              Wave-modified stress from wave model       ln_tauoc    = ', ln_tauoc 
    144          WRITE(numout,*) '              Wave-modified stress min. sea. frac     rn_taouc_cimin = ', rn_taouc_cimin 
    145143      ENDIF 
    146144 
  • branches/2013/dev_ECMWF_waves/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90

    r4292 r4352  
    3131   TYPE(FLD), ALLOCATABLE, DIMENSION(:)  :: sf_cd    ! structure of input fields (file informations, fields read) Drag Coefficient 
    3232   TYPE(FLD), ALLOCATABLE, DIMENSION(:)  :: sf_sd    ! structure of input fields (file informations, fields read) Stokes Drift 
    33    REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:)       :: cdn_wave  
    3433   REAL(wp),ALLOCATABLE,DIMENSION (:,:)              :: usd2d,vsd2d,uwavenum,vwavenum  
    3534   REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:,:)     :: usd3d,vsd3d,wsd3d  
     
    6160      USE divcur 
    6261      USE wrk_nemo 
     62      USE sbc_oce, ONLY : cdn_wave 
    6363#if defined key_bdy 
    6464      USE bdy_oce, ONLY : bdytmask 
     
    100100            IF( sn_cdg%ln_tint )   ALLOCATE( sf_cd(1)%fdta(jpi,jpj,1,2) ) 
    101101            CALL fld_fill( sf_cd, (/ sn_cdg /), cn_dir, 'sbc_wave', 'Wave module ', 'namsbc_wave' ) 
    102             ALLOCATE( cdn_wave(jpi,jpj) ) 
    103             cdn_wave(:,:) = 0.0 
    104102        ENDIF 
    105103         IF ( ln_sdw ) THEN 
  • branches/2013/dev_ECMWF_waves/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave_ecmwf.F90

    r4351 r4352  
    2121   PRIVATE 
    2222 
     23   PUBLIC   sbc_wavepar       !  
    2324   PUBLIC   sbc_wave_ecmwf    ! routine called in sbc_blk_core or sbc_blk_mfs 
    24    PUBLIC   sbc_wavepar       !  
    2525    
    2626   INTEGER , PARAMETER ::   jpfld_wavepar = 7    ! maximum number of fields to be read  
     
    4848CONTAINS 
    4949 
    50    SUBROUTINE sbc_wave_ecwmf( kt ) 
     50   SUBROUTINE sbc_wave_ecmwf( kt ) 
    5151      !!--------------------------------------------------------------------- 
    5252      !!                     ***  ROUTINE sbc_apr  *** 
     
    7777         !              !   file   ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! 
    7878         !              !   name   !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! 
    79          sn_cdg = FLD_N('cdg_wave'  ,    1     ,'drag_coeff',  .true.    , .false. ,   'daily'   , ''       , ''      ) 
     79         sn_cdg = FLD_N( 'cdg_wave'  ,    1.    ,'drag_coeff',  .true.    , .false. ,   'daily'   , ''       , ''      , '' ) 
    8080         cn_dir_cdg = './'          ! directory in which the Patm data are  
    8181          
    8282 
    83          REWIND( numnam )                             !* read in namlist namsbc_wave_ecmwf 
    84          READ  ( numnam, namsbc_wave_ecmwf )  
     83!!ACC    REWIND( numnam )                             !* read in namlist namsbc_wave_ecmwf 
     84!!ACC    READ  ( numnam, namsbc_wave_ecmwf )  
    8585         ! 
    8686 
     
    144144         !            !   file   ! frequency !  variable  ! time intep !  clim   ! 'yearly' or ! weights  ! rotation ! 
    145145         !            !   name   !  (hours)  !   name     !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    ! 
    146          sn_ust = FLD_N( 'ust'   ,     6     ,  'ust'     ,  .true.    , .false. ,   'monthly' , ''       , ''       ) 
    147          sn_vst = FLD_N( 'vst'   ,     6     ,  'vst'     ,  .true.    , .false. ,   'monthly' , ''       , ''       ) 
    148          sn_swh = FLD_N( 'swh'   ,     6     ,  'swh'     ,  .true.    , .false. ,   'monthly' , ''       , ''       ) 
    149          sn_mwp = FLD_N( 'mwp'   ,     6     ,  'mwp'     ,  .true.    , .false. ,   'monthly' , ''       , ''       ) 
    150          !sn_cdww = FLD_N( 'cdww'  ,    6     ,  'cdww'    ,  .true.    , .false. ,   'monthly' , ''       , ''      ) 
    151          sn_wspd = FLD_N( 'wspd'   ,   6     ,  'wspd'    ,  .true.    , .false. ,   'monthly' , ''       , ''       ) 
    152          sn_phioc = FLD_N( 'phioc'   , 6     ,  'phioc'   ,  .true.    , .false. ,   'monthly' , ''       , ''       ) 
    153          sn_tauoc = FLD_N( 'tauoc'   , 6     ,  'tauoc'   ,  .true.    , .false. ,   'monthly' , ''       , ''       ) 
     146         sn_ust = FLD_N( 'ust'   ,     6     ,  'ust'     ,  .true.    , .false. ,   'monthly' , ''       , ''       ,  '' ) 
     147         sn_vst = FLD_N( 'vst'   ,     6     ,  'vst'     ,  .true.    , .false. ,   'monthly' , ''       , ''       ,  '' ) 
     148         sn_swh = FLD_N( 'swh'   ,     6     ,  'swh'     ,  .true.    , .false. ,   'monthly' , ''       , ''       ,  '' ) 
     149         sn_mwp = FLD_N( 'mwp'   ,     6     ,  'mwp'     ,  .true.    , .false. ,   'monthly' , ''       , ''       ,  '' ) 
     150         !sn_cdww = FLD_N( 'cdww'  ,    6     ,  'cdww'    ,  .true.    , .false. ,   'monthly' , ''       , ''      ,  '' ) 
     151         sn_wspd = FLD_N( 'wspd'   ,   6     ,  'wspd'    ,  .true.    , .false. ,   'monthly' , ''       , ''       ,  '' ) 
     152         sn_phioc = FLD_N( 'phioc'   , 6     ,  'phioc'   ,  .true.    , .false. ,   'monthly' , ''       , ''       ,  '' ) 
     153         sn_tauoc = FLD_N( 'tauoc'   , 6     ,  'tauoc'   ,  .true.    , .false. ,   'monthly' , ''       , ''       ,  '' ) 
    154154         cn_dir_wavepar = './'          ! directory in which the wave data are found 
    155155 
    156          REWIND( numnam )                             !* read in namlist namsbc_wavepar 
    157          READ  ( numnam, namsbc_wavepar )  
     156!!ACC    REWIND( numnam )                             !* read in namlist namsbc_wavepar 
     157!!ACC    READ  ( numnam, namsbc_wavepar )  
    158158         ! 
    159159         slf_i(jp_ust) = sn_ust  
     
    201201   END SUBROUTINE sbc_wavepar 
    202202 
    203 END MODULE sbcwave 
     203END MODULE sbcwave_ecmwf 
  • branches/2013/dev_ECMWF_waves/NEMOGCM/NEMO/OPA_SRC/step_oce.F90

    r4351 r4352  
    2323 
    2424   USE sbcmod           ! surface boundary condition       (sbc     routine) 
     25   USE sbc_oce , ONLY: ln_stcor      ! seems to be necessary but should be included in sbcmod???? 
    2526   USE sbcrnf           ! surface boundary condition: runoff variables 
    2627   USE sbccpl           ! surface boundary condition: coupled formulation (call send at end of step) 
Note: See TracChangeset for help on using the changeset viewer.