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 888 for trunk/NEMO/C1D_SRC – NEMO

Changeset 888 for trunk/NEMO/C1D_SRC


Ignore:
Timestamp:
2008-04-11T19:05:03+02:00 (16 years ago)
Author:
ctlod
Message:

merge dev_001_SBC branche with the trunk to include the New Surface Module package, see ticket: #113

Location:
trunk/NEMO/C1D_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/C1D_SRC/diawri1d.F90

    r833 r888  
    1313   USE dom_oce         ! ocean space and time domain 
    1414   USE zdf_oce         ! ocean vertical physics 
     15   USE sbc_oce         ! surface boundary condition: ocean 
     16   USE sbc_ice         ! surface boundary condition: ice 
    1517   USE zdftke          ! TKE vertical mixing 
    1618   USE zdfkpp          ! KPP vertical mixing 
     
    1921   USE phycst          ! physical constants 
    2022   USE ocfzpt          ! ??? 
    21    USE ocesbc          ! surface thermohaline fluxes 
    22    USE taumod          ! surface stress 
    23    USE flxrnf          ! ??? 
    2423   USE zdfmxl          ! mixed layer 
    2524   USE daymod          ! calendar 
     
    4948   !!---------------------------------------------------------------------- 
    5049   !!   OPA 9.0 , LOCEAN-IPSL  (2005) 
    51    !! $Header$  
     50   !! $Id$ 
    5251   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    5352   !!---------------------------------------------------------------------- 
     
    194193            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    195194 
    196 #if ! defined key_dynspg_rl && defined key_lim3 
    197          ! sowaflup = sowaflep + sorunoff + sowafldp + a term associated to 
    198          !    internal damping to Levitus that can be diagnosed from others 
    199          ! sowaflcd = sowaflep + sorunoff + sowafldp + iowaflup 
    200          CALL histdef( nid_T, "iowaflup", "Ice=>ocean net freshwater"          , "kg/m2/s",   &  ! fsalt 
    201             &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    202          CALL histdef( nid_T, "sowaflep", "atmos=>ocean net freshwater"        , "kg/m2/s",   &  ! fmass 
    203             &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    204 #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 
    205204         CALL histdef( nid_T, "sowaflup", "Net Upward Water Flux"              , "Kg/m2/s",   &  ! emp 
    206205            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    211210         CALL histdef( nid_T, "sosalflx", "Surface Salt Flux"                  , "Kg/m2/s",   &  ! emps * sn 
    212211            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    213          CALL histdef( nid_T, "sohefldo", "Net Downward Heat Flux"             , "W/m2"   ,   &  ! qt 
     212         CALL histdef( nid_T, "sohefldo", "Net Downward Heat Flux"             , "W/m2"   ,   &  ! qsr + qns 
    214213            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    215214         CALL histdef( nid_T, "soshfldo", "Shortwave Radiation"                , "W/m2"   ,   &  ! qsr 
     
    238237#endif 
    239238 
    240 #if ( defined key_coupled && ! defined key_lim3 )  
     239#if ( defined key_coupled && ! ( defined key_lim3 || defined key_lim2 ) )  
    241240         CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping"         , "W/m2"   ,   &  ! qrp 
    242241            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    260259#endif 
    261260 
    262 #if defined key_lim3 && defined key_coupled 
     261#if ( defined key_lim3 || defined key_lim2 ) && defined key_coupled 
    263262         CALL histdef( nid_T,"soicetem" , "Ice Surface Temperature"            , "K"      ,   &  ! tn_ice 
    264263            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    275274#endif 
    276275         !                                                                                      !!! nid_U : 2D 
    277          CALL histdef( nid_T, "sozotaux", "Wind Stress along i-axis"           , "N/m2"   ,   &  ! taux 
     276         CALL histdef( nid_T, "sozotaux", "Wind Stress along i-axis"           , "N/m2"   ,   &  ! utau 
    278277            &          jpi, jpj, nh_T, 1  , 1, 1  , - 99, 32, clop, zsto, zout ) 
    279278 
     
    286285#endif 
    287286         !                                                                                      !!! nid_V : 2D 
    288          CALL histdef( nid_T, "sometauy", "Wind Stress along j-axis"           , "N/m2"   ,   &  ! tauy 
     287         CALL histdef( nid_T, "sometauy", "Wind Stress along j-axis"           , "N/m2"   ,   &  ! vtau 
    289288            &          jpi, jpj, nh_T, 1  , 1, 1  , - 99, 32, clop, zsto, zout ) 
    290289#if defined key_zdftke 
     
    365364      CALL histwrite( nid_T, "sosstsst", it, tn(:,:,1)     , ndim_hT, ndex_hT )   ! sea surface temperature 
    366365      CALL histwrite( nid_T, "sosaline", it, sn(:,:,1)     , ndim_hT, ndex_hT )   ! sea surface salinity 
    367 #if ! defined key_dynspg_rl && defined key_lim3 
     366#if ! defined key_dynspg_rl && ( defined key_lim3 || defined key_lim2 ) 
    368367      CALL histwrite( nid_T, "iowaflup", it, fsalt(:,:)    , ndim_hT, ndex_hT )   ! ice=>ocean water flux 
    369368      CALL histwrite( nid_T, "sowaflep", it, fmass(:,:)    , ndim_hT, ndex_hT )   ! atmos=>ocean water flux 
     
    374373      zw2d(:,:) = emps(:,:) * sn(:,:,1) * tmask(:,:,1) 
    375374      CALL histwrite( nid_T, "sosalflx", it, zw2d          , ndim_hT, ndex_hT )   ! c/d salt flux 
    376       CALL histwrite( nid_T, "sohefldo", it, qt            , ndim_hT, ndex_hT )   ! total heat flux 
     375      CALL histwrite( nid_T, "sohefldo", it, qsr + qns     , ndim_hT, ndex_hT )   ! total heat flux 
    377376      CALL histwrite( nid_T, "soshfldo", it, qsr           , ndim_hT, ndex_hT )   ! solar heat flux 
    378377      CALL histwrite( nid_T, "somxl010", it, hmlp          , ndim_hT, ndex_hT )   ! mixed layer depth 
     
    397396      CALL histwrite( nid_T, "sosafldp", it, zw2d          , ndim_hT, ndex_hT )   ! salt flux damping 
    398397#endif 
    399 #if ( defined key_coupled && ! defined key_lim3 )  
     398#if ( defined key_coupled && ! ( defined key_lim3 || defined key_lim2 ) )  
    400399      CALL histwrite( nid_T, "sohefldp", it, qrp           , ndim_hT, ndex_hT )   ! heat flux damping 
    401400      CALL histwrite( nid_T, "sowafldp", it, erp           , ndim_hT, ndex_hT )   ! freshwater flux damping 
     
    412411      CALL histwrite( nid_T, "sohtc300", it, htc3          , ndim_hT, ndex_hT )   ! first 300m heaat content 
    413412#endif 
    414 #if defined key_lim3 &&  defined key_coupled  
     413#if ( defined key_lim3 || defined key_lim2 ) &&  defined key_coupled  
    415414      CALL histwrite( nid_T, "soicetem", it, tn_ice        , ndim_hT, ndex_hT )   ! surf. ice temperature 
    416415      CALL histwrite( nid_T, "soicealb", it, alb_ice       , ndim_hT, ndex_hT )   ! ice albedo 
     
    418417 
    419418      CALL histwrite( nid_T, "vozocrtx", it, un            , ndim_T , ndex_T )    ! i-current 
    420       CALL histwrite( nid_T, "sozotaux", it, taux          , ndim_hT, ndex_hT )   ! i-wind stress 
     419      CALL histwrite( nid_T, "sozotaux", it, utau          , ndim_hT, ndex_hT )   ! i-wind stress 
    421420      CALL histwrite( nid_T, "vomecrty", it, vn            , ndim_T , ndex_T  )   ! j-current 
    422       CALL histwrite( nid_T, "sometauy", it, tauy          , ndim_hT, ndex_hT )   ! j-wind stress 
     421      CALL histwrite( nid_T, "sometauy", it, vtau          , ndim_hT, ndex_hT )   ! j-wind stress 
    423422#if defined key_zdftke 
    424423      CALL histwrite( nid_T, "votlsdis", it, e_dis         , ndim_T , ndex_T )    ! Diss. Turb. lenght scale 
  • trunk/NEMO/C1D_SRC/icestp1d.F90

    r833 r888  
    66   !! History :   9.0  !  04-10  (C. Ethe)  from icestp, 1D configuration 
    77   !!---------------------------------------------------------------------- 
    8 #if defined key_cfg_1d && defined key_lim3 
     8#if defined key_cfg_1d && ( defined key_lim3 || defined key_lim2 ) 
    99   !!---------------------------------------------------------------------- 
    1010   !!   'key_cfg_1d'  .AND.                                1D Configuration 
    11    !!   'key_lim3'                                     Lim sea-ice model 
     11   !!   'key_lim2' OR 'key_lim3' :             LIM 2.0 or 3.0 sea-ice model 
    1212   !!---------------------------------------------------------------------- 
    1313   !!---------------------------------------------------------------------- 
     
    1818   USE in_out_manager  ! I/O manager 
    1919   USE ice_oce         ! ice variables 
    20    USE flx_oce         ! forcings variables 
    21    USE dom_ice         ! LIM sea-ice domain 
    22    USE cpl_oce         ! coupled ocean-atmosphere variables 
    23    USE blk_oce         ! bulk variables 
     20   USE dom_ice_2       ! LIM sea-ice domain 
     21   USE sbc_oce         ! surface boundary condition: ocean 
     22   USE sbc_ice         ! surface boundary condition: ice 
    2423   USE daymod          ! calendar 
    2524   USE phycst          ! Define parameters for the routines 
    26    USE taumod          ! surface stress forcing 
    27    USE ice             ! ice variables 
     25   USE ice_2           ! ice variables 
    2826   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    29    USE limthd 
    30    USE limflx 
    31    USE limwri 
    32    USE limrst 
    33  
    34    USE ocesbc          ! thermohaline fluxes 
    35    USE flxmod          ! thermohaline forcing 
    36    USE flxrnf          ! runoffs forcing 
     27   USE limthd_2 
     28   USE limwri_2 
     29   USE limrst_2 
     30 
    3731   USE tradmp          ! damping salinity trend 
    3832   USE dtatem          ! ocean temperature data 
     
    5246   !!---------------------------------------------------------------------- 
    5347   !!   LIM 2.0 , UCL-LOCEAN-IPSL (2006)  
    54    !! $Header$  
     48   !! $Id$ 
    5549   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    5650   !!---------------------------------------------------------------------- 
     
    109103         u_io  (:,:) = u_io  (:,:) / FLOAT( nfice ) 
    110104         v_io  (:,:) = v_io  (:,:) / FLOAT( nfice ) 
    111          gtaux (:,:) = taux  (:,:) 
    112          gtauy (:,:) = tauy  (:,:) 
     105         gtaux (:,:) = utau  (:,:) 
     106         gtauy (:,:) = vtau  (:,:) 
    113107 
    114108         zsss_io (:,:) = SQRT( sss_io(:,:) )  
     
    220214      IF( kt == nit000 ) THEN      
    221215         qsr    (:,:) = 0.e0 
    222          qt     (:,:) = 0.e0 
     216         qns    (:,:) = 0.e0 
    223217         qrp    (:,:) = 0.e0 
    224218         emp    (:,:) = 0.e0 
     
    238232      ! ----------------- 
    239233       
    240       qt  (:,:) = fnsolar(:,:) + fsolar(:,:)     ! non solar heat flux + solar flux 
     234      qns (:,:) = fnsolar(:,:)                    ! non solar heat flux 
    241235      qsr (:,:) = fsolar(:,:)                     ! solar flux 
    242236       
     
    261255         DO ji = 1, fs_jpim1   ! vertor opt. 
    262256            ztxy        = freezn(ji,jj)             ! ice/ocean indicator at T-points 
    263             taux(ji,jj) = (1.-ztxy) * taux(ji,jj) + ztxy * ftaux(ji,jj)    ! stress at the ocean surface 
    264             tauy(ji,jj) = (1.-ztxy) * tauy(ji,jj) + ztxy * ftauy(ji,jj) 
    265          END DO 
    266       END DO 
    267        
    268       ! boundary condition on the stress (taux,tauy) 
    269       CALL lbc_lnk( taux, 'U', -1. ) 
    270       CALL lbc_lnk( tauy, 'V', -1. ) 
     257            utau(ji,jj) = (1.-ztxy) * utau(ji,jj) + ztxy * ftaux(ji,jj)    ! stress at the ocean surface 
     258            vtau(ji,jj) = (1.-ztxy) * vtau(ji,jj) + ztxy * ftauy(ji,jj) 
     259         END DO 
     260      END DO 
     261       
     262      ! boundary condition on the stress (utau,vtau) 
     263      CALL lbc_lnk( utau, 'U', -1. ) 
     264      CALL lbc_lnk( vtau, 'V', -1. ) 
    271265       
    272266      ! Re-initialization of fluxes 
  • trunk/NEMO/C1D_SRC/step1d.F90

    r719 r888  
    1515   USE dom_oce         ! ocean space and time domain variables  
    1616   USE zdf_oce         ! ocean vertical physics variables 
     17   USE sbc_oce         ! surface boundary condition: ocean 
    1718   USE ldftra_oce 
    1819   USE ldfdyn_oce 
     
    2425   USE dtatem          ! ocean temperature data           (dta_tem routine) 
    2526   USE dtasal          ! ocean salinity    data           (dta_sal routine) 
    26    USE dtasst          ! ocean sea surface temerature     (dta_sst routine) 
    27    USE taumod          ! surface stress                   (tau     routine) 
    28    USE flxmod          ! thermohaline fluxes              (flx     routine) 
    29    USE ocesbc          ! thermohaline fluxes              (oce_sbc routine) 
    30    USE flxrnf          ! runoffs                          (flx_rnf routine) 
    31    USE flxfwb          ! freshwater budget correction     (flx_fwb routine) 
    3227   USE ocfzpt          ! surface ocean freezing point    (oc_fz_pt routine) 
    3328 
     
    7570   !!---------------------------------------------------------------------- 
    7671   !!   OPA 9.0 , LOCEAN-IPSL (2005)  
    77    !! $Header$  
     72   !! $Id$ 
    7873   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    7974   !!---------------------------------------------------------------------- 
     
    157152         CALL prt_ctl(tab2d_1=emp    , clinfo1=' emp  -   : ', mask1=tmask, ovlap=1) 
    158153         CALL prt_ctl(tab2d_1=emps   , clinfo1=' emps -   : ', mask1=tmask, ovlap=1) 
    159          CALL prt_ctl(tab2d_1=qt     , clinfo1=' qt   -   : ', mask1=tmask, ovlap=1) 
     154         CALL prt_ctl(tab2d_1=qns    , clinfo1=' qns  -   : ', mask1=tmask, ovlap=1) 
    160155         CALL prt_ctl(tab2d_1=qsr    , clinfo1=' qsr  -   : ', mask1=tmask, ovlap=1) 
    161          CALL prt_ctl(tab2d_1=runoff , clinfo1=' runoff   : ', mask1=tmask, ovlap=1) 
    162156         CALL prt_ctl(tab3d_1=tmask  , clinfo1=' tmask    : ', mask1=tmask, ovlap=1, kdim=jpk) 
    163157         CALL prt_ctl(tab3d_1=tn     , clinfo1=' sst  -   : ', mask1=tmask, ovlap=1, kdim=1) 
    164158         CALL prt_ctl(tab3d_1=sn     , clinfo1=' sss  -   : ', mask1=tmask, ovlap=1, kdim=1) 
    165          CALL prt_ctl(tab2d_1=taux   , clinfo1=' tau  - x : ', mask1=umask, & 
    166             &         tab2d_2=tauy   , clinfo2='      - y : ', mask2=vmask, ovlap=1) 
     159         CALL prt_ctl(tab2d_1=utau   , clinfo1=' tau  - u : ', mask1=umask, & 
     160            &         tab2d_2=vtau   , clinfo2='      - v : ', mask2=vmask, ovlap=1) 
    167161      ENDIF 
    168162 
Note: See TracChangeset for help on using the changeset viewer.