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 6900 for branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC – NEMO

Ignore:
Timestamp:
2016-08-29T17:55:22+02:00 (8 years ago)
Author:
flavoni
Message:

#1692 and ROBUST-3 : Update OVERFLOW configuration, and some cleaning

Location:
branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90

    r5836 r6900  
    215215      !!---------------------------------------------------------------------- 
    216216      TYPE(fld), INTENT(in), DIMENSION(:)       ::   sf    ! input data 
    217       REAL(wp) , INTENT(in), DIMENSION(jpi,jpj) ::   pst   ! surface temperature                      [Celcius] 
     217      REAL(wp) , INTENT(in), DIMENSION(jpi,jpj) ::   pst   ! surface temperature                      [Celsius] 
    218218      !! 
    219219      INTEGER  ::   ji, jj   ! dummy loop indices 
     
    279279         DO ji = 1, jpi 
    280280            ! 
    281             zsst  = pst(ji,jj)              + rt0           ! converte Celcius to Kelvin the SST 
     281            zsst  = pst(ji,jj)              + rt0           ! converte Celsius to Kelvin the SST 
    282282            ztatm = sf(jp_tair)%fnow(ji,jj,1)               ! and set minimum value far above 0 K (=rt0 over land) 
    283283            zcco1 = 1.0 - sf(jp_ccov)%fnow(ji,jj,1)         ! fraction of clear sky ( 1 - cloud cover) 
     
    371371      ! 
    372372      qns(:,:) = zqlw(:,:) - zqsb(:,:) - zqla(:,:)                        &   ! Downward Non Solar flux 
    373          &     - zqla(:,:)             * pst(:,:) * zcevap                &   ! remove evap.   heat content at SST in Celcius 
    374          &     + sf(jp_prec)%fnow(:,:,1) * sf(jp_tair)%fnow(:,:,1) * zcprec   ! add    precip. heat content at Tair in Celcius 
     373         &     - zqla(:,:)             * pst(:,:) * zcevap                &   ! remove evap.   heat content at SST in Celsius 
     374         &     + sf(jp_prec)%fnow(:,:,1) * sf(jp_tair)%fnow(:,:,1) * zcprec   ! add    precip. heat content at Tair in Celsius 
    375375      qns(:,:) = qns(:,:) * tmask(:,:,1) 
    376376#if defined key_lim3 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r6140 r6900  
    241241      INTEGER  , INTENT(in   )                 ::   kt    ! time step index 
    242242      TYPE(fld), INTENT(inout), DIMENSION(:)   ::   sf    ! input data 
    243       REAL(wp) , INTENT(in)   , DIMENSION(:,:) ::   pst   ! surface temperature                      [Celcius] 
     243      REAL(wp) , INTENT(in)   , DIMENSION(:,:) ::   pst   ! surface temperature                      [Celsius] 
    244244      REAL(wp) , INTENT(in)   , DIMENSION(:,:) ::   pu    ! surface current at U-point (i-component) [m/s] 
    245245      REAL(wp) , INTENT(in)   , DIMENSION(:,:) ::   pv    ! surface current at V-point (j-component) [m/s] 
     
    267267      zcoef_qsatw = 0.98 * 640380. / rhoa 
    268268       
    269       zst(:,:) = pst(:,:) + rt0      ! convert SST from Celcius to Kelvin (and set minimum value far above 0 K) 
     269      zst(:,:) = pst(:,:) + rt0      ! convert SST from Celsius to Kelvin (and set minimum value far above 0 K) 
    270270 
    271271      ! ----------------------------------------------------------------------------- ! 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r6165 r6900  
    555555               WRITE(numout,*)'  Additional received fields from OPA component : ' 
    556556            ENDIF 
    557             WRITE(numout,*)'               sea surface temperature (Celcius) ' 
     557            WRITE(numout,*)'               sea surface temperature (Celsius) ' 
    558558            WRITE(numout,*)'               sea surface salinity '  
    559559            WRITE(numout,*)'               surface currents '  
     
    710710            WRITE(numout,*) 
    711711            WRITE(numout,*)'  sent fields to SAS component ' 
    712             WRITE(numout,*)'               sea surface temperature (T before, Celcius) ' 
     712            WRITE(numout,*)'               sea surface temperature (T before, Celsius) ' 
    713713            WRITE(numout,*)'               sea surface salinity '  
    714714            WRITE(numout,*)'               surface currents U,V on local grid and spherical coordinates'  
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90

    r6596 r6900  
    101101                                 ! ( d rho / dt ) / ( d rho / ds )      ( s = 34, t = -1.8 ) 
    102102          
    103          CALL eos_fzp( sss_m(:,:), fr_i(:,:) )       ! sea surface freezing temperature [Celcius] 
     103         CALL eos_fzp( sss_m(:,:), fr_i(:,:) )       ! sea surface freezing temperature [Celsius] 
    104104         fr_i(:,:) = fr_i(:,:) * tmask(:,:,1) 
    105105 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r6717 r6900  
    1919   !!   sbc_init      : read namsbc namelist 
    2020   !!   sbc           : surface ocean momentum, heat and freshwater boundary conditions 
     21   !!   sbc_final     : Finalize CICE ice model (if used) 
    2122   !!---------------------------------------------------------------------- 
    2223   USE oce            ! ocean dynamics and tracers 
     
    3738   USE sbcice_cice    ! surface boundary condition: CICE    sea-ice model 
    3839   USE sbccpl         ! surface boundary condition: coupled florulation 
    39    USE usrdef_sbc     ! user defined: surface boundary condition 
    4040   USE cpl_oasis3     ! OASIS routines for coupling 
    4141   USE sbcssr         ! surface boundary condition: sea surface restoring 
     
    4747   USE sbcwave        ! Wave module 
    4848   USE bdy_par        ! Require lk_bdy 
    49    USE usrdef_closea  ! closed sea 
     49   USE usrdef_sbc     ! user defined: surface boundary condition 
     50   USE usrdef_closea  ! user defined: closed sea 
    5051   ! 
    5152   USE prtctl         ! Print control                    (prt_ctl routine) 
     
    5556   USE timing         ! Timing 
    5657 
    57    USE diurnal_bulk, ONLY: & 
    58       & ln_diurnal_only  
     58   USE diurnal_bulk, ONLY:   ln_diurnal_only   ! diurnal SST diagnostic 
    5959 
    6060   IMPLICIT NONE 
     
    6767       
    6868   !!---------------------------------------------------------------------- 
    69    !! NEMO/OPA 4.0 , NEMO-consortium (2011)  
     69   !! NEMO/OPA 4.0 , NEMO-consortium (2016)  
    7070   !! $Id$ 
    7171   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     
    105105      ENDIF 
    106106      ! 
    107       REWIND( numnam_ref )              ! Namelist namsbc in reference namelist : Surface boundary 
     107      REWIND( numnam_ref )       ! Namelist namsbc in reference namelist : Surface boundary 
    108108      READ  ( numnam_ref, namsbc, IOSTAT = ios, ERR = 901) 
    109109901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namsbc in reference namelist', lwp ) 
    110110      ! 
    111       REWIND( numnam_cfg )              ! Namelist namsbc in configuration namelist : Parameters of the run 
     111      REWIND( numnam_cfg )       ! Namelist namsbc in configuration namelist : Parameters of the run 
    112112      READ  ( numnam_cfg, namsbc, IOSTAT = ios, ERR = 902 ) 
    113113902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namsbc in configuration namelist', lwp ) 
     
    122122      ! 
    123123      IF(lwp) THEN               ! Control print 
    124          WRITE(numout,*) '        Namelist namsbc (partly overwritten with CPP key setting)' 
    125          WRITE(numout,*) '           frequency update of sbc (and ice)             nn_fsbc     = ', nn_fsbc 
    126          WRITE(numout,*) '           Type of air-sea fluxes : ' 
    127          WRITE(numout,*) '              user defined formulation                   ln_usr        = ', ln_usr 
    128          WRITE(numout,*) '              flux         formulation                   ln_flx        = ', ln_flx 
    129          WRITE(numout,*) '              CLIO bulk    formulation                   ln_blk_clio   = ', ln_blk_clio 
    130          WRITE(numout,*) '              CORE bulk    formulation                   ln_blk_core   = ', ln_blk_core 
    131          WRITE(numout,*) '              MFS  bulk    formulation                   ln_blk_mfs    = ', ln_blk_mfs 
    132          WRITE(numout,*) '           Type of coupling (Ocean/Ice/Atmosphere) : ' 
    133          WRITE(numout,*) '              ocean-atmosphere coupled formulation       ln_cpl        = ', ln_cpl 
    134          WRITE(numout,*) '              forced-coupled mixed formulation           ln_mixcpl     = ', ln_mixcpl 
    135          WRITE(numout,*) '              OASIS coupling (with atm or sas)           lk_oasis      = ', lk_oasis 
    136          WRITE(numout,*) '              components of your executable              nn_components = ', nn_components 
    137          WRITE(numout,*) '              Multicategory heat flux formulation (LIM3) nn_limflx     = ', nn_limflx 
    138          WRITE(numout,*) '           Sea-ice : ' 
    139          WRITE(numout,*) '              ice management in the sbc (=0/1/2/3)       nn_ice        = ', nn_ice  
    140          WRITE(numout,*) '              ice-ocean embedded/levitating (=0/1/2)     nn_ice_embd   = ', nn_ice_embd 
    141          WRITE(numout,*) '           Misc. options of sbc : ' 
    142          WRITE(numout,*) '              Light penetration in temperature Eq.       ln_traqsr     = ', ln_traqsr 
    143          WRITE(numout,*) '                 daily mean to diurnal cycle qsr            ln_dm2dc   = ', ln_dm2dc  
    144          WRITE(numout,*) '              Sea Surface Restoring on SST and/or SSS    ln_ssr        = ', ln_ssr 
    145          WRITE(numout,*) '              FreshWater Budget control  (=0/1/2)        nn_fwb        = ', nn_fwb 
    146          WRITE(numout,*) '              Patm gradient added in ocean & ice Eqs.    ln_apr_dyn    = ', ln_apr_dyn 
    147          WRITE(numout,*) '              runoff / runoff mouths                     ln_rnf        = ', ln_rnf 
    148          WRITE(numout,*) '              iceshelf formulation                       ln_isf        = ', ln_isf 
    149          WRITE(numout,*) '              closed sea (=0/1) (set in namdom)          nn_closea     = ', nn_closea 
    150          WRITE(numout,*) '              nb of iterations if land-sea-mask applied  nn_lsm        = ', nn_lsm 
    151          WRITE(numout,*) '              surface wave                               ln_wave       = ', ln_wave   
     124         WRITE(numout,*) '   Namelist namsbc (partly overwritten with CPP key setting)' 
     125         WRITE(numout,*) '      Frequency update of sbc (and ice)             nn_fsbc       = ', nn_fsbc 
     126         WRITE(numout,*) '      Type of air-sea fluxes : ' 
     127         WRITE(numout,*) '         user defined formulation                   ln_usr        = ', ln_usr 
     128         WRITE(numout,*) '         flux         formulation                   ln_flx        = ', ln_flx 
     129         WRITE(numout,*) '         CLIO bulk    formulation                   ln_blk_clio   = ', ln_blk_clio 
     130         WRITE(numout,*) '         CORE bulk    formulation                   ln_blk_core   = ', ln_blk_core 
     131         WRITE(numout,*) '         MFS  bulk    formulation                   ln_blk_mfs    = ', ln_blk_mfs 
     132         WRITE(numout,*) '      Type of coupling (Ocean/Ice/Atmosphere) : ' 
     133         WRITE(numout,*) '         ocean-atmosphere coupled formulation       ln_cpl        = ', ln_cpl 
     134         WRITE(numout,*) '         forced-coupled mixed formulation           ln_mixcpl     = ', ln_mixcpl 
     135         WRITE(numout,*) '         OASIS coupling (with atm or sas)           lk_oasis      = ', lk_oasis 
     136         WRITE(numout,*) '         components of your executable              nn_components = ', nn_components 
     137         WRITE(numout,*) '         Multicategory heat flux formulation (LIM3) nn_limflx     = ', nn_limflx 
     138         WRITE(numout,*) '      Sea-ice : ' 
     139         WRITE(numout,*) '         ice management in the sbc (=0/1/2/3)       nn_ice        = ', nn_ice  
     140         WRITE(numout,*) '         ice-ocean embedded/levitating (=0/1/2)     nn_ice_embd   = ', nn_ice_embd 
     141         WRITE(numout,*) '      Misc. options of sbc : ' 
     142         WRITE(numout,*) '         Light penetration in temperature Eq.       ln_traqsr     = ', ln_traqsr 
     143         WRITE(numout,*) '            daily mean to diurnal cycle qsr            ln_dm2dc   = ', ln_dm2dc  
     144         WRITE(numout,*) '         Sea Surface Restoring on SST and/or SSS    ln_ssr        = ', ln_ssr 
     145         WRITE(numout,*) '         FreshWater Budget control  (=0/1/2)        nn_fwb        = ', nn_fwb 
     146         WRITE(numout,*) '         Patm gradient added in ocean & ice Eqs.    ln_apr_dyn    = ', ln_apr_dyn 
     147         WRITE(numout,*) '         runoff / runoff mouths                     ln_rnf        = ', ln_rnf 
     148         WRITE(numout,*) '         iceshelf formulation                       ln_isf        = ', ln_isf 
     149         WRITE(numout,*) '         closed sea (=0/1) (set in namdom)          nn_closea     = ', nn_closea 
     150         WRITE(numout,*) '         nb of iterations if land-sea-mask applied  nn_lsm        = ', nn_lsm 
     151         WRITE(numout,*) '         surface wave                               ln_wave       = ', ln_wave   
     152      ENDIF 
     153      ! 
     154      IF( .NOT.ln_usr ) THEN     ! the model calendar needs some specificities (except in user defined case) 
     155         IF( MOD( rday , rdt ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 
     156         IF( MOD( rday , 2.  ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    ) 
     157         IF( MOD( rdt  , 2.  ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           ) 
    152158      ENDIF 
    153159      ! 
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90

    r6140 r6900  
    4646      !!                 
    4747      !! ** Method  :   compute mean surface velocity (2 components at U and  
    48       !!      V-points) [m/s], temperature [Celcius] and salinity [psu] over 
     48      !!      V-points) [m/s], temperature [Celsius] and salinity [psu] over 
    4949      !!      the periode (kt - nn_fsbc) to kt 
    5050      !!         Note that the inverse barometer ssh (i.e. ssh associated with Patm) 
     
    137137            !                                             ! ---------------------------------------- ! 
    138138            zcoef = 1. / REAL( nn_fsbc, wp ) 
    139             sst_m(:,:) = sst_m(:,:) * zcoef     ! mean SST             [Celcius] 
     139            sst_m(:,:) = sst_m(:,:) * zcoef     ! mean SST             [Celsius] 
    140140            sss_m(:,:) = sss_m(:,:) * zcoef     ! mean SSS             [psu] 
    141141            ssu_m(:,:) = ssu_m(:,:) * zcoef     ! mean suface current  [m/s] 
Note: See TracChangeset for help on using the changeset viewer.