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 885 – NEMO

Changeset 885


Ignore:
Timestamp:
2008-04-09T09:29:16+02:00 (16 years ago)
Author:
ctlod
Message:

dev_001_SBC: Step I: add the LIM 3.0 component into LIM_SRC_3 directory, see ticket: #111

Location:
branches/dev_001_SBC/NEMO
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_001_SBC/NEMO/C1D_SRC/diawri1d.F90

    r881 r885  
    193193            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    194194 
    195 #if ! defined key_dynspg_rl && defined key_lim2 
    196          ! sowaflup = sowaflep + sorunoff + sowafldp + a term associated to 
    197          !    internal damping to Levitus that can be diagnosed from others 
    198          ! sowaflcd = sowaflep + sorunoff + sowafldp + iowaflup 
    199          CALL histdef( nid_T, "iowaflup", "Ice=>ocean net freshwater"          , "kg/m2/s",   &  ! fsalt 
    200             &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    201          CALL histdef( nid_T, "sowaflep", "atmos=>ocean net freshwater"        , "kg/m2/s",   &  ! fmass 
    202             &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    203 #endif 
     195!!$#if ! defined key_dynspg_rl && ( defined key_lim2 || defined key_lim2 ) 
     196!!$         ! sowaflup = sowaflep + sorunoff + sowafldp + a term associated to 
     197!!$         !    internal damping to Levitus that can be diagnosed from others 
     198!!$         ! sowaflcd = sowaflep + sorunoff + sowafldp + iowaflup 
     199!!$         CALL histdef( nid_T, "iowaflup", "Ice=>ocean net freshwater"          , "kg/m2/s",   &  ! fsalt 
     200!!$            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     201!!$         CALL histdef( nid_T, "sowaflep", "atmos=>ocean net freshwater"        , "kg/m2/s",   &  ! fmass 
     202!!$            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     203!!$#endif 
    204204         CALL histdef( nid_T, "sowaflup", "Net Upward Water Flux"              , "Kg/m2/s",   &  ! emp 
    205205            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    237237#endif 
    238238 
    239 #if ( defined key_coupled && ! defined key_lim2 )  
     239#if ( defined key_coupled && ! ( defined key_lim3 || defined key_lim2 ) )  
    240240         CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping"         , "W/m2"   ,   &  ! qrp 
    241241            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    259259#endif 
    260260 
    261 #if defined key_lim2 && defined key_coupled 
     261#if ( defined key_lim3 || defined key_lim2 ) && defined key_coupled 
    262262         CALL histdef( nid_T,"soicetem" , "Ice Surface Temperature"            , "K"      ,   &  ! tn_ice 
    263263            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    364364      CALL histwrite( nid_T, "sosstsst", it, tn(:,:,1)     , ndim_hT, ndex_hT )   ! sea surface temperature 
    365365      CALL histwrite( nid_T, "sosaline", it, sn(:,:,1)     , ndim_hT, ndex_hT )   ! sea surface salinity 
    366 #if ! defined key_dynspg_rl && defined key_lim2 
     366#if ! defined key_dynspg_rl && ( defined key_lim3 || defined key_lim2 ) 
    367367      CALL histwrite( nid_T, "iowaflup", it, fsalt(:,:)    , ndim_hT, ndex_hT )   ! ice=>ocean water flux 
    368368      CALL histwrite( nid_T, "sowaflep", it, fmass(:,:)    , ndim_hT, ndex_hT )   ! atmos=>ocean water flux 
     
    396396      CALL histwrite( nid_T, "sosafldp", it, zw2d          , ndim_hT, ndex_hT )   ! salt flux damping 
    397397#endif 
    398 #if ( defined key_coupled && ! defined key_lim2 )  
     398#if ( defined key_coupled && ! ( defined key_lim3 || defined key_lim2 ) )  
    399399      CALL histwrite( nid_T, "sohefldp", it, qrp           , ndim_hT, ndex_hT )   ! heat flux damping 
    400400      CALL histwrite( nid_T, "sowafldp", it, erp           , ndim_hT, ndex_hT )   ! freshwater flux damping 
     
    411411      CALL histwrite( nid_T, "sohtc300", it, htc3          , ndim_hT, ndex_hT )   ! first 300m heaat content 
    412412#endif 
    413 #if defined key_lim2 &&  defined key_coupled  
     413#if ( defined key_lim3 || defined key_lim2 ) &&  defined key_coupled  
    414414      CALL histwrite( nid_T, "soicetem", it, tn_ice        , ndim_hT, ndex_hT )   ! surf. ice temperature 
    415415      CALL histwrite( nid_T, "soicealb", it, alb_ice       , ndim_hT, ndex_hT )   ! ice albedo 
  • branches/dev_001_SBC/NEMO/C1D_SRC/icestp1d.F90

    r881 r885  
    66   !! History :   9.0  !  04-10  (C. Ethe)  from icestp, 1D configuration 
    77   !!---------------------------------------------------------------------- 
    8 #if defined key_cfg_1d && defined key_lim2 
     8#if defined key_cfg_1d && ( defined key_lim3 || defined key_lim2 ) 
    99   !!---------------------------------------------------------------------- 
    1010   !!   'key_cfg_1d'  .AND.                                1D Configuration 
    11    !!   'key_lim2'                                        Lim sea-ice model 
     11   !!   'key_lim2' OR 'key_lim3' :             LIM 2.0 or 3.0 sea-ice model 
    1212   !!---------------------------------------------------------------------- 
    1313   !!---------------------------------------------------------------------- 
  • branches/dev_001_SBC/NEMO/NST_SRC/agrif_user.F90

    r881 r885  
    6565      USE sol_oce 
    6666      USE in_out_manager 
    67 #if defined key_lim2 
     67#if defined key_lim3 || defined key_lim2 
    6868      USE ice_oce 
    6969#endif 
  • branches/dev_001_SBC/NEMO/OPA_SRC/DIA/diawri.F90

    r881 r885  
    244244            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    245245#endif 
    246 !!$#if ! defined key_dynspg_rl && defined key_lim2 
     246!!$#if ! defined key_dynspg_rl && ( defined key_lim3 || defined key_lim2 ) 
    247247!!$         ! sowaflup = sowaflep + sorunoff + sowafldp + a term associated to 
    248248!!$         !    internal damping to Levitus that can be diagnosed from others 
     
    255255         CALL histdef( nid_T, "sowaflup", "Net Upward Water Flux"              , "Kg/m2/s",   &  ! emp 
    256256            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    257 !!$         CALL histdef( nid_T, "sorunoff", "Runoffs"                            , "Kg/m2/s",   &  ! runoffs 
    258 !!$            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     257         CALL histdef( nid_T, "sorunoff", "Runoffs"                            , "Kg/m2/s",   &  ! runoffs 
     258            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    259259         CALL histdef( nid_T, "sowaflcd", "concentration/dilution water flux"  , "kg/m2/s",   &  ! emps 
    260260            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    282282 
    283283 
    284 #if ( defined key_coupled && ! defined key_lim2 )  
     284#if ( defined key_coupled && ! defined key_lim3 && ! defined key_lim2 )  
    285285         CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping"         , "W/m2"   ,   &  ! qrp 
    286286            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    308308#endif 
    309309 
    310 #if defined key_lim2 && defined key_coupled 
     310#if ( defined key_lim3  || defined key_lim2 ) && defined key_coupled 
    311311         CALL histdef( nid_T,"soicetem" , "Ice Surface Temperature"            , "K"      ,   &  ! tn_ice 
    312312            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    414414      CALL histwrite( nid_T, "sossheig", it, sshn          , ndim_hT, ndex_hT )   ! sea surface height 
    415415#endif 
    416 !!$#if ! defined key_dynspg_rl && defined key_lim2 
     416!!$#if ! defined key_dynspg_rl && ( defined key_lim3 || defined key_lim2 ) 
    417417!!$      CALL histwrite( nid_T, "iowaflup", it, fsalt(:,:)    , ndim_hT, ndex_hT )   ! ice=>ocean water flux 
    418418!!$      CALL histwrite( nid_T, "sowaflep", it, fmass(:,:)    , ndim_hT, ndex_hT )   ! atmos=>ocean water flux 
    419419!!$#endif 
    420420      CALL histwrite( nid_T, "sowaflup", it, emp           , ndim_hT, ndex_hT )   ! upward water flux 
    421 !!$      CALL histwrite( nid_T, "sorunoff", it, runoff        , ndim_hT, ndex_hT )   ! runoff 
     421      CALL histwrite( nid_T, "sorunoff", it, runoff        , ndim_hT, ndex_hT )   ! runoff 
    422422      CALL histwrite( nid_T, "sowaflcd", it, emps          , ndim_hT, ndex_hT )   ! c/d water flux 
    423423      zw2d(:,:) = emps(:,:) * sn(:,:,1) * tmask(:,:,1) 
     
    434434      CALL histwrite( nid_T, "sosafldp", it, zw2d          , ndim_hT, ndex_hT )   ! salt flux damping 
    435435#endif 
    436 #if ( defined key_coupled && ! defined key_lim2 )  
     436#if ( defined key_coupled && ! defined key_lim3 && ! defined key_lim2 )  
    437437      CALL histwrite( nid_T, "sohefldp", it, qrp           , ndim_hT, ndex_hT )   ! heat flux damping 
    438438      CALL histwrite( nid_T, "sowafldp", it, erp           , ndim_hT, ndex_hT )   ! freshwater flux damping 
     
    452452      CALL histwrite( nid_T, "sohtc300", it, htc3          , ndim_hT, ndex_hT )   ! first 300m heaat content 
    453453#endif 
    454 #if defined key_lim2 &&  defined key_coupled  
     454#if ( defined key_lim3  ||  defined key_lim2 ) &&  defined key_coupled  
    455455      CALL histwrite( nid_T, "soicetem", it, tn_ice        , ndim_hT, ndex_hT )   ! surf. ice temperature 
    456456      CALL histwrite( nid_T, "soicealb", it, alb_ice       , ndim_hT, ndex_hT )   ! ice albedo 
     
    627627      ! Write all fields on T grid 
    628628      CALL histwrite( id_i, "votemper", 1, tn      , jpi*jpj*jpk, idex )    ! now temperature 
    629       CALL histwrite( id_i, "vosaline", 1, sn        , jpi*jpj*jpk, idex )    ! now salinity 
     629      CALL histwrite( id_i, "vosaline", 1, sn      , jpi*jpj*jpk, idex )    ! now salinity 
    630630#if defined key_dynspg_rl 
    631631      CALL histwrite( id_i, "sobarstf", 1, bsfn     , jpi*jpj    , idex )    ! barotropic streamfunction 
  • branches/dev_001_SBC/NEMO/OPA_SRC/cpl_oce.F90

    r881 r885  
    218218      qsrc           !: solar radiation (w m-2) 
    219219 
    220 #  if defined key_lim2 
     220#  if defined key_lim3 || defined key_lim2 
    221221   REAL(wp), DIMENSION(jpi,jpj) ::   &  !: 
    222222      watm        ,    &  !: 
  • branches/dev_001_SBC/NEMO/OPA_SRC/ice_oce.F90

    r881 r885  
    1111   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    1212   !!---------------------------------------------------------------------- 
    13 #if defined key_lim2 
     13#if defined key_lim3 || defined key_lim2 
    1414   !!---------------------------------------------------------------------- 
    15    !!   'key_lim2'   :                                    LIM 2.0 ice model 
     15   !!   'key_lim2' or 'key_lim3'   :               LIM 2.0 or 3.0 ice model 
    1616   !!---------------------------------------------------------------------- 
    1717   !! * Modules used 
     
    2222  
    2323   !! Shared module variables 
    24    LOGICAL, PUBLIC, PARAMETER ::   lk_ice_lim = .TRUE.    !: LIM ice model 
     24# if defined  key_lim2 
     25   LOGICAL, PUBLIC, PARAMETER ::   lk_lim2        = .TRUE.    !: LIM2 ice model 
     26   LOGICAL, PUBLIC, PARAMETER ::   lk_lim3        = .FALSE.   !: LIM3 ice model 
     27# else 
     28   LOGICAL, PUBLIC, PARAMETER ::   lk_lim2        = .FALSE.   !: LIM2 ice model 
     29   LOGICAL, PUBLIC, PARAMETER ::   lk_lim3        = .TRUE.    !: LIM3 ice model 
     30# endif 
    2531 
    2632   !!---------------------------------------------------------------------- 
     
    4652#else 
    4753   !!---------------------------------------------------------------------- 
    48    !!   Default option                             NO LIM 2.0 sea-ice model 
     54   !!   Default option                      NO LIM 2.0 or 3.0 sea-ice model 
    4955   !!---------------------------------------------------------------------- 
    50    LOGICAL, PUBLIC, PARAMETER ::   lk_ice_lim = .FALSE.  !: No LIM ice model 
     56   LOGICAL, PUBLIC, PARAMETER ::   lk_lim2        = .FALSE.  !: No LIM 2.0 ice model 
     57   LOGICAL, PUBLIC, PARAMETER ::   lk_lim3        = .FALSE.  !: No LIM 3.0 ice model 
    5158#endif 
    5259 
  • branches/dev_001_SBC/NEMO/OPA_SRC/phycst.F90

    r703 r885  
    4646      rtt      = 273.16_wp  ,  &  !: triple point of temperature (Kelvin) 
    4747      rt0      = 273.15_wp  ,  &  !: freezing point of water (Kelvin) 
     48#if defined key_lim3 
     49      rt0_snow = 273.16_wp  ,  &  !: melting point of snow  (Kelvin) 
     50      rt0_ice  = 273.16_wp  ,  &  !: melting point of ice   (Kelvin) 
     51#else 
    4852      rt0_snow = 273.15_wp  ,  &  !: melting point of snow  (Kelvin) 
    4953      rt0_ice  = 273.05_wp  ,  &  !: melting point of ice   (Kelvin) 
     54#endif 
    5055      rau0     = 1020._wp   ,  &  !: volumic mass of reference (kg/m3) 
    51       rauw     = 1000._wp   ,  &  !: density of pure water (kg/m3) 
     56      rauw     = 1000._wp   ,  &  !: volumic mass of pure water (kg/m3) 
    5257      rcp      =    4.e+3_wp,  &  !: ocean specific heat 
    5358      ro0cpr                      !: = 1. / ( rau0 * rcp ) 
    5459 
    5560   REAL(wp), PUBLIC ::            &  !: 
     61#if defined key_lim3 
     62      rcdsn   =   0.31_wp     ,   &  !: thermal conductivity of snow 
     63      rcdic   =   2.034396_wp ,   &  !: thermal conductivity of fresh ice 
     64      cpic    = 2067.0        ,   & 
     65      ! add the following lines 
     66      lsub    = 2.834e+6      ,   &  !: pure ice latent heat of sublimation (J.kg-1) 
     67      lfus    = 0.334e+6      ,   &  !: latent heat of fusion of fresh ice   (J.kg-1) 
     68      rhoic   = 917._wp       ,   &  !: volumic mass of sea ice (kg/m3) 
     69      tmut    =   0.054       ,   &  !: decrease of seawater meltpoint with salinity 
     70#else 
    5671      rcdsn   =   0.22_wp     ,   &  !: conductivity of the snow 
    5772      rcdic   =   2.034396_wp ,   &  !: conductivity of the ice 
     
    6277      xsn     =   2.8e+6      ,   &  !: latent heat of sublimation of snow 
    6378      rhoic   = 900._wp       ,   &  !: volumic mass of sea ice (kg/m3) 
     79#endif 
    6480      rhosn   = 330._wp       ,   &  !: volumic mass of snow (kg/m3) 
    6581      emic    =   0.97_wp     ,   &  !: emissivity of snow or ice 
     
    156172         WRITE(numout,*) '          thermal conductivity of the snow          = ', rcdsn   , ' J/s/m/K' 
    157173         WRITE(numout,*) '          thermal conductivity of the ice           = ', rcdic   , ' J/s/m/K' 
     174#if defined key_lim3 
     175         WRITE(numout,*) '          fresh ice specific heat                   = ', cpic    , ' J/kg/K' 
     176         WRITE(numout,*) '          latent heat of fusion of fresh ice / snow = ', lfus    , ' J/kg' 
     177         WRITE(numout,*) '          latent heat of subl.  of fresh ice / snow = ', lsub    , ' J/kg' 
     178#else 
    158179         WRITE(numout,*) '          density times specific heat for snow      = ', rcpsn   , ' J/m^3/K'  
    159180         WRITE(numout,*) '          density times specific heat for ice       = ', rcpic   , ' J/m^3/K' 
     
    161182         WRITE(numout,*) '          volumetric latent heat fusion of snow     = ', xlsn    , ' J/m'  
    162183         WRITE(numout,*) '          latent heat of sublimation of snow        = ', xsn     , ' J/kg'  
     184#endif 
    163185         WRITE(numout,*) '          density of sea ice                        = ', rhoic   , ' kg/m^3' 
    164186         WRITE(numout,*) '          density of snow                           = ', rhosn   , ' kg/m^3' 
  • branches/dev_001_SBC/NEMO/TOP_SRC/TRP/trcadv_cen2.F90

    r881 r885  
    164164               zind(ji,jj,jk) =  MAX ( upsrnfh(ji,jj) * upsrnfz(jk),     &  ! changing advection scheme near runoff 
    165165                  &                    upsadv(ji,jj)                     &  ! in the vicinity of some straits 
    166 #if defined key_lim2 
     166#if defined key_lim3 || defined key_lim2 
    167167                  &                  , tmask(ji,jj,jk)                   &  ! half upstream tracer fluxes 
    168168                  &                  * MAX( 0., SIGN( 1., fzptn(ji,jj)   &  ! if tn < ("freezing"+0.1 ) 
Note: See TracChangeset for help on using the changeset viewer.