Changeset 2004 for branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC
- Timestamp:
- 2010-07-09T14:40:45+02:00 (14 years ago)
- 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 175 175 thick0(:,:) = 0.e0 176 176 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 ) 180 181 181 182 CALL iom_open ( 'data_1m_salinity_nomask', inum ) -
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/dom_oce.F90
r1976 r2004 219 219 #else 220 220 LOGICAL, PUBLIC, PARAMETER :: lk_agrif = .FALSE. !: agrif flag 221 222 CONTAINS 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 221 230 #endif 222 231 -
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/domvvl.F90
r1694 r2004 62 62 IF( lk_zco ) CALL ctl_stop( 'dom_vvl : key_zco is incompatible with variable volume option key_vvl') 63 63 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 74 89 75 90 ! !== mu computation ==! … … 139 154 CALL lbc_lnk( sshf_b, 'F', 1. ) ; CALL lbc_lnk( sshf_n, 'F', 1. ) 140 155 ! 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 141 172 END SUBROUTINE dom_vvl 142 173 -
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/domwri.F90
r1590 r2004 45 45 !! domhgr, domzgr, and dommsk. Note: the file contain depends on 46 46 !! the vertical coord. used (z-coord, partial steps, s-coord) 47 !! nmsh= 1 : 'mesh_mask.nc' file47 !! MOD(nmsh, 3) = 1 : 'mesh_mask.nc' file 48 48 !! = 2 : 'mesh.nc' and mask.nc' files 49 !! = 3: 'mesh_hgr.nc', 'mesh_zgr.nc' and49 !! = 0 : 'mesh_hgr.nc', 'mesh_zgr.nc' and 50 50 !! 'mask.nc' files 51 51 !! For huge size domain, use option 2 or 3 depending on your 52 52 !! 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 53 59 !! 54 60 !! ** output file : … … 241 247 ! ! close the files 242 248 ! ! ============================ 243 SELECT CASE ( nmsh)249 SELECT CASE ( MOD(nmsh, 3) ) 244 250 CASE ( 1 ) 245 251 CALL iom_close( inum0 ) … … 247 253 CALL iom_close( inum1 ) 248 254 CALL iom_close( inum2 ) 249 CASE ( 3)255 CASE ( 0 ) 250 256 CALL iom_close( inum2 ) 251 257 CALL iom_close( inum3 ) -
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/DOM/phycst.F90
r1970 r2004 4 4 !! Definition of of both ocean and ice parameters used in the code 5 5 !!===================================================================== 6 !! History : OPA ! 1990-10 (C. Levy ,G. Madec) Original code7 !! ! 1991-11 (G. Madec, M. Imbard)8 !! NEMO1.0 ! 2002-08 (G. Madec, C. Ethe) F90, add ice constants6 !! 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 9 9 !! - ! 2006-08 (G. Madec) style 10 !! 3.2 ! 2006-08 (S. Masson, G. Madec) suppress useless variables + style 10 11 !!---------------------------------------------------------------------- 11 12 … … 23 24 REAL(wp), PUBLIC :: rpi = 3.141592653589793_wp !: pi 24 25 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 value26 REAL(wp), PUBLIC :: rsmall = 0.5 * EPSILON( 1.e0 ) !: smallest real computer value 26 27 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) 39 39 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) 43 42 #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) 46 45 #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) 49 48 #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 heat53 ro0cpr !: = 1. / ( rau0 * rcp )54 49 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 56 55 #if defined key_lim3 57 rcdsn = 0.31_wp , &!: thermal conductivity of snow58 rcdic = 2.034396_wp , &!: thermal conductivity of fresh ice59 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 salinity56 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 64 63 #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) 74 72 #endif 75 rhosn = 330._wp , &!: volumic mass of snow (kg/m3)76 emic = 0.97_wp , &!: emissivity of snow or ice77 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 constant82 stefan = 5.67e-8_wp!: Stefan-Boltzmann constant83 84 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2010)85 86 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 !!---------------------------------------------------------------------- 88 86 89 87 CONTAINS … … 98 96 !!---------------------------------------------------------------------- 99 97 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 103 102 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,*) ' ~~~~~~~' 107 111 WRITE(numout,*) ' Domain info' 108 112 WRITE(numout,*) ' dimension of model' … … 117 121 WRITE(numout,*) ' jpnij : ', jpnij 118 122 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 168 149 WRITE(numout,*) 169 150 WRITE(numout,*) ' thermal conductivity of the snow = ', rcdsn , ' J/s/m/K' … … 189 170 WRITE(numout,*) ' von Karman constant = ', vkarmn 190 171 WRITE(numout,*) ' Stefan-Boltzmann constant = ', stefan , ' J/s/m^2/K^4' 191 192 172 WRITE(numout,*) 193 173 WRITE(numout,*) ' conversion: degre ==> radian rad = ', rad 194 195 174 WRITE(numout,*) 196 175 WRITE(numout,*) ' smallest real computer value rsmall = ', rsmall -
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/OBC/obcfla.F90
r1152 r2004 82 82 83 83 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) 90 88 END DO 91 89 END DO … … 97 95 ssha_e(ji,jj) = ssha_e(ji,jj) * ( 1. - temsk(jj,1) ) & 98 96 & + 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) 100 98 END DO 101 99 END DO … … 120 118 121 119 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) 129 125 END DO 130 126 DO jj = 1, jpj … … 155 151 156 152 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) 163 157 END DO 164 158 END DO … … 170 164 ssha_e(ji,jj) = ssha_e(ji,jj) * ( 1. - tnmsk(ji,1) ) & 171 165 & + 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) 173 167 END DO 174 168 END DO … … 193 187 194 188 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) 202 194 END DO 203 195 DO ji = 1, jpi -
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/SBC/fldread.F90
r1970 r2004 838 838 WRITE(aname,'(a3,i2.2)') 'src',jn 839 839 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(:,:) ) 842 841 data_src(:,:) = INT(data_tmp(:,:)) 843 842 ref_wgts(nxt_wgt)%data_jpj(:,:,jn) = 1 + (data_src(:,:)-1) / ref_wgts(nxt_wgt)%ddims(1) … … 848 847 aname = ' ' 849 848 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) ) 853 851 END DO 854 852 CALL iom_close (inum) 855 853 856 854 ! 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(:,:,:)) 861 859 862 860 ! and therefore dimensions of the input box -
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/TRA/trasbc.F90
r2000 r2004 139 139 zta = ro0cpr * qns(ji,jj) * zse3t & ! temperature : heat flux 140 140 & - 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 142 144 ELSE 143 145 zta = ro0cpr * qns(ji,jj) * zse3t ! temperature : heat flux -
branches/DEV_r1784_mid_year_merge_2010/NEMO/OPA_SRC/lib_mpp.F90
r1976 r2004 117 117 !! ========================= !! 118 118 !$AGRIF_DO_NOT_TREAT 119 # include <mpif.h> 119 INCLUDE 'mpif.h' 120 120 !$AGRIF_END_DO_NOT_TREAT 121 121
Note: See TracChangeset
for help on using the changeset viewer.