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 2004 for branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC – NEMO

Ignore:
Timestamp:
2010-07-09T14:40:45+02:00 (14 years ago)
Author:
acc
Message:

ticket #684 step 8: Add in changes from the trunk between revisions 1879 and the 3.2.1 tag (rev 1986)

Location:
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DIA/diaar5.F90

    r1756 r2004  
    175175      thick0(:,:) = 0.e0 
    176176      DO jk = 1, jpkm1 
    177          vol0        = vol0        + SUM( area (:,:) * tmask(:,:,jk) ) * e3t_0(jk)  
    178          thick0(:,:) = thick0(:,:) +    tmask_i(:,:) * tmask(:,:,jk)   * e3t_0(jk) 
    179       END DO 
     177         vol0        = vol0        + SUM( area (:,:) * tmask(:,:,jk) * fse3t_0(:,:,jk) ) 
     178         thick0(:,:) = thick0(:,:) +    tmask_i(:,:) * tmask(:,:,jk) * fse3t_0(:,:,jk) 
     179      END DO 
     180      IF( lk_mpp )   CALL mpp_sum( vol0 ) 
    180181       
    181182      CALL iom_open ( 'data_1m_salinity_nomask', inum ) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/dom_oce.F90

    r1976 r2004  
    219219#else 
    220220   LOGICAL, PUBLIC, PARAMETER ::   lk_agrif = .FALSE.   !: agrif flag 
     221 
     222CONTAINS 
     223   LOGICAL FUNCTION Agrif_Root() 
     224      Agrif_Root = .TRUE. 
     225   END FUNCTION Agrif_Root 
     226 
     227   CHARACTER(len=3) FUNCTION Agrif_CFixed() 
     228     Agrif_CFixed = '0'  
     229   END FUNCTION Agrif_CFixed 
    221230#endif 
    222231 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/domvvl.F90

    r1694 r2004  
    6262      IF( lk_zco )   CALL ctl_stop( 'dom_vvl : key_zco is incompatible with variable volume option key_vvl') 
    6363 
    64       fsdept(:,:,:) = gdept (:,:,:) 
    65       fsdepw(:,:,:) = gdepw (:,:,:) 
    66       fsde3w(:,:,:) = gdep3w(:,:,:) 
    67       fse3t (:,:,:) = e3t   (:,:,:) 
    68       fse3u (:,:,:) = e3u   (:,:,:) 
    69       fse3v (:,:,:) = e3v   (:,:,:) 
    70       fse3f (:,:,:) = e3f   (:,:,:) 
    71       fse3w (:,:,:) = e3w   (:,:,:) 
    72       fse3uw(:,:,:) = e3uw  (:,:,:) 
    73       fse3vw(:,:,:) = e3vw  (:,:,:) 
     64      IF( ln_zco) THEN 
     65         DO jk = 1, jpk 
     66            gdept(:,:,jk) = gdept_0(jk) 
     67            gdepw(:,:,jk) = gdepw_0(jk) 
     68            gdep3w(:,:,jk) = gdepw_0(jk) 
     69            e3t (:,:,jk) = e3t_0(jk) 
     70            e3u (:,:,jk) = e3t_0(jk) 
     71            e3v (:,:,jk) = e3t_0(jk) 
     72            e3f (:,:,jk) = e3t_0(jk) 
     73            e3w (:,:,jk) = e3w_0(jk) 
     74            e3uw(:,:,jk) = e3w_0(jk) 
     75            e3vw(:,:,jk) = e3w_0(jk) 
     76         END DO 
     77      ELSE 
     78         fsdept(:,:,:) = gdept (:,:,:) 
     79         fsdepw(:,:,:) = gdepw (:,:,:) 
     80         fsde3w(:,:,:) = gdep3w(:,:,:) 
     81         fse3t (:,:,:) = e3t   (:,:,:) 
     82         fse3u (:,:,:) = e3u   (:,:,:) 
     83         fse3v (:,:,:) = e3v   (:,:,:) 
     84         fse3f (:,:,:) = e3f   (:,:,:) 
     85         fse3w (:,:,:) = e3w   (:,:,:) 
     86         fse3uw(:,:,:) = e3uw  (:,:,:) 
     87         fse3vw(:,:,:) = e3vw  (:,:,:) 
     88      ENDIF 
    7489 
    7590      !                                 !==  mu computation  ==! 
     
    139154      CALL lbc_lnk( sshf_b, 'F', 1. )   ;   CALL lbc_lnk( sshf_n, 'F', 1. ) 
    140155      ! 
     156         DO jk = 1, jpkm1 
     157            fsdept(:,:,jk) = fsdept_n(:,:,jk)          ! now local depths stored in fsdep. arrays 
     158            fsdepw(:,:,jk) = fsdepw_n(:,:,jk) 
     159            fsde3w(:,:,jk) = fsde3w_n(:,:,jk) 
     160            ! 
     161            fse3t (:,:,jk) = fse3t_n (:,:,jk)          ! vertical scale factors stored in fse3. arrays 
     162            fse3u (:,:,jk) = fse3u_n (:,:,jk) 
     163            fse3v (:,:,jk) = fse3v_n (:,:,jk) 
     164            fse3f (:,:,jk) = fse3f_n (:,:,jk) 
     165            fse3w (:,:,jk) = fse3w_n (:,:,jk) 
     166            fse3uw(:,:,jk) = fse3uw_n(:,:,jk) 
     167            fse3vw(:,:,jk) = fse3vw_n(:,:,jk) 
     168         END DO 
     169 
     170 
     171 
    141172   END SUBROUTINE dom_vvl 
    142173 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/domwri.F90

    r1590 r2004  
    4545      !!      domhgr, domzgr, and dommsk. Note: the file contain depends on 
    4646      !!      the vertical coord. used (z-coord, partial steps, s-coord) 
    47       !!                    nmsh = 1  :   'mesh_mask.nc' file 
     47      !!            MOD(nmsh, 3) = 1  :   'mesh_mask.nc' file 
    4848      !!                         = 2  :   'mesh.nc' and mask.nc' files 
    49       !!                         = 3  :   'mesh_hgr.nc', 'mesh_zgr.nc' and 
     49      !!                         = 0  :   'mesh_hgr.nc', 'mesh_zgr.nc' and 
    5050      !!                                  'mask.nc' files 
    5151      !!      For huge size domain, use option 2 or 3 depending on your  
    5252      !!      vertical coordinate. 
     53      !! 
     54      !!      if     nmsh <= 3: write full 3D arrays for e3[tuvw] and gdep[tuvw] 
     55      !!      if 3 < nmsh <= 6: write full 3D arrays for e3[tuvw] and 2D arrays  
     56      !!                        corresponding to the depth of the bottom points hdep[tw] 
     57      !!      if 6 < nmsh <= 9: write 2D arrays corresponding to the depth and the 
     58      !!                        thickness of the bottom points hdep[tw] and e3[tw]_ps 
    5359      !! 
    5460      !! ** output file :  
     
    241247      !                                     !        close the files  
    242248      !                                     ! ============================ 
    243       SELECT CASE ( nmsh ) 
     249      SELECT CASE ( MOD(nmsh, 3) ) 
    244250      CASE ( 1 )                 
    245251         CALL iom_close( inum0 ) 
     
    247253         CALL iom_close( inum1 ) 
    248254         CALL iom_close( inum2 ) 
    249       CASE ( 3 ) 
     255      CASE ( 0 ) 
    250256         CALL iom_close( inum2 ) 
    251257         CALL iom_close( inum3 ) 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/phycst.F90

    r1970 r2004  
    44   !!     Definition of of both ocean and ice parameters used in the code 
    55   !!===================================================================== 
    6    !! History :   OPA  !  1990-10  (C. Levy, G. Madec)  Original code 
    7    !!                  !  1991-11  (G. Madec, M. Imbard) 
    8    !!  NEMO       1.0  !  2002-08  (G. Madec, C. Ethe)  F90, add ice constants 
     6   !! History :   OPA  !  1990-10  (C. Levy - G. Madec)  Original code 
     7   !!             8.1  !  1991-11  (G. Madec, M. Imbard)  cosmetic changes 
     8   !!   NEMO      1.0  !  2002-08  (G. Madec, C. Ethe)  F90, add ice constants 
    99   !!              -   !  2006-08  (G. Madec)  style  
     10   !!             3.2  !  2006-08  (S. Masson, G. Madec)  suppress useless variables + style  
    1011   !!---------------------------------------------------------------------- 
    1112 
     
    2324   REAL(wp), PUBLIC ::   rpi = 3.141592653589793_wp             !: pi 
    2425   REAL(wp), PUBLIC ::   rad = 3.141592653589793_wp / 180._wp   !: conversion from degre into radian 
    25    REAL(wp), PUBLIC ::   rsmall = 0.5 * EPSILON( 1. )           !: smallest real computer value 
     26   REAL(wp), PUBLIC ::   rsmall = 0.5 * EPSILON( 1.e0 )         !: smallest real computer value 
    2627    
    27    REAL(wp), PUBLIC ::          & !: 
    28       rday = 24.*60.*60.  ,     & !: day (s) 
    29       rsiyea              ,     & !: sideral year (s) 
    30       rsiday              ,     & !: sideral day (s) 
    31       raamo =  12._wp     ,     & !: number of months in one year 
    32       rjjhh =  24._wp     ,     & !: number of hours in one day 
    33       rhhmm =  60._wp     ,     & !: number of minutes in one hour 
    34       rmmss =  60._wp     ,     & !: number of seconds in one minute 
    35 !!!   omega = 7.292115083046061e-5_wp ,  &  !: change the last digit! 
    36       omega               ,    &  !: earth rotation parameter 
    37       ra    = 6371229._wp ,    &  !: earth radius (meter) 
    38       grav  = 9.80665_wp          !: gravity (m/s2) 
     28   REAL(wp), PUBLIC ::   rday = 24.*60.*60.       !: day (s) 
     29   REAL(wp), PUBLIC ::   rsiyea                   !: sideral year (s) 
     30   REAL(wp), PUBLIC ::   rsiday                   !: sideral day (s) 
     31   REAL(wp), PUBLIC ::   raamo =  12._wp          !: number of months in one year 
     32   REAL(wp), PUBLIC ::   rjjhh =  24._wp          !: number of hours in one day 
     33   REAL(wp), PUBLIC ::   rhhmm =  60._wp          !: number of minutes in one hour 
     34   REAL(wp), PUBLIC ::   rmmss =  60._wp          !: number of seconds in one minute 
     35!! REAL(wp), PUBLIC ::   omega = 7.292115083046061e-5_wp ,  &  !: change the last digit! 
     36   REAL(wp), PUBLIC ::   omega                    !: earth rotation parameter 
     37   REAL(wp), PUBLIC ::   ra    = 6371229._wp      !: earth radius (meter) 
     38   REAL(wp), PUBLIC ::   grav  = 9.80665_wp       !: gravity (m/s2) 
    3939    
    40    REAL(wp), PUBLIC ::         &  !: 
    41       rtt      = 273.16_wp  ,  &  !: triple point of temperature (Kelvin) 
    42       rt0      = 273.15_wp  ,  &  !: freezing point of water (Kelvin) 
     40   REAL(wp), PUBLIC ::   rtt      = 273.16_wp     !: triple point of temperature (Kelvin) 
     41   REAL(wp), PUBLIC ::   rt0      = 273.15_wp     !: freezing point of water (Kelvin) 
    4342#if defined key_lim3 
    44       rt0_snow = 273.16_wp  ,  &  !: melting point of snow  (Kelvin) 
    45       rt0_ice  = 273.16_wp  ,  &  !: melting point of ice   (Kelvin) 
     43   REAL(wp), PUBLIC ::   rt0_snow = 273.16_wp     !: melting point of snow  (Kelvin) 
     44   REAL(wp), PUBLIC ::   rt0_ice  = 273.16_wp     !: melting point of ice   (Kelvin) 
    4645#else 
    47       rt0_snow = 273.15_wp  ,  &  !: melting point of snow  (Kelvin) 
    48       rt0_ice  = 273.05_wp  ,  &  !: melting point of ice   (Kelvin) 
     46   REAL(wp), PUBLIC ::   rt0_snow = 273.15_wp     !: melting point of snow  (Kelvin) 
     47   REAL(wp), PUBLIC ::   rt0_ice  = 273.05_wp     !: melting point of ice   (Kelvin) 
    4948#endif 
    50       rau0     = 1035._wp   ,  &  !: volumic mass of reference (kg/m3) 
    51       rauw     = 1000._wp   ,  &  !: volumic mass of pure water (kg/m3) 
    52       rcp      =    4.e+3_wp,  &  !: ocean specific heat 
    53       ro0cpr                      !: = 1. / ( rau0 * rcp ) 
    5449 
    55    REAL(wp), PUBLIC ::            &  !: 
     50   REAL(wp), PUBLIC ::   rau0     = 1020._wp      !: reference volumic mass (density)  (kg/m3) 
     51   REAL(wp), PUBLIC ::   rau0r                    !: reference specific volume         (m3/kg) 
     52   REAL(wp), PUBLIC ::   rcp      =    4.e+3_wp   !: ocean specific heat 
     53   REAL(wp), PUBLIC ::   ro0cpr                   !: = 1. / ( rau0 * rcp ) 
     54 
    5655#if defined key_lim3 
    57       rcdsn   =   0.31_wp     ,   &  !: thermal conductivity of snow 
    58       rcdic   =   2.034396_wp ,   &  !: thermal conductivity of fresh ice 
    59       cpic    = 2067.0        ,   & 
    60       lsub    = 2.834e+6      ,   &  !: pure ice latent heat of sublimation (J.kg-1) 
    61       lfus    = 0.334e+6      ,   &  !: latent heat of fusion of fresh ice   (J.kg-1) 
    62       rhoic   = 917._wp       ,   &  !: volumic mass of sea ice (kg/m3) 
    63       tmut    =   0.054       ,   &  !: decrease of seawater meltpoint with salinity 
     56   REAL(wp), PUBLIC ::   rcdsn   =   0.31_wp      !: thermal conductivity of snow 
     57   REAL(wp), PUBLIC ::   rcdic   =   2.034396_wp  !: thermal conductivity of fresh ice 
     58   REAL(wp), PUBLIC ::   cpic    = 2067.0         !: specific heat of sea ice 
     59   REAL(wp), PUBLIC ::   lsub    = 2.834e+6       !: pure ice latent heat of sublimation (J.kg-1) 
     60   REAL(wp), PUBLIC ::   lfus    = 0.334e+6       !: latent heat of fusion of fresh ice   (J.kg-1) 
     61   REAL(wp), PUBLIC ::   rhoic   = 917._wp        !: volumic mass of sea ice (kg/m3) 
     62   REAL(wp), PUBLIC ::   tmut    =   0.054        !: decrease of seawater meltpoint with salinity 
    6463#else 
    65       rcdsn   =   0.22_wp     ,   &  !: conductivity of the snow 
    66       rcdic   =   2.034396_wp ,   &  !: conductivity of the ice 
    67       rcpsn   =   6.9069e+5_wp,   &  !: density times specific heat for snow 
    68       rcpic   =   1.8837e+6_wp,   &  !: volumetric latent heat fusion of sea ice 
    69       lfus    = 0.3337e+6     ,   &  !: latent heat of fusion of fresh ice   (J.kg-1) 
    70       xlsn    = 110.121e+6_wp ,   &  !: = lfus * rhosn, volumetric latent heat fusion of snow 
    71       xlic    = 300.33e+6_wp  ,   &  !: = lfus * rhosn, volumetric latent heat fusion of ice 
    72       xsn     =   2.8e+6      ,   &  !: latent heat of sublimation of snow 
    73       rhoic   = 900._wp       ,   &  !: volumic mass of sea ice (kg/m3) 
     64   REAL(wp), PUBLIC ::   rcdsn   =   0.22_wp      !: conductivity of the snow 
     65   REAL(wp), PUBLIC ::   rcdic   =   2.034396_wp  !: conductivity of the ice 
     66   REAL(wp), PUBLIC ::   rcpsn   =   6.9069e+5_wp !: density times specific heat for snow 
     67   REAL(wp), PUBLIC ::   rcpic   =   1.8837e+6_wp !: volumetric latent heat fusion of sea ice 
     68   REAL(wp), PUBLIC ::   xlsn    = 110.121e+6_wp  !: volumetric latent heat fusion of snow 
     69   REAL(wp), PUBLIC ::   xlic    = 300.33e+6_wp   !: volumetric latent heat fusion of ice 
     70   REAL(wp), PUBLIC ::   xsn     =   2.8e+6       !: latent heat of sublimation of snow 
     71   REAL(wp), PUBLIC ::   rhoic   = 900._wp        !: volumic mass of sea ice (kg/m3) 
    7472#endif 
    75       rhosn   = 330._wp       ,   &  !: volumic mass of snow (kg/m3) 
    76       emic    =   0.97_wp     ,   &  !: emissivity of snow or ice 
    77       sice    =   6.0_wp      ,   &  !: salinity of ice (psu) 
    78       soce    =  34.7_wp      ,   &  !: salinity of sea (psu) 
    79       cevap   =   2.5e+6_wp   ,   &  !: latent heat of evaporation (water) 
    80       srgamma =   0.9_wp      ,   &  !: correction factor for solar radiation (Oberhuber, 1974) 
    81       vkarmn  =   0.4_wp      ,   &  !: von Karman constant 
    82       stefan  =   5.67e-8_wp         !: Stefan-Boltzmann constant  
    83       !!---------------------------------------------------------------------- 
    84       !! NEMO/OPA 3.2 , LOCEAN-IPSL (2010)  
    85       !! $Id$  
    86       !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    87       !!---------------------------------------------------------------------- 
     73   REAL(wp), PUBLIC ::   rhosn   = 330._wp        !: volumic mass of snow (kg/m3) 
     74   REAL(wp), PUBLIC ::   emic    =   0.97_wp      !: emissivity of snow or ice 
     75   REAL(wp), PUBLIC ::   sice    =   6.0_wp       !: reference salinity of ice (psu) 
     76   REAL(wp), PUBLIC ::   soce    =  34.7_wp       !: reference salinity of sea (psu) 
     77   REAL(wp), PUBLIC ::   cevap   =   2.5e+6_wp    !: latent heat of evaporation (water) 
     78   REAL(wp), PUBLIC ::   srgamma =   0.9_wp       !: correction factor for solar radiation (Oberhuber, 1974) 
     79   REAL(wp), PUBLIC ::   vkarmn  =   0.4_wp       !: von Karman constant 
     80   REAL(wp), PUBLIC ::   stefan  =   5.67e-8_wp   !: Stefan-Boltzmann constant  
     81   !!---------------------------------------------------------------------- 
     82   !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009)  
     83   !! $Id$  
     84   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     85   !!---------------------------------------------------------------------- 
    8886    
    8987CONTAINS 
     
    9896      !!---------------------------------------------------------------------- 
    9997 
    100       IF(lwp) WRITE(numout,*) 
    101       IF(lwp) WRITE(numout,*) ' phy_cst : initialization of ocean parameters and constants' 
    102       IF(lwp) WRITE(numout,*) ' ~~~~~~~' 
     98      !                                   ! Define additional parameters 
     99      rsiyea = 365.25 * rday * 2. * rpi / 6.283076 
     100      rsiday = rday / ( 1. + rday / rsiyea ) 
     101      omega  = 2. * rpi / rsiday  
    103102 
    104       ! Ocean Parameters 
    105       ! ---------------- 
    106       IF(lwp) THEN 
     103      rau0r  = 1. /   rau0   
     104      ro0cpr = 1. / ( rau0 * rcp ) 
     105 
     106 
     107      IF(lwp) THEN                        ! control print 
     108         WRITE(numout,*) 
     109         WRITE(numout,*) ' phy_cst : initialization of ocean parameters and constants' 
     110         WRITE(numout,*) ' ~~~~~~~' 
    107111         WRITE(numout,*) '       Domain info' 
    108112         WRITE(numout,*) '          dimension of model' 
     
    117121         WRITE(numout,*) '             jpnij   : ', jpnij 
    118122         WRITE(numout,*) '          lateral domain boundary condition type : jperio  = ', jperio 
    119       ENDIF 
    120  
    121       ! Define constants 
    122       ! ---------------- 
    123       IF(lwp) WRITE(numout,*) 
    124       IF(lwp) WRITE(numout,*) '       Constants' 
    125  
    126       IF(lwp) WRITE(numout,*) 
    127       IF(lwp) WRITE(numout,*) '          mathematical constant                 rpi = ', rpi 
    128  
    129       rsiyea = 365.25 * rday * 2. * rpi / 6.283076 
    130       rsiday = rday / ( 1. + rday / rsiyea ) 
    131       omega  = 2. * rpi / rsiday  
    132       IF(lwp) WRITE(numout,*) 
    133       IF(lwp) WRITE(numout,*) '          day                                rday   = ', rday,   ' s' 
    134       IF(lwp) WRITE(numout,*) '          sideral year                       rsiyea = ', rsiyea, ' s' 
    135       IF(lwp) WRITE(numout,*) '          sideral day                        rsiday = ', rsiday, ' s' 
    136       IF(lwp) WRITE(numout,*) '          omega                              omega  = ', omega,  ' s-1' 
    137  
    138       IF(lwp) WRITE(numout,*) 
    139       IF(lwp) WRITE(numout,*) '          nb of months per year               raamo = ', raamo, ' months' 
    140       IF(lwp) WRITE(numout,*) '          nb of hours per day                 rjjhh = ', rjjhh, ' hours' 
    141       IF(lwp) WRITE(numout,*) '          nb of minutes per hour              rhhmm = ', rhhmm, ' mn' 
    142       IF(lwp) WRITE(numout,*) '          nb of seconds per minute            rmmss = ', rmmss, ' s' 
    143  
    144       IF(lwp) WRITE(numout,*) 
    145       IF(lwp) WRITE(numout,*) '          earth radius                         ra   = ', ra, ' m' 
    146       IF(lwp) WRITE(numout,*) '          gravity                              grav = ', grav , ' m/s^2' 
    147  
    148       IF(lwp) WRITE(numout,*) 
    149       IF(lwp) WRITE(numout,*) '          triple point of temperature      rtt      = ', rtt     , ' K' 
    150       IF(lwp) WRITE(numout,*) '          freezing point of water          rt0      = ', rt0     , ' K' 
    151       IF(lwp) WRITE(numout,*) '          melting point of snow            rt0_snow = ', rt0_snow, ' K' 
    152       IF(lwp) WRITE(numout,*) '          melting point of ice             rt0_ice  = ', rt0_ice , ' K' 
    153  
    154       ro0cpr = 1. / ( rau0 * rcp ) 
    155       IF(lwp) WRITE(numout,*) 
    156       IF(lwp) WRITE(numout,*) '          volumic mass of pure water         rauw   = ', rauw, ' kg/m^3' 
    157       IF(lwp) WRITE(numout,*) '          volumic mass of reference          rau0   = ', rau0, ' kg/m^3' 
    158       IF(lwp) WRITE(numout,*) '          ocean specific heat                rcp    = ', rcp 
    159       IF(lwp) WRITE(numout,*) '                       1. / ( rau0 * rcp ) = ro0cpr = ', ro0cpr 
    160  
    161 #if defined key_lim3 
    162       xlsn = lfus * rhosn        ! volumetric latent heat fusion of snow [J/m3] 
    163 #else 
    164       lfus = xlsn / rhosn        ! latent heat of fusion of fresh ice 
    165 #endif 
    166  
    167       IF(lwp) THEN 
     123         WRITE(numout,*) 
     124         WRITE(numout,*) '       Constants' 
     125         WRITE(numout,*) 
     126         WRITE(numout,*) '          mathematical constant                 rpi = ', rpi 
     127         WRITE(numout,*) '          day                                rday   = ', rday,   ' s' 
     128         WRITE(numout,*) '          sideral year                       rsiyea = ', rsiyea, ' s' 
     129         WRITE(numout,*) '          sideral day                        rsiday = ', rsiday, ' s' 
     130         WRITE(numout,*) '          omega                              omega  = ', omega,  ' s-1' 
     131         WRITE(numout,*) 
     132         WRITE(numout,*) '          nb of months per year               raamo = ', raamo, ' months' 
     133         WRITE(numout,*) '          nb of hours per day                 rjjhh = ', rjjhh, ' hours' 
     134         WRITE(numout,*) '          nb of minutes per hour              rhhmm = ', rhhmm, ' mn' 
     135         WRITE(numout,*) '          nb of seconds per minute            rmmss = ', rmmss, ' s' 
     136         WRITE(numout,*) 
     137         WRITE(numout,*) '          earth radius                         ra   = ', ra, ' m' 
     138         WRITE(numout,*) '          gravity                              grav = ', grav , ' m/s^2' 
     139         WRITE(numout,*) 
     140         WRITE(numout,*) '          triple point of temperature      rtt      = ', rtt     , ' K' 
     141         WRITE(numout,*) '          freezing point of water          rt0      = ', rt0     , ' K' 
     142         WRITE(numout,*) '          melting point of snow            rt0_snow = ', rt0_snow, ' K' 
     143         WRITE(numout,*) '          melting point of ice             rt0_ice  = ', rt0_ice , ' K' 
     144         WRITE(numout,*) 
     145         WRITE(numout,*) '          ocean reference volumic mass       rau0   = ', rau0 , ' kg/m^3' 
     146         WRITE(numout,*) '          ocean reference specific volume    rau0r  = ', rau0r, ' m^3/Kg' 
     147         WRITE(numout,*) '          ocean specific heat                rcp    = ', rcp 
     148         WRITE(numout,*) '                       1. / ( rau0 * rcp ) = ro0cpr = ', ro0cpr 
    168149         WRITE(numout,*) 
    169150         WRITE(numout,*) '          thermal conductivity of the snow          = ', rcdsn   , ' J/s/m/K' 
     
    189170         WRITE(numout,*) '          von Karman constant                       = ', vkarmn  
    190171         WRITE(numout,*) '          Stefan-Boltzmann constant                 = ', stefan  , ' J/s/m^2/K^4' 
    191  
    192172         WRITE(numout,*) 
    193173         WRITE(numout,*) '          conversion: degre ==> radian          rad = ', rad 
    194  
    195174         WRITE(numout,*) 
    196175         WRITE(numout,*) '          smallest real computer value       rsmall = ', rsmall 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obcfla.F90

    r1152 r2004  
    8282 
    8383      DO ji = nie0, nie1 
    84          DO jk = 1, jpkm1 
    85             DO jj = 1, jpj 
    86                ua_e(ji,jj) = (  ubtfoe(jj) + sqrt( grav*hu(ji,jj) )           & 
    87                   &            * ( ( sshn_e(ji,jj) + sshn_e(ji+1,jj) ) * 0.5  & 
    88                   &            - sshfoe(jj) )  ) * uemsk(jj,jk) 
    89             END DO 
     84         DO jj = 1, jpj 
     85            ua_e(ji,jj) = (  ubtfoe(jj) * hur(ji,jj) + sqrt( grav*hur(ji,jj) )   & 
     86               &            * ( ( sshn_e(ji,jj) + sshn_e(ji+1,jj) ) * 0.5        & 
     87               &            - sshfoe(jj) )  ) * uemsk(jj,jk) 
    9088         END DO 
    9189      END DO 
     
    9795            ssha_e(ji,jj) = ssha_e(ji,jj) * ( 1. - temsk(jj,1) ) & 
    9896               &            + temsk(jj,1) * sshfoe(jj) 
    99             va_e(ji,jj) = vbtfoe(jj) * uemsk(jj,jk) 
     97            va_e(ji,jj) = vbtfoe(jj) * hvr(ji,jj) * uemsk(jj,jk) 
    10098         END DO 
    10199      END DO 
     
    120118 
    121119      DO ji = niw0, niw1 
    122          DO jk = 1, jpkm1 
    123             DO jj = 1, jpj 
    124                ua_e(ji,jj) = ( ubtfow(jj) - sqrt( grav * hu(ji,jj) )          & 
    125                   &            * ( ( sshn_e(ji,jj) + sshn_e(ji+1,jj) ) * 0.5  & 
    126                   &                - sshfow(jj) ) ) * uwmsk(jj,jk) 
    127                va_e(ji,jj) = vbtfow(jj) * uwmsk(jj,jk) 
    128             END DO 
     120         DO jj = 1, jpj 
     121            ua_e(ji,jj) = ( ubtfow(jj) * hur(ji,jj) - sqrt( grav * hur(ji,jj) )   & 
     122               &            * ( ( sshn_e(ji,jj) + sshn_e(ji+1,jj) ) * 0.5         & 
     123               &                - sshfow(jj) ) ) * uwmsk(jj,jk) 
     124            va_e(ji,jj) = vbtfow(jj) * hvr(ji,jj) * uwmsk(jj,jk) 
    129125         END DO 
    130126         DO jj = 1, jpj 
     
    155151 
    156152      DO jj = njn0, njn1 
    157          DO jk = 1, jpkm1 
    158             DO ji = 1, jpi 
    159                va_e(ji,jj) = ( vbtfon(ji) + sqrt( grav * hv(ji,jj) )           & 
    160                   &            * ( ( sshn_e(ji,jj) + sshn_e(ji,jj+1) ) * 0.5   & 
    161                   &                - sshfon(ji) ) ) * vnmsk(ji,jk) 
    162             END DO 
     153         DO ji = 1, jpi 
     154            va_e(ji,jj) = ( vbtfon(ji) * hvr(ji,jj) + sqrt( grav * hvr(ji,jj) )   & 
     155               &            * ( ( sshn_e(ji,jj) + sshn_e(ji,jj+1) ) * 0.5         & 
     156               &                - sshfon(ji) ) ) * vnmsk(ji,jk) 
    163157         END DO 
    164158      END DO 
     
    170164            ssha_e(ji,jj) = ssha_e(ji,jj) * ( 1. - tnmsk(ji,1) ) & 
    171165               &            + sshfon(ji) * tnmsk(ji,1) 
    172             ua_e(ji,jj) = ubtfon(ji) * vnmsk(ji,jk) 
     166            ua_e(ji,jj) = ubtfon(ji) * hur(ji,jj) * vnmsk(ji,jk) 
    173167         END DO 
    174168      END DO 
     
    193187 
    194188      DO jj = njs0, njs1 
    195          DO jk = 1, jpkm1 
    196             DO ji = 1, jpi 
    197                va_e(ji,jj) = ( vbtfos(ji) - sqrt( grav * hv(ji,jj) )            & 
    198                   &            * ( ( sshn_e(ji,jj) + sshn_e(ji,jj+1) ) * 0.5    & 
    199                   &                - sshfos(ji) ) ) * vsmsk(ji,jk) 
    200                ua_e(ji,jj) = ubtfos(ji) * vsmsk(ji,jk) 
    201             END DO 
     189         DO ji = 1, jpi 
     190            va_e(ji,jj) = ( vbtfos(ji) * hvr(ji,jj) - sqrt( grav * hvr(ji,jj) )   & 
     191               &            * ( ( sshn_e(ji,jj) + sshn_e(ji,jj+1) ) * 0.5         & 
     192               &                - sshfos(ji) ) ) * vsmsk(ji,jk) 
     193            ua_e(ji,jj) = ubtfos(ji) * hur(ji,jj) * vsmsk(ji,jk) 
    202194         END DO 
    203195         DO ji = 1, jpi 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/fldread.F90

    r1970 r2004  
    838838            WRITE(aname,'(a3,i2.2)') 'src',jn 
    839839            data_tmp(:,:) = 0 
    840             CALL iom_get ( inum, jpdom_unknown, aname, data_tmp(1:nlci,1:nlcj), & 
    841                            kstart=(/nimpp,njmpp/), kcount=(/nlci,nlcj/) ) 
     840            CALL iom_get ( inum, jpdom_data, aname, data_tmp(:,:) ) 
    842841            data_src(:,:) = INT(data_tmp(:,:)) 
    843842            ref_wgts(nxt_wgt)%data_jpj(:,:,jn) = 1 + (data_src(:,:)-1) / ref_wgts(nxt_wgt)%ddims(1) 
     
    848847            aname = ' ' 
    849848            WRITE(aname,'(a3,i2.2)') 'wgt',jn 
    850             ref_wgts(nxt_wgt)%data_wgt(1:nlci,1:nlcj,jn) = 0.0 
    851             CALL iom_get ( inum, jpdom_unknown, aname, ref_wgts(nxt_wgt)%data_wgt(1:nlci,1:nlcj,jn), & 
    852                            kstart=(/nimpp,njmpp/), kcount=(/nlci,nlcj/) ) 
     849            ref_wgts(nxt_wgt)%data_wgt(:,:,jn) = 0.0 
     850            CALL iom_get ( inum, jpdom_data, aname, ref_wgts(nxt_wgt)%data_wgt(:,:,jn) ) 
    853851         END DO 
    854852         CALL iom_close (inum) 
    855853  
    856854         ! find min and max indices in grid 
    857          ref_wgts(nxt_wgt)%botleft(1) = MINVAL(ref_wgts(nxt_wgt)%data_jpi(1:nlci,1:nlcj,:)) 
    858          ref_wgts(nxt_wgt)%botleft(2) = MINVAL(ref_wgts(nxt_wgt)%data_jpj(1:nlci,1:nlcj,:)) 
    859          ref_wgts(nxt_wgt)%topright(1) = MAXVAL(ref_wgts(nxt_wgt)%data_jpi(1:nlci,1:nlcj,:)) 
    860          ref_wgts(nxt_wgt)%topright(2) = MAXVAL(ref_wgts(nxt_wgt)%data_jpj(1:nlci,1:nlcj,:)) 
     855         ref_wgts(nxt_wgt)%botleft(1) = MINVAL(ref_wgts(nxt_wgt)%data_jpi(:,:,:)) 
     856         ref_wgts(nxt_wgt)%botleft(2) = MINVAL(ref_wgts(nxt_wgt)%data_jpj(:,:,:)) 
     857         ref_wgts(nxt_wgt)%topright(1) = MAXVAL(ref_wgts(nxt_wgt)%data_jpi(:,:,:)) 
     858         ref_wgts(nxt_wgt)%topright(2) = MAXVAL(ref_wgts(nxt_wgt)%data_jpj(:,:,:)) 
    861859 
    862860         ! and therefore dimensions of the input box 
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/TRA/trasbc.F90

    r2000 r2004  
    139139               zta =  ro0cpr * qns(ji,jj) * zse3t &                  ! temperature : heat flux  
    140140                &    - emp(ji,jj) * zsrau * tn(ji,jj,1) * zse3t      ! & cooling/heating effet of EMP flux  
    141                zsa = 0.e0                                            ! No salinity concent./dilut. effect 
     141               zsa = ( emps(ji,jj) - emp(ji,jj) ) & 
     142                &                 * zsrau * sn(ji,jj,1)  * zse3t     ! concent./dilut. effect due to sea-ice  
     143                                                                     ! melt/formation and (possibly) SSS restoration 
    142144            ELSE 
    143145               zta =  ro0cpr * qns(ji,jj) * zse3t                    ! temperature : heat flux  
  • branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/lib_mpp.F90

    r1976 r2004  
    117117   !! ========================= !! 
    118118!$AGRIF_DO_NOT_TREAT 
    119 #  include <mpif.h> 
     119   INCLUDE 'mpif.h' 
    120120!$AGRIF_END_DO_NOT_TREAT 
    121121    
Note: See TracChangeset for help on using the changeset viewer.