Changeset 9033


Ignore:
Timestamp:
2017-12-14T11:29:10+01:00 (3 years ago)
Author:
timgraham
Message:

Commit final files from merge of NEMOGCM and some fixes for waves (taooc renamed tauwoc)

Location:
branches/2017/dev_merge_2017/NEMOGCM
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/ARCH/arch-openmpi_NAVITI_MERCATOR.fcm

    r6140 r9033  
    2323%CPP               cpp 
    2424%FC                  mpif90 
    25 %FCFLAGS             -O2 -fp-model precise  -traceback -r8  -convert big_endian -assume byterecl 
     25%FCFLAGS             -O1 -fp-model precise  -traceback -r8  -convert big_endian -assume byterecl 
    2626%FFLAGS              %FCFLAGS 
    2727%LD                   mpif90 
  • branches/2017/dev_merge_2017/NEMOGCM/CONFIG/SHARED/namelist_ref

    r9024 r9033  
    219219                           !   = 1 Phillips:                      v_z=v_o*[exp(2*k*z)-beta*sqrt(-2*k*pi*z)*erfc(sqrt(-2*k*z))] 
    220220                           !   = 2 Phillips as (1) but using the wave frequency from a wave model 
    221    ln_tauoc    = .false.   !  Activate ocean stress modified by external wave induced stress (T => ln_wave=.true. & fill namsbc_wave) 
     221   ln_tauwoc   = .false.   !  Activate ocean stress modified by external wave induced stress (T => ln_wave=.true. & fill namsbc_wave) 
    222222   ln_tauw     = .false.   !  Activate ocean stress components from wave model 
    223223   ln_stcor    = .false.   !  Activate Stokes Coriolis term (T => ln_wave=.true. & ln_sdw=.true. & fill namsbc_wave) 
     
    313313   sn_rcv_isf    =   'none'                 ,    'no'    ,     ''      ,         ''           ,   '' 
    314314   sn_rcv_icb    =   'none'                 ,    'no'    ,     ''      ,         ''           ,   '' 
    315    sn_rcv_tauoc =   'none'                 ,    'no'    ,     ''      ,         ''          ,   '' 
     315   sn_rcv_tauwoc =   'none'                 ,    'no'    ,     ''      ,         ''          ,   '' 
    316316   sn_rcv_tauw   =   'none'                 ,    'no'    ,     ''      ,         ''          ,   '' 
    317317   sn_rcv_wdrag  =   'none'                 ,    'no'    ,     ''      ,         ''          ,   '' 
     
    461461   sn_wfr      =  'sdw_wave' ,        1          , 'wfr'        ,     .true.   , .false. , 'daily'   ,  ''      , ''       , '' 
    462462   sn_wnum     =  'sdw_wave' ,        1          , 'wave_num'   ,     .true.   , .false. , 'daily'   ,  ''      , ''       , '' 
    463    sn_tauoc    =  'sdw_wave' ,        1          , 'wave_stress',     .true.   , .false. , 'daily'   ,  ''      , ''       , '' 
     463   sn_tauwoc   =  'sdw_wave' ,        1          , 'wave_stress',     .true.   , .false. , 'daily'   ,  ''      , ''       , '' 
    464464   sn_tauwx    =  'sdw_wave' ,        1          , 'wave_stress',     .true.   , .false. , 'daily'   ,  ''      , ''       , '' 
    465465   sn_tauwy    =  'sdw_wave' ,        1          , 'wave_stress',     .true.   , .false. , 'daily'   ,  ''      , ''       , '' 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r9023 r9033  
    5858   LOGICAL , PUBLIC ::   ln_cdgw        !: true if neutral drag coefficient from wave model 
    5959   LOGICAL , PUBLIC ::   ln_sdw         !: true if 3d stokes drift from wave model 
    60    LOGICAL , PUBLIC ::   ln_tauoc       !: true if normalized stress from wave is used 
     60   LOGICAL , PUBLIC ::   ln_tauwoc       !: true if normalized stress from wave is used 
    6161   LOGICAL , PUBLIC ::   ln_tauw        !: true if ocean stress components from wave is used 
    6262   LOGICAL , PUBLIC ::   ln_stcor       !: true if Stokes-Coriolis term is used 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk.F90

    r9019 r9033  
    236236      IF ( ln_wave ) THEN 
    237237      !Activated wave module but neither drag nor stokes drift activated 
    238          IF ( .NOT.(ln_cdgw .OR. ln_sdw .OR. ln_tauoc .OR. ln_stcor ) )   THEN 
    239             CALL ctl_warn( 'Ask for wave coupling but ln_cdgw=F, ln_sdw=F, ln_tauoc=F, ln_stcor=F') 
     238         IF ( .NOT.(ln_cdgw .OR. ln_sdw .OR. ln_tauwoc .OR. ln_stcor ) )   THEN 
     239            CALL ctl_warn( 'Ask for wave coupling but ln_cdgw=F, ln_sdw=F, ln_tauwoc=F, ln_stcor=F') 
    240240      !drag coefficient read from wave model definable only with mfs bulk formulae and core  
    241241         ELSEIF (ln_cdgw .AND. .NOT. ln_NCAR )       THEN        
     
    245245         ENDIF 
    246246      ELSE 
    247       IF ( ln_cdgw .OR. ln_sdw .OR. ln_tauoc .OR. ln_stcor )                &  
     247      IF ( ln_cdgw .OR. ln_sdw .OR. ln_tauwoc .OR. ln_stcor )                &  
    248248         &   CALL ctl_stop( 'Not Activated Wave Module (ln_wave=F) but asked coupling ',    & 
    249249         &                  'with drag coefficient (ln_cdgw =T) '  ,                        & 
    250250         &                  'or Stokes Drift (ln_sdw=T) ' ,                                 & 
    251          &                  'or ocean stress modification due to waves (ln_tauoc=T) ',      &   
     251         &                  'or ocean stress modification due to waves (ln_tauwoc=T) ',      &   
    252252         &                  'or Stokes-Coriolis term (ln_stcori=T)'  ) 
    253253      ENDIF  
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r9023 r9033  
    109109   INTEGER, PARAMETER ::   jpr_wper   = 48   ! Mean wave period 
    110110   INTEGER, PARAMETER ::   jpr_wnum   = 49   ! Mean wavenumber 
    111    INTEGER, PARAMETER ::   jpr_tauoc  = 50   ! Stress fraction adsorbed by waves 
     111   INTEGER, PARAMETER ::   jpr_tauwoc  = 50   ! Stress fraction adsorbed by waves 
    112112   INTEGER, PARAMETER ::   jpr_wdrag  = 51   ! Neutral surface drag coefficient 
    113113   INTEGER, PARAMETER ::   jpr_isf    = 52 
     
    179179   TYPE(FLD_C) ::   sn_snd_ifrac, sn_snd_crtw, sn_snd_wlev  
    180180   ! Received from waves  
    181    TYPE(FLD_C) ::   sn_rcv_hsig, sn_rcv_phioc, sn_rcv_sdrfx, sn_rcv_sdrfy, sn_rcv_wper, sn_rcv_wnum, sn_rcv_tauoc, & 
     181   TYPE(FLD_C) ::   sn_rcv_hsig, sn_rcv_phioc, sn_rcv_sdrfx, sn_rcv_sdrfy, sn_rcv_wper, sn_rcv_wnum, sn_rcv_tauwoc, & 
    182182                    sn_rcv_wdrag, sn_rcv_wfreq 
    183183   !                                   ! Other namelist parameters 
     
    252252         &                  sn_rcv_w10m  , sn_rcv_taumod, sn_rcv_tau  , sn_rcv_dqnsdt, sn_rcv_qsr  ,   &  
    253253         &                  sn_snd_ifrac , sn_snd_crtw  , sn_snd_wlev , sn_rcv_hsig  , sn_rcv_phioc,   &  
    254          &                  sn_rcv_sdrfx , sn_rcv_sdrfy , sn_rcv_wper , sn_rcv_wnum  , sn_rcv_wstrf,   & 
     254         &                  sn_rcv_sdrfx , sn_rcv_sdrfy , sn_rcv_wper , sn_rcv_wnum  , sn_rcv_tauwoc,   & 
    255255         &                  sn_rcv_wdrag , sn_rcv_qns   , sn_rcv_emp  , sn_rcv_rnf   , sn_rcv_cal  ,   & 
    256256         &                  sn_rcv_iceflx, sn_rcv_co2   , nn_cplmodel , ln_usecplmask, sn_rcv_mslp ,   & 
     
    304304         WRITE(numout,*)'      Mean wave number                = ', TRIM(sn_rcv_wnum%cldes  ), ' (', TRIM(sn_rcv_wnum%clcat  ), ')'  
    305305         WRITE(numout,*)'      Wave peak frequency             = ', TRIM(sn_rcv_wfreq%cldes ), ' (', TRIM(sn_rcv_wfreq%clcat ), ')' 
    306          WRITE(numout,*)'      Stress frac adsorbed by waves   = ', TRIM(sn_rcv_tauoc%cldes ), ' (', TRIM(sn_rcv_tauoc%clcat ), ')'  
     306         WRITE(numout,*)'      Stress frac adsorbed by waves   = ', TRIM(sn_rcv_tauwoc%cldes ), ' (', TRIM(sn_rcv_tauwoc%clcat ), ')'  
    307307         WRITE(numout,*)'      Stress components by waves      = ', TRIM(sn_rcv_tauw%cldes  ), ' (', TRIM(sn_rcv_tauw%clcat  ), ')' 
    308308         WRITE(numout,*)'      Neutral surf drag coefficient   = ', TRIM(sn_rcv_wdrag%cldes ), ' (', TRIM(sn_rcv_wdrag%clcat ), ')'  
     
    612612         cpl_wnum = .TRUE. 
    613613      ENDIF 
    614       srcv(jpr_tauoc)%clname = 'O_TauOce'    ! stress fraction adsorbed by the wave 
    615       IF( TRIM(sn_rcv_tauoc%cldes ) == 'coupled' )  THEN 
    616          srcv(jpr_tauoc)%laction = .TRUE. 
    617          cpl_tauoc = .TRUE. 
     614      srcv(jpr_tauwoc)%clname = 'O_TauOce'    ! stress fraction adsorbed by the wave 
     615      IF( TRIM(sn_rcv_tauwoc%cldes ) == 'coupled' )  THEN 
     616         srcv(jpr_tauwoc)%laction = .TRUE. 
     617         cpl_tauwoc = .TRUE. 
    618618      ENDIF 
    619619      srcv(jpr_tauwx)%clname = 'O_Tauwx'      ! ocean stress from wave in the x direction 
     
    629629         cpl_wdrag = .TRUE. 
    630630      ENDIF 
    631       IF( srcv(jpr_tauoc)%laction .AND. srcv(jpr_tauwx)%laction .AND. srcv(jpr_tauwy)%laction ) & 
     631      IF( srcv(jpr_tauwoc)%laction .AND. srcv(jpr_tauwx)%laction .AND. srcv(jpr_tauwy)%laction ) & 
    632632            CALL ctl_stop( 'More than one method for modifying the ocean stress has been selected ', & 
    633                                      '(sn_rcv_tauoc=coupled and sn_rcv_tauw=coupled)' ) 
     633                                     '(sn_rcv_tauwoc=coupled and sn_rcv_tauw=coupled)' ) 
    634634      ! 
    635635      !                                                      ! ------------------------------- ! 
     
    13031303      !                                                      !    Vertical mixing Qiao   ! 
    13041304      !                                                      ! ========================= !  
    1305          IF( srcv(jpr_wnum)%laction .AND. ln_zdfqiao ) wnum(:,:) = frcv(jpr_wnum)%z3(:,:,1) 
     1305         IF( srcv(jpr_wnum)%laction .AND. ln_zdfswm ) wnum(:,:) = frcv(jpr_wnum)%z3(:,:,1) 
    13061306 
    13071307         ! Calculate the 3D Stokes drift both in coupled and not fully uncoupled mode 
     
    13141314      !                                                      ! Stress adsorbed by waves  ! 
    13151315      !                                                      ! ========================= !  
    1316       IF( srcv(jpr_tauoc)%laction .AND. ln_tauoc ) tauoc_wave(:,:) = frcv(jpr_tauoc)%z3(:,:,1) 
     1316      IF( srcv(jpr_tauwoc)%laction .AND. ln_tauwoc ) tauwoc_wave(:,:) = frcv(jpr_tauwoc)%z3(:,:,1) 
    13171317 
    13181318      !                                                      ! ========================= !   
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r9023 r9033  
    9696         &             ln_traqsr, ln_dm2dc ,                                         & 
    9797         &             ln_rnf   , nn_fwb   , ln_ssr   , ln_isf    , ln_apr_dyn ,     & 
    98          &             ln_wave  , ln_cdgw  , ln_sdw   , ln_tauoc  , ln_stcor   ,     & 
     98         &             ln_wave  , ln_cdgw  , ln_sdw   , ln_tauwoc  , ln_stcor   ,     & 
    9999         &             ln_tauw  , nn_lsm, nn_sdrift 
    100100      !!---------------------------------------------------------------------- 
     
    156156         WRITE(numout,*) '               Stokes drift corr. to vert. velocity ln_sdw        = ', ln_sdw 
    157157         WRITE(numout,*) '                  vertical parametrization          nn_sdrift     = ', nn_sdrift 
    158          WRITE(numout,*) '               wave modified ocean stress           ln_tauoc      = ', ln_tauoc 
     158         WRITE(numout,*) '               wave modified ocean stress           ln_tauwoc      = ', ln_tauwoc 
    159159         WRITE(numout,*) '               wave modified ocean stress component ln_tauw       = ', ln_tauw 
    160160         WRITE(numout,*) '               Stokes coriolis term                 ln_stcor      = ', ln_stcor 
     
    166166            CALL ctl_stop( 'The chosen nn_sdrift for Stokes drift vertical velocity must be 0, 1, or 2' ) 
    167167      ENDIF 
    168       IF( ln_tauoc .AND. ln_tauw ) & 
     168      IF( ln_tauwoc .AND. ln_tauw ) & 
    169169         CALL ctl_stop( 'More than one method for modifying the ocean stress has been selected ', & 
    170                                   '(ln_tauoc=.true. and ln_tauw=.true.)' ) 
    171       IF( ln_tauoc ) & 
    172          CALL ctl_warn( 'You are subtracting the wave stress to the ocean (ln_tauoc=.true.)' ) 
     170                                  '(ln_tauwoc=.true. and ln_tauw=.true.)' ) 
     171      IF( ln_tauwoc ) & 
     172         CALL ctl_warn( 'You are subtracting the wave stress to the ocean (ln_tauwoc=.true.)' ) 
    173173      IF( ln_tauw ) & 
    174174         CALL ctl_warn( 'The wave modified ocean stress components are used (ln_tauw=.true.) ', & 
     
    409409      IF( ln_mixcpl )          CALL sbc_cpl_rcv   ( kt, nn_fsbc, nn_ice )   ! forced-coupled mixed formulation after forcing 
    410410      ! 
    411       IF ( ln_wave .AND. (ln_tauoc .OR. ln_tauw) ) CALL sbc_wstress( )      ! Wind stress provided by waves  
     411      IF ( ln_wave .AND. (ln_tauwoc .OR. ln_tauw) ) CALL sbc_wstress( )      ! Wind stress provided by waves  
    412412      ! 
    413413      !                                            !==  Misc. Options  ==! 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90

    r9029 r9033  
    4545   LOGICAL, PUBLIC ::   cpl_wfreq  = .FALSE. 
    4646   LOGICAL, PUBLIC ::   cpl_wnum   = .FALSE. 
    47    LOGICAL, PUBLIC ::   cpl_tauoc  = .FALSE. 
     47   LOGICAL, PUBLIC ::   cpl_tauwoc  = .FALSE. 
    4848   LOGICAL, PUBLIC ::   cpl_tauw   = .FALSE. 
    4949   LOGICAL, PUBLIC ::   cpl_wdrag  = .FALSE. 
     
    5959   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_sd      ! structure of input fields (file informations, fields read) Stokes Drift 
    6060   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_wn      ! structure of input fields (file informations, fields read) wave number for Qiao 
    61    TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_tauoc   ! structure of input fields (file informations, fields read) normalized wave stress into the ocean 
     61   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_tauwoc   ! structure of input fields (file informations, fields read) normalized wave stress into the ocean 
    6262   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_tauw    ! structure of input fields (file informations, fields read) ocean stress components from wave model 
    6363 
     
    255255      INTEGER  ::   jj, ji   ! dummy loop argument 
    256256      ! 
    257       IF( ln_tauoc ) THEN 
     257      IF( ln_tauwoc ) THEN 
    258258         utau(:,:) = utau(:,:)*tauoc_wave(:,:) 
    259259         vtau(:,:) = vtau(:,:)*tauoc_wave(:,:) 
     
    300300      ENDIF 
    301301 
    302       IF( ln_tauoc .AND. .NOT. cpl_tauoc ) THEN    !==  Wave induced stress  ==! 
    303          CALL fld_read( kt, nn_fsbc, sf_tauoc )          ! read wave norm stress from external forcing 
    304          tauoc_wave(:,:) = sf_tauoc(1)%fnow(:,:,1) 
     302      IF( ln_tauwoc .AND. .NOT. cpl_tauwoc ) THEN    !==  Wave induced stress  ==! 
     303         CALL fld_read( kt, nn_fsbc, sf_tauwoc )          ! read wave norm stress from external forcing 
     304         tauoc_wave(:,:) = sf_tauwoc(1)%fnow(:,:,1) 
    305305      ENDIF 
    306306 
     
    362362      TYPE(FLD_N)            ::  sn_cdg, sn_usd, sn_vsd,  & 
    363363                             &   sn_hsw, sn_wmp, sn_wfr, sn_wnum, & 
    364                              &   sn_tauoc, sn_tauwx, sn_tauwy      ! informations about the fields to be read 
     364                             &   sn_tauwoc, sn_tauwx, sn_tauwy      ! informations about the fields to be read 
    365365      ! 
    366366      NAMELIST/namsbc_wave/  sn_cdg, cn_dir, sn_usd, sn_vsd, sn_hsw, sn_wmp, sn_wfr, & 
    367                              sn_wnum, sn_tauoc, sn_tauwx, sn_tauwy 
     367                             sn_wnum, sn_tauwoc, sn_tauwx, sn_tauwy 
    368368      !!--------------------------------------------------------------------- 
    369369      ! 
     
    389389      ENDIF 
    390390 
    391       IF( ln_tauoc ) THEN 
    392          IF( .NOT. cpl_tauoc ) THEN 
    393             ALLOCATE( sf_tauoc(1), STAT=ierror )           !* allocate and fill sf_wave with sn_tauoc 
     391      IF( ln_tauwoc ) THEN 
     392         IF( .NOT. cpl_tauwoc ) THEN 
     393            ALLOCATE( sf_tauwoc(1), STAT=ierror )           !* allocate and fill sf_wave with sn_tauwoc 
    394394            IF( ierror > 0 )   CALL ctl_stop( 'STOP', 'sbc_wave_init: unable to allocate sf_wave structure' ) 
    395395            ! 
    396                                     ALLOCATE( sf_tauoc(1)%fnow(jpi,jpj,1)   ) 
    397             IF( sn_tauoc%ln_tint )  ALLOCATE( sf_tauoc(1)%fdta(jpi,jpj,1,2) ) 
    398             CALL fld_fill( sf_tauoc, (/ sn_tauoc /), cn_dir, 'sbc_wave_init', 'Wave module', 'namsbc_wave' ) 
     396                                    ALLOCATE( sf_tauwoc(1)%fnow(jpi,jpj,1)   ) 
     397            IF( sn_tauwoc%ln_tint )  ALLOCATE( sf_tauwoc(1)%fdta(jpi,jpj,1,2) ) 
     398            CALL fld_fill( sf_tauwoc, (/ sn_tauwoc /), cn_dir, 'sbc_wave_init', 'Wave module', 'namsbc_wave' ) 
    399399         ENDIF 
    400400         ALLOCATE( tauoc_wave(jpi,jpj) ) 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90

    r9019 r9033  
    2929#if defined key_agrif 
    3030   USE agrif_top_sponge ! tracers sponges 
    31    USE agrif_top_update ! tracers updates 
    3231#endif 
    3332 
     
    8281         IF( ln_trcdmp_clo )    CALL trc_dmp_clo( kt )      ! internal damping trends on closed seas only 
    8382 
    84 #if defined key_agrif 
    85          IF( .NOT.Agrif_Root()) CALL Agrif_Update_Trc( kt ) ! Update tracer at AGRIF zoom boundaries : children only 
    86 #endif 
    8783         ! 
    8884      ELSE                                               ! 1D vertical configuration 
  • branches/2017/dev_merge_2017/NEMOGCM/TOOLS/DOMAINcfg/namelist_cfg

    r7200 r9033  
    5858   ppkth2      =  999999.              ! 
    5959   ppacr2      =  999999.              ! 
     60   rn_wd_ref_depth   =    0.0          !  Reference Depth for WAD cases (0 all other cases) 
    6061/ 
    6162!----------------------------------------------------------------------- 
  • branches/2017/dev_merge_2017/NEMOGCM/TOOLS/DOMAINcfg/namelist_ref

    r9019 r9033  
    170170   ppkth2      =       48.029893720000 ! 
    171171   ppacr2      =       13.000000000000 ! 
    172 / 
    173 !----------------------------------------------------------------------- 
    174 &namwad        !   Wetting and drying                                   (default F) 
    175 !----------------------------------------------------------------------- 
    176    ln_wd       = .false.   !  T/F activation of wetting and drying 
    177    rn_wdmin1   =  0.1      !  Minimum wet depth on dried cells 
    178    rn_wdmin2   =  0.01     !  Tolerance of min wet depth on dried cells 
    179    rn_wdld     =  20.0     !  Land elevation below which wetting/drying is allowed 
    180    nn_wdit     =  10       !  Max iterations for W/D limiter 
     172   ln_wd       =             .false.   !  T/F activation of wetting and drying 
     173   rn_wd_ref_depth   =    0.0          !  Reference Depth for WAD cases (0 all other cases) 
    181174/ 
    182175!----------------------------------------------------------------------- 
  • branches/2017/dev_merge_2017/NEMOGCM/TOOLS/DOMAINcfg/src/dom_oce.f90

    r6973 r9033  
    3131   !                                    !!* Namelist namdom : time & space domain * 
    3232   INTEGER , PUBLIC ::   nn_bathy        !: = 0/1 ,compute/read the bathymetry file 
     33   LOGICAL   PUBLIC ::   ln_wd           !: Is it a WAD domain? T/F Default T 
     34   REAL(wp), PUBLIC ::   rn_wd_ref_depth !: Reference depth for Wet and Dry 
    3335   REAL(wp), PUBLIC ::   rn_bathy        !: depth of flat bottom (active if nn_bathy=0; if =0 depth=jpkm1) 
    3436   REAL(wp), PUBLIC ::   rn_hmin         !: minimum ocean depth (>0) or minimum number of ocean levels (<0) 
  • branches/2017/dev_merge_2017/NEMOGCM/TOOLS/DOMAINcfg/src/domain.f90

    r7200 r9033  
    160160         &             ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m,                         & 
    161161         &             ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh,                  & 
    162          &             ppa2, ppkth2, ppacr2 
     162         &             ppa2, ppkth2, ppacr2, rn_wd_ref_depth, ln_wd 
    163163 
    164164 
     
    272272         WRITE(numout,*) '      flag read/compute bathymetry      nn_bathy     = ', nn_bathy 
    273273         WRITE(numout,*) '      Depth (if =0 bathy=jpkm1)         rn_bathy     = ', rn_bathy 
     274         WRITE(numout,*) '      WAD Domain?                       ln_wd        = ', ln_wd 
     275         WRITE(numout,*) '      WAD Reference depth)              rn_wd_ref_depth     = ', rn_wd_ref_depth 
    274276         WRITE(numout,*) '      min depth of the ocean    (>0) or    rn_hmin   = ', rn_hmin 
    275277         WRITE(numout,*) '      min number of ocean level (<0)       ' 
     
    431433      IF( ln_isfcav ) THEN   ;   icav = 1   ;   ELSE   ;   icav = 0   ;   ENDIF 
    432434      CALL iom_rstput( 0, 0, inum, 'ln_isfcav', REAL( icav, wp), ktype = jp_i4 ) 
     435      z2d(:,:) = hbatt(:,:) ! add back on reference height to get appox dep 
     436                                 !this is later corrected for with specified min depth bg user for above greoid 
     437                                 ! WAD points 
     438      !where (z2d   (:,:).lte.1e-5)  z2d(:,:) = -10.0 
     439      where (tmask  (:,:,1).eq.0)  z2d(:,:) = 0.0 
     440      IF( ln_wd ) THEN 
     441          CALL iom_rstput( 0, 0, inum, 'rn_wd_ref_depth'   , rn_wd_ref_depth  ) ! replace this later with variable 
     442          CALL iom_rstput( 0, 0, inum, 'ht_wd', z2d )        !    ht_wd 
     443      ENDIF 
     444 
    433445      ! 
    434446      !                             !==  horizontal mesh  ! 
  • branches/2017/dev_merge_2017/NEMOGCM/TOOLS/DOMAINcfg/src/domzgr.f90

    r8593 r9033  
    19571957         WRITE(numout,*) '        Bottom cell (Zb) (m) = H*rn_zb_a + rn_zb_b' 
    19581958      ENDIF 
    1959  
     1959      ! CEOD 
     1960      ! Add on some reference level to make nagative bathy positive to create 
     1961      ! sensible e3t_0's 
     1962! Can used commented code here to force bathy near open bdy not to have any WAD 
     1963! points 
     1964 
     1965!CEOD MAKE points on the perimeter assuming a bondary is here on shallower than 
     1966!10m so that tide can be specified here. 
     1967!      DO jj = 1, jpj 
     1968!         DO ji = 1, jpi 
     1969!            !CEODIF( mig(ji) <= 2 .or. mjg(jj) <= 2  .or. mig(ji) >= jpiglo-2 .or.  mjg(jj) >=jpjglo-2) then 
     1970!            IF( mig(ji) <= 10   .or. mjg(jj) <=10  .or.  mjg(ji) >=jpiglo-10+1 .or. mjg(jj) >=jpjglo-10+1   ) then 
     1971!               IF( bathy(ji,jj) + rn_wd_ref_depth  > 0.0)   then 
     1972!                  bathy(ji,jj) = max(5.0,bathy(ji,jj)) ! 
     1973!               ENDIF 
     1974!               IF( bathy(ji,jj)  + rn_wd_ref_depth   <= 0.0)   then 
     1975!                  bathy(ji,jj) =  -rn_wd_ref_depth*2._wp ! Make sure it is land 
     1976!               ENDIF 
     1977!            ENDIF 
     1978!         END DO 
     1979!      END DO 
     1980 
     1981      IF( ln_wd) THEN 
     1982         bathy(:,:) = bathy(:,:) + rn_wd_ref_depth !  Arbitrary reference level for WAD, This needs 
     1983      ELSE 
     1984         bathy(:,:) = bathy(:,:)  !  Arbitrary reference level for WAD, This needs 
     1985      ENDIF 
     1986                                                !  to be accounted for in istate in the actual model and bdys etc. 
    19601987      hift(:,:) = rn_sbot_min                     ! set the minimum depth for the s-coordinate 
    19611988      hifu(:,:) = rn_sbot_min 
Note: See TracChangeset for help on using the changeset viewer.