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 6808 for branches/NERC/dev_r5549_BDY_ZEROGRAD/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90 – NEMO

Ignore:
Timestamp:
2016-07-19T10:38:35+02:00 (8 years ago)
Author:
jamesharle
Message:

merge with trunk@6232 for consistency with SSB code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r5549_BDY_ZEROGRAD/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r5487 r6808  
    1919 
    2020   !!---------------------------------------------------------------------- 
    21    !!   sbc_blk_core    : bulk formulation as ocean surface boundary condition (forced mode, CORE bulk formulea) 
    22    !!   blk_oce_core    : computes momentum, heat and freshwater fluxes over ocean 
    23    !!   blk_ice_core    : computes momentum, heat and freshwater fluxes over ice 
    24    !!   turb_core_2z    : Computes turbulent transfert coefficients 
    25    !!   cd_neutral_10m  : Estimate of the neutral drag coefficient at 10m 
    26    !!   psi_m           : universal profile stability function for momentum 
    27    !!   psi_h           : universal profile stability function for temperature and humidity 
     21   !!   sbc_blk_core  : bulk formulation as ocean surface boundary condition (forced mode, CORE bulk formulea) 
     22   !!   blk_oce_core  : computes momentum, heat and freshwater fluxes over ocean 
     23   !!   blk_ice_core  : computes momentum, heat and freshwater fluxes over ice 
     24   !!   turb_core_2z  : Computes turbulent transfert coefficients 
     25   !!   cd_neutral_10m: Estimate of the neutral drag coefficient at 10m 
     26   !!   psi_m         : universal profile stability function for momentum 
     27   !!   psi_h         : universal profile stability function for temperature and humidity 
    2828   !!---------------------------------------------------------------------- 
    29    USE oce             ! ocean dynamics and tracers 
    30    USE dom_oce         ! ocean space and time domain 
    31    USE phycst          ! physical constants 
    32    USE fldread         ! read input fields 
    33    USE sbc_oce         ! Surface boundary condition: ocean fields 
    34    USE cyclone         ! Cyclone 10m wind form trac of cyclone centres 
    35    USE sbcdcy          ! surface boundary condition: diurnal cycle 
    36    USE iom             ! I/O manager library 
    37    USE in_out_manager  ! I/O manager 
    38    USE lib_mpp         ! distribued memory computing library 
    39    USE wrk_nemo        ! work arrays 
    40    USE timing          ! Timing 
    41    USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    42    USE prtctl          ! Print control 
    43    USE sbcwave, ONLY   :  cdn_wave ! wave module 
    44    USE sbc_ice         ! Surface boundary condition: ice fields 
    45    USE lib_fortran     ! to use key_nosignedzero 
     29   USE oce            ! ocean dynamics and tracers 
     30   USE dom_oce        ! ocean space and time domain 
     31   USE phycst         ! physical constants 
     32   USE fldread        ! read input fields 
     33   USE sbc_oce        ! Surface boundary condition: ocean fields 
     34   USE cyclone        ! Cyclone 10m wind form trac of cyclone centres 
     35   USE sbcdcy         ! surface boundary condition: diurnal cycle 
     36   USE sbcwave , ONLY :   cdn_wave ! wave module 
     37   USE sbc_ice        ! Surface boundary condition: ice fields 
     38   USE lib_fortran    ! to use key_nosignedzero 
    4639#if defined key_lim3 
    47    USE ice, ONLY       : u_ice, v_ice, jpl, pfrld, a_i_b 
    48    USE limthd_dh       ! for CALL lim_thd_snwblow 
     40   USE ice     , ONLY :  u_ice, v_ice, jpl, pfrld, a_i_b 
     41   USE limthd_dh      ! for CALL lim_thd_snwblow 
    4942#elif defined key_lim2 
    50    USE ice_2, ONLY     : u_ice, v_ice 
    51    USE par_ice_2 
     43   USE ice_2   , ONLY :  u_ice, v_ice 
     44   USE par_ice_2      ! LIM-2 parameters 
    5245#endif 
     46   ! 
     47   USE iom            ! I/O manager library 
     48   USE in_out_manager ! I/O manager 
     49   USE lib_mpp        ! distribued memory computing library 
     50   USE wrk_nemo       ! work arrays 
     51   USE timing         ! Timing 
     52   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
     53   USE prtctl         ! Print control 
    5354 
    5455   IMPLICIT NONE 
     
    8485   REAL(wp), PARAMETER ::   albo =    0.066       ! ocean albedo assumed to be constant 
    8586 
    86    !                                  !!* Namelist namsbc_core : CORE bulk parameters 
     87   !                        !!* Namelist namsbc_core : CORE bulk parameters 
    8788   LOGICAL  ::   ln_taudif   ! logical flag to use the "mean of stress module - module of mean stress" data 
    8889   REAL(wp) ::   rn_pfac     ! multiplication factor for precipitation 
     
    9394 
    9495   !! * Substitutions 
    95 #  include "domzgr_substitute.h90" 
    9696#  include "vectopt_loop_substitute.h90" 
    9797   !!---------------------------------------------------------------------- 
     
    149149      TYPE(FLD_N) ::   sn_tdif                                 !   "                                 " 
    150150      NAMELIST/namsbc_core/ cn_dir , ln_taudif, rn_pfac, rn_efac, rn_vfac,  & 
    151          &                  sn_wndi, sn_wndj, sn_humi  , sn_qsr ,           & 
    152          &                  sn_qlw , sn_tair, sn_prec  , sn_snow,           & 
    153          &                  sn_tdif, rn_zqt,  rn_zu 
     151         &                  sn_wndi, sn_wndj  , sn_humi, sn_qsr ,           & 
     152         &                  sn_qlw , sn_tair  , sn_prec, sn_snow,           & 
     153         &                  sn_tdif, rn_zqt   ,  rn_zu 
    154154      !!--------------------------------------------------------------------- 
    155155      ! 
     
    403403         CALL iom_put( "qsr_oce" ,   qsr  )                 ! output downward solar heat over the ocean 
    404404         CALL iom_put( "qt_oce"  ,   qns+qsr )              ! output total downward heat over the ocean 
     405         tprecip(:,:) = sf(jp_prec)%fnow(:,:,1) * rn_pfac   ! output total precipitation [kg/m2/s] 
     406         sprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac   ! output solid precipitation [kg/m2/s] 
     407         CALL iom_put( 'snowpre', sprecip * 86400. )        ! Snow 
     408         CALL iom_put( 'precip' , tprecip * 86400. )        ! Total precipitation 
    405409      ENDIF 
    406410      ! 
Note: See TracChangeset for help on using the changeset viewer.