Changeset 2990 for branches/2011
- Timestamp:
- 2011-10-25T15:39:07+02:00 (13 years ago)
- Location:
- branches/2011/dev_r2855_INGV2_3_blk_wave
- Files:
-
- 3 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_r2855_INGV2_3_blk_wave/DOC/TexFiles/Biblio/Biblio.bib
r2541 r2990 355 355 } 356 356 357 @ARTICLE{Bignami_al_JGR95, 358 author = {F. Bignami and S. Marullo and R. Santoleri and M. E. Schiano}, 359 title = {Longwave radiation budget in the Mediterranean Sea}, 360 journal = JGR, 361 year = {1995}, 362 volume = {100}, number = {C2}, 363 pages = {2501--2514}, 364 doi = {10.1029/94JC02496}, 365 } 366 357 367 @ARTICLE{Blanke_al_JPO99, 358 368 author = {B. Blanke and M. Arhan and G. Madec and S. Roche}, … … 590 600 doi = {10.1029/2002GL016473}, 591 601 url = {http://dx.doi.org/10.1029/2002GL016473} 602 } 603 604 @ARTICLE{Castellari_al_JMS1998, 605 author = {S> Castellari and N. Pinardi and K. Leaman }, 606 title = {A model study of air-sea interactions in the Mediterranean Sea.}, 607 journal = JMS, 608 year = {1998}, 609 volume = {18}, 610 pages = {89--114} 592 611 } 593 612 … … 1247 1266 } 1248 1267 1268 @ARTICLE{Hellerman_Rosenstein_JPO83, 1269 author = {S. Hellerman and M. Rosenstein }, 1270 title = {Normal monthly wind stress over the world ocean with error estimates}, 1271 journal = JPO, 1272 year = {1983}, 1273 volume = {13}, 1274 pages = {1093--1104}, 1275 } 1276 1249 1277 @ARTICLE{He_Ding_JSC01, 1250 1278 author = {Y. He and C. H. Q. Ding}, … … 1511 1539 volume = {6}, 1512 1540 pages = {56--58} 1541 } 1542 @ARTICLE{Kondo1975, 1543 author = {J. Kondo}, 1544 title = {Air-sea bulk transfer coefficients in diabatic conditions}, 1545 journal = {Boundary-Layer Meteorol}, 1546 year = {1975}, 1547 volume = {9}, 1548 pages = {91--112} 1549 } 1550 1551 @ARTICLE{Lermusiaux2001, 1552 author = {P. F. J. Lermusiaux}, 1553 title = {Evolving the subspace of three-dimensional miltiscale ocean variability: Massachusetts Bay}, 1554 journal = JMS, 1555 year = {2001}, 1556 volume = {29}, 1557 pages = {385--422} 1513 1558 } 1514 1559 … … 1906 1951 volume = {125}, number = {5}, 1907 1952 pages = {958--971} 1953 } 1954 1955 @ARTICLE{Maggiore_al_PCE98, 1956 author = {A. Maggiore and M. Zavatarelli and M. G. Angelucci and N. Pinardi}, 1957 title = {Surface heat and water fluxes in the Adriatic Sea: seasonal and interannual variability}, 1958 journal = {Phys Chem Earth}, 1959 year = {1998}, 1960 volume = {23}, 1961 pages = {561--567} 1908 1962 } 1909 1963 … … 2115 2169 } 2116 2170 2171 @ARTICLE{Oddo_al_OS09, 2172 author = {P. Oddo and M. Adani and N. Pinardi and C. Fratianni and M. Tonani and D. Pettenuzzo}, 2173 title = {A nested Atlantic-Mediterranean Sea general circulation model for operational forecasting}, 2174 journal = OS, 2175 year = {2009}, 2176 volume = {5}, 2177 pages = {1--13}, 2178 } 2179 2117 2180 @PHDTHESIS{Olivier_PhD01, 2118 2181 author = {F. Olivier}, … … 2170 2233 } 2171 2234 2235 @ARTICLE{Payne_JAS72, 2236 author = {R. E. Payne}, 2237 title = {Albedo of the Sea Surface}, 2238 journal = JAS, 2239 year = {1972}, 2240 volume = {29} 2241 pages = {959--970} 2242 } 2243 2172 2244 @ARTICLE{Penduff_al_OM06, 2173 2245 author = {T. Penduff and B. Barnier and J.-M. Molines and G. Madec}, … … 2234 2306 volume = {13}, 2235 2307 pages = {1154--1158} 2308 } 2309 2310 @ARTICLE{Reed_JPO77, 2311 author = {R. K. Reed}, 2312 title = {On estimating insolation over the ocean}, 2313 journal = JPO, 2314 year = {1977}, 2315 volume = {1}, 2316 pages = {874--971} 2236 2317 } 2237 2318 … … 2502 2583 volume = {8}, 2503 2584 pages = {175--201} 2585 } 2586 2587 @ARTICLE{Tonani_al_OS08, 2588 author = {M. Tonani and N. Pinardi and S. Dobricic and I. Pujol and C. Fratianni}, 2589 title = {A high-resolution free-surface model of the Mediterranean Sea}, 2590 journal = OS, 2591 year = {2008}, 2592 volume = {4}, 2593 pages = {1--14} 2504 2594 } 2505 2595 -
branches/2011/dev_r2855_INGV2_3_blk_wave/DOC/TexFiles/Chapters/Chap_SBC.tex
r2541 r2990 24 24 \end{itemize} 25 25 26 F ourdifferent ways to provide the first six fields to the ocean are available which26 Five different ways to provide the first six fields to the ocean are available which 27 27 are controlled by namelist variables: an analytical formulation (\np{ln\_ana}~=~true), 28 28 a flux formulation (\np{ln\_flx}~=~true), a bulk formulae formulation (CORE 29 (\np{ln\_core}~=~true) or CLIO (\np{ln\_clio}~=~true) bulk formulae) and a coupled 29 (\np{ln\_core}~=~true), CLIO (\np{ln\_clio}~=~true) or MFS 30 \footnote { Note that MFS bulk formulae compute fluxes only for the ocean component} 31 (\np{ln\_ecmwf}~=~true) bulk formulae) and a coupled 30 32 formulation (exchanges with a atmospheric model via the OASIS coupler) 31 33 (\np{ln\_cpl}~=~true). When used, the atmospheric pressure forces both 32 ocean and ice dynamics (\np{ln\_apr\_dyn}~=~true) 33 \footnote{The surface pressure field could be use in bulk formulae, nevertheless 34 none of the current bulk formulea (CLIO and CORE) uses the it.}. 34 ocean and ice dynamics (\np{ln\_apr\_dyn}~=~true). 35 35 The frequency at which the six or seven fields have to be updated is the \np{nn\_fsbc} 36 36 namelist parameter. … … 46 46 (\np{nn\_ice}~=~0,1, 2 or 3); the addition of river runoffs as surface freshwater 47 47 fluxes or lateral inflow (\np{ln\_rnf}~=~true); the addition of a freshwater flux adjustment 48 in order to avoid a mean sea-level drift (\np{nn\_fwb}~=~0,~1~or~2); andthe48 in order to avoid a mean sea-level drift (\np{nn\_fwb}~=~0,~1~or~2); the 49 49 transformation of the solar radiation (if provided as daily mean) into a diurnal 50 cycle (\np{ln\_dm2dc}~=~true). 50 cycle (\np{ln\_dm2dc}~=~true); and a neutral drag coefficient can be read from an external wave 51 model(\np{ln\_cdgw}~=~true). The latter option is possible only in case core or ecmwf bulk formulas are selected. 51 52 52 53 In this chapter, we first discuss where the surface boundary condition appears in the 53 model equations. Then we present the f ourways of providing the surface boundary condition,54 model equations. Then we present the five ways of providing the surface boundary condition, 54 55 followed by the description of the atmospheric pressure and the river runoff. 55 56 Next the scheme for interpolation on the fly is described. … … 480 481 % Bulk formulation 481 482 % ================================================================ 482 \section [Bulk formulation (\textit{sbcblk\_core} or \textit{sbcblk\_clio}) ]483 {Bulk formulation \small{(\mdl{sbcblk\_core} or \mdl{sbcblk\_clio} module)} }483 \section [Bulk formulation (\textit{sbcblk\_core}, \textit{sbcblk\_clio} or \textit{sbcblk\_ecmwf}) ] 484 {Bulk formulation \small{(\mdl{sbcblk\_core} \mdl{sbcblk\_clio} \mdl{sbcblk\_ecmwf} modules)} } 484 485 \label{SBC_blk} 485 486 … … 487 488 using bulk formulae and atmospheric fields and ocean (and ice) variables. 488 489 489 The atmospheric fields used depend on the bulk formulae used. T wobulk formulations490 are available : the CORE and CLIObulk formulea. The choice is made by setting to true491 one of the following namelist variable : \np{ln\_core} and \np{ln\_clio}.492 493 Note : in forced mode, when a sea-ice model is used, a bulk formulation have to be used.494 Therefore the two bulk formulea providedinclude the computation of the fluxes over both490 The atmospheric fields used depend on the bulk formulae used. Three bulk formulations 491 are available : the CORE, the CLIO and the MFS bulk formulea. The choice is made by setting to true 492 one of the following namelist variable : \np{ln\_core} ; \np{ln\_clio} or \np{ln\_ecmwf}. 493 494 Note : in forced mode, when a sea-ice model is used, a bulk formulation (CLIO or CORE) have to be used. 495 Therefore the two bulk (CLIO and CORE) formulea include the computation of the fluxes over both 495 496 an ocean and an ice surface. 496 497 … … 583 584 namelist (see \S\ref{SBC_fldread}). 584 585 586 % ------------------------------------------------------------------------------------------------------------- 587 % ECMWF Bulk formulea 588 % ------------------------------------------------------------------------------------------------------------- 589 \subsection [MFS Bulk formulea (\np{ln\_ecmwf}=true)] 590 {MFS Bulk formulea (\np{ln\_ecmwf}=true, \mdl{sbcblk\_ecmwf})} 591 \label{SBC_blk_ecmwf} 592 %------------------------------------------namsbc_ecmwf---------------------------------------------------- 593 \namdisplay{namsbc_ecmwf} 594 %---------------------------------------------------------------------------------------------------------- 595 596 The MFS (Mediterranean Forecasting System) bulk formulae have been developed by 597 \citet{Castellari_al_JMS1998}. 598 They have been designed to handle the ECMWF operational data and are currently 599 in use in the MFS operational system \citep{Tonani_al_OS08}, \citep{Oddo_al_OS09}. 600 The wind stress computation uses a drag coefficient computed according to \citet{Hellerman_Rosenstein_JPO83}. 601 The surface boundary condition for temperature involves the balance between surface solar radiation, 602 net long-wave radiation, the latent and sensible heat fluxes. 603 Solar radiation is dependent on cloud cover and is computed by means of 604 an astronomical formula \citep{Reed_JPO77}. Albedo monthly values are from \citet{Payne_JAS72} 605 as means of the values at $40^{o}N$ and $30^{o}N$ for the Atlantic Ocean (hence the same latitudinal 606 band of the Mediterranean Sea). The net long-wave radiation flux 607 \citep{Bignami_al_JGR95} is a function of 608 air temperature, sea-surface temperature, cloud cover and relative humidity. 609 Sensible heat and latent heat fluxes are computed by classical 610 bulk formulae parameterized according to \citet{Kondo1975}. 611 Details on the bulk formulae used can be found in \citet{Maggiore_al_PCE98} and \citet{Castellari_al_JMS1998}. 612 613 The required 7 input fields must be provided on the model Grid-T and are: 614 \begin{itemize} 615 \item Zonal Component of the 10m wind ($ms^{-1}$) (\np{sn\_windi}) 616 \item Meridional Component of the 10m wind ($ms^{-1}$) (\np{sn\_windj}) 617 \item Total Claud Cover (\%) (\np{sn\_clc}) 618 \item 2m Air Temperature ($K$) (\np{sn\_tair}) 619 \item 2m Dew Point Temperature ($K$) (\np{sn\_rhm}) 620 \item Total Precipitation ${Kg} m^{-2} s^{-1}$ (\np{sn\_prec}) 621 \item Mean Sea Level Pressure (${Pa}) (\np{sn\_msl}) 622 \end{itemize} 623 % ------------------------------------------------------------------------------------------------------------- 585 624 % ================================================================ 586 625 % Coupled formulation … … 938 977 \end{description} 939 978 979 % ------------------------------------------------------------------------------------------------------------- 980 % Neutral Drag Coefficient from external wave model 981 % ------------------------------------------------------------------------------------------------------------- 982 \subsection [Neutral drag coefficient from external wave model (\textit{sbcwave})] 983 {Neutral drag coefficient from external wave model (\mdl{sbcwave})} 984 \label{SBC_wave} 985 %------------------------------------------namwave---------------------------------------------------- 986 \namdisplay{namsbc_wave} 987 %------------------------------------------------------------------------------------------------------------- 988 \begin{description} 989 If (\np{ln\_cdgw}~=~true) in namsbc namelist is activated the \mdl{sbcwave} module which contains the routine \np{sbc\_wave}.This routine reads the namelist namsbc\_wave and the neutral drag coefficient. Then using the routine TURB\_CORE\_1Z or TURB\_CORE\_2Z the drag coefficient is computed according to stable/unstable conditions of the air-sea interface starting from the neutral drag coefficient. 990 \end{description} 991 940 992 % Griffies doc: 941 993 % When running ocean-ice simulations, we are not explicitly representing land processes, such as rivers, catchment areas, snow accumulation, etc. However, to reduce model drift, it is important to balance the hydrological cycle in ocean-ice models. We thus need to prescribe some form of global normalization to the precipitation minus evaporation plus river runoff. The result of the normalization should be a global integrated zero net water input to the ocean-ice system over a chosen time scale. … … 944 996 945 997 946 -
branches/2011/dev_r2855_INGV2_3_blk_wave/DOC/TexFiles/Chapters/Chap_ZDF.tex
r2541 r2990 100 100 $a=5$ and $n=2$. The last three values can be modified by setting the 101 101 \np{rn\_avmri}, \np{rn\_alp} and \np{nn\_ric} namelist parameters, respectively. 102 103 A simple mixing-layer model to transfer and dissipate the atmospheric 104 forcings (wind-stress and buoyancy fluxes) can be activated setting 105 the \np{ln\_mldw} =.true. in the namelist. 106 107 In this case, the local depth of turbulent wind-mixing or "Ekman depth" 108 $h_{e}(x,y,t)$ is evaluated and the vertical eddy coefficients prescribed within this layer. 109 110 This depth is assumed proportional to the "depth of frictional influence" that is limited by rotation: 111 \begin{equation} 112 h_{e} = Ek \frac {u^{*}} {f_{0}} \\ 113 \end{equation} 114 where, $Ek$ is an empirical parameter, $u^{*}$ is the friction velocity and $f_{0}$ is the Coriolis 115 parameter. 116 117 In this similarity height relationship, the turbulent friction velocity: 118 \begin{equation} 119 u^{*} = \sqrt \frac {|\tau|} {\rho_o} \\ 120 \end{equation} 121 122 is computed from the wind stress vector $|\tau|$ and the reference dendity $ \rho_o$. 123 The final $h_{e}$ is further constrained by the adjustable bounds \np{rn\_mldmin} and \np{rn\_mldmax}. 124 Once $h_{e}$ is computed, the vertical eddy coefficients within $h_{e}$ are set to 125 the empirical values \np{rn\_wtmix} and \np{rn\_wvmix} \citep{Lermusiaux2001}. 102 126 103 127 % ------------------------------------------------------------------------------------------------------------- -
branches/2011/dev_r2855_INGV2_3_blk_wave/DOC/TexFiles/Namelist/namsbc
r2540 r2990 8 8 ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) 9 9 ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) 10 ln_blk_ecmwf= .false. ! MFS bulk formulation (T => fill namsbc_ecmwf) 10 11 ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) 11 12 ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) … … 20 21 ! =2 annual global mean of e-p-r set to zero 21 22 ! =3 global emp set to zero and spread out over erp area 23 ln_cdgw = .true. ! true if neutral drag coefficient read from wave model 22 24 / -
branches/2011/dev_r2855_INGV2_3_blk_wave/DOC/TexFiles/Namelist/namzdf_ric
r2540 r2990 5 5 rn_alp = 5. ! coefficient of the parameterization 6 6 nn_ric = 2 ! coefficient of the parameterization 7 rn_ekmfc = 0.7 ! Factor in the Ekman depth Equation 8 rn_mldmin = 1.0 ! minimum allowable mixed-layer depth estimate (m) 9 rn_mldmax =1000.0 ! maximum allowable mixed-layer depth estimate (m) 10 rn_wtmix = 10.0 ! vertical eddy viscosity coeff [m2/s] in the mixed-layer 11 rn_wvmix = 10.0 ! vertical eddy diffusion coeff [m2/s] in the mixed-layer 12 ln_mldw = .true. ! Flag to use or not the mized layer depth param. 7 13 / -
branches/2011/dev_r2855_INGV2_3_blk_wave/NEMOGCM/CONFIG/GYRE/EXP00/namelist
r2715 r2990 138 138 ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) 139 139 ln_blk_core = .false. ! CORE bulk formulation (T => fill namsbc_core) 140 ln_blk_ecmwf= .false. ! MFS bulk formulation (T => fill namsbc_ecmwf) 140 141 ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) 141 142 ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) … … 150 151 ! =2 annual global mean of e-p-r set to zero 151 152 ! =3 global emp set to zero and spread out over erp area 153 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 152 154 / 153 155 !----------------------------------------------------------------------- … … 208 210 ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data 209 211 rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) 212 / 213 !----------------------------------------------------------------------- 214 &namsbc_ecmwf ! namsbc_ecmwf MFS bulk formulea 215 !----------------------------------------------------------------------- 216 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 217 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 218 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 219 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 220 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 221 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 222 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 223 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 224 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 225 226 cn_dir = './ECMWF/' ! root directory for the location of the bulk files 210 227 / 211 228 !----------------------------------------------------------------------- … … 863 880 salfixmin = -9999 ! Minimum salinity after applying the increments 864 881 / 882 !----------------------------------------------------------------------- 883 &namsbc_wave ! External fields from wave model 884 !----------------------------------------------------------------------- 885 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 886 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 887 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 888 ! 889 cn_dir_cdg = './' ! root directory for the location of drag coefficient files 890 / -
branches/2011/dev_r2855_INGV2_3_blk_wave/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist
r2715 r2990 138 138 ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) 139 139 ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) 140 ln_blk_ecmwf= .false. ! MFS bulk formulation (T => fill namsbc_ecmwf) 140 141 ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) 141 142 ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) … … 150 151 ! =2 annual global mean of e-p-r set to zero 151 152 ! =3 global emp set to zero and spread out over erp area 153 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 152 154 / 153 155 !----------------------------------------------------------------------- … … 208 210 ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data 209 211 rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) 212 / 213 !----------------------------------------------------------------------- 214 &namsbc_ecmwf ! namsbc_ecmwf MFS bulk formulea 215 !----------------------------------------------------------------------- 216 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 217 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 218 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 219 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 220 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 221 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 222 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 223 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 224 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 225 226 cn_dir = './ECMWF/' ! root directory for the location of the bulk files 210 227 / 211 228 !----------------------------------------------------------------------- … … 863 880 salfixmin = -9999 ! Minimum salinity after applying the increments 864 881 / 882 !----------------------------------------------------------------------- 883 &namsbc_wave ! External fields from wave model 884 !----------------------------------------------------------------------- 885 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 886 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 887 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 888 ! 889 cn_dir_cdg = './' ! root directory for the location of drag coefficient files 890 / -
branches/2011/dev_r2855_INGV2_3_blk_wave/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist
r2715 r2990 138 138 ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) 139 139 ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) 140 ln_blk_ecmwf= .false. ! MFS bulk formulation (T => fill namsbc_ecmwf) 140 141 ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) 141 142 ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) … … 150 151 ! =2 annual global mean of e-p-r set to zero 151 152 ! =3 global emp set to zero and spread out over erp area 153 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave ) 152 154 / 153 155 !----------------------------------------------------------------------- … … 208 210 ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data ? 209 211 rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) 212 / 213 !----------------------------------------------------------------------- 214 &namsbc_ecmwf ! namsbc_ecmwf MFS bulk formulea 215 !----------------------------------------------------------------------- 216 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 217 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 218 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 219 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 220 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 221 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 222 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 223 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 224 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 225 226 cn_dir = './ECMWF/' ! root directory for the location of the bulk files 210 227 / 211 228 !----------------------------------------------------------------------- … … 878 895 salfixmin = -9999 ! Minimum salinity after applying the increments 879 896 / 897 !----------------------------------------------------------------------- 898 &namsbc_wave ! External fields from wave model 899 !----------------------------------------------------------------------- 900 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 901 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 902 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 903 ! 904 cn_dir_cdg = './' ! root directory for the location of drag coefficient files 905 / -
branches/2011/dev_r2855_INGV2_3_blk_wave/NEMOGCM/CONFIG/POMME/EXP00/namelist
r2650 r2990 138 138 ln_blk_clio = .false. ! CLIO bulk formulation (T => fill namsbc_clio) 139 139 ln_blk_core = .true. ! CORE bulk formulation (T => fill namsbc_core) 140 ln_blk_ecmwf= .false. ! MFS bulk formulation (T => fill namsbc_ecmwf) 140 141 ln_cpl = .false. ! Coupled formulation (T => fill namsbc_cpl ) 141 142 ln_apr_dyn = .false. ! Patm gradient added in ocean & ice Eqs. (T => fill namsbc_apr ) … … 150 151 ! =2 annual global mean of e-p-r set to zero 151 152 ! =3 global emp set to zero and spread out over erp area 153 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 152 154 / 153 155 !----------------------------------------------------------------------- … … 208 210 ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data 209 211 rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) 212 / 213 !----------------------------------------------------------------------- 214 &namsbc_ecmwf ! namsbc_ecmwf MFS bulk formulea 215 !----------------------------------------------------------------------- 216 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 217 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 218 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 219 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 220 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 221 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 222 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 223 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 224 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 225 226 cn_dir = './ECMWF/' ! root directory for the location of the bulk files 210 227 / 211 228 !----------------------------------------------------------------------- … … 868 885 salfixmin = -9999 ! Minimum salinity after applying the increments 869 886 / 887 !----------------------------------------------------------------------- 888 &namsbc_wave ! External fields from wave model 889 !----------------------------------------------------------------------- 890 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 891 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 892 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 893 ! 894 cn_dir_cdg = './' ! root directory for the location of drag coefficient files 895 / -
branches/2011/dev_r2855_INGV2_3_blk_wave/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
r2715 r2990 33 33 LOGICAL , PUBLIC :: ln_blk_clio = .FALSE. !: CLIO bulk formulation 34 34 LOGICAL , PUBLIC :: ln_blk_core = .FALSE. !: CORE bulk formulation 35 LOGICAL , PUBLIC :: ln_blk_ecmwf= .FALSE. !: MFS bulk formulation 35 36 LOGICAL , PUBLIC :: ln_cpl = .FALSE. !: coupled formulation (overwritten by key_sbc_coupled ) 36 37 LOGICAL , PUBLIC :: ln_dm2dc = .FALSE. !: Daily mean to Diurnal Cycle short wave (qsr) … … 43 44 ! !: = 1 global mean of e-p-r set to zero at each nn_fsbc time step 44 45 ! !: = 2 annual global mean of e-p-r set to zero 46 LOGICAL , PUBLIC :: ln_cdgw = .FALSE. !: true if neutral drag coefficient read from wave model 45 47 46 48 !!---------------------------------------------------------------------- -
branches/2011/dev_r2855_INGV2_3_blk_wave/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r2777 r2990 34 34 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 35 35 USE prtctl ! Print control 36 USE sbcwave,ONLY : cdn_wave !wave module 36 37 #if defined key_lim3 37 38 USE sbc_ice ! Surface boundary condition: ice fields … … 43 44 PUBLIC sbc_blk_core ! routine called in sbcmod module 44 45 PUBLIC blk_ice_core ! routine called in sbc_ice_lim module 46 PUBLIC turb_core_2z ! routine calles in sbcblk_ecmwf module 45 47 46 48 INTEGER , PARAMETER :: jpfld = 9 ! maximum number of files to read … … 682 684 !! Neutral Drag Coefficient 683 685 stab = 0.5 + sign(0.5,dT) ! stable : stab = 1 ; unstable : stab = 0 684 Cd_n10 = 1E-3 * ( 2.7/dU10 + 0.142 + dU10/13.09 ) ! L & Y eq. (6a) 686 IF ( ln_cdgw ) THEN 687 cdn_wave = cdn_wave - rsmall*(tmask(:,:,1)-1) 688 Cd_n10(:,:) = cdn_wave 689 ELSE 690 Cd_n10 = 1E-3 * ( 2.7/dU10 + 0.142 + dU10/13.09 ) ! L & Y eq. (6a) 691 ENDIF 685 692 sqrt_Cd_n10 = sqrt(Cd_n10) 686 693 Ce_n10 = 1E-3 * ( 34.6 * sqrt_Cd_n10 ) ! L & Y eq. (6b) … … 705 712 zpsi_m = psi_m(zeta) 706 713 707 !! Shifting the wind speed to 10m and neutral stability : 708 U_n10 = dU10*1./(1. + sqrt_Cd_n10/kappa*(log(zu/10.) - zpsi_m)) ! L & Y eq. (9a) 709 710 !! Updating the neutral 10m transfer coefficients : 711 Cd_n10 = 1E-3 * (2.7/U_n10 + 0.142 + U_n10/13.09) ! L & Y eq. (6a) 712 sqrt_Cd_n10 = sqrt(Cd_n10) 713 Ce_n10 = 1E-3 * (34.6 * sqrt_Cd_n10) ! L & Y eq. (6b) 714 stab = 0.5 + sign(0.5,zeta) 715 Ch_n10 = 1E-3*sqrt_Cd_n10*(18.*stab + 32.7*(1-stab)) ! L & Y eq. (6c), (6d) 716 717 !! Shifting the neutral 10m transfer coefficients to ( zu , zeta ) : 718 !! 719 xct = 1. + sqrt_Cd_n10/kappa*(log(zu/10) - zpsi_m) 720 Cd = Cd_n10/(xct*xct) ; sqrt_Cd = sqrt(Cd) 714 IF ( ln_cdgw ) THEN 715 sqrt_Cd=kappa/((kappa/sqrt_Cd_n10) - zpsi_m) ; Cd=sqrt_Cd*sqrt_Cd; 716 ELSE 717 !! Shifting the wind speed to 10m and neutral stability : 718 U_n10 = dU10*1./(1. + sqrt_Cd_n10/kappa*(log(zu/10.) - zpsi_m)) ! L & Y eq. (9a) 719 720 !! Updating the neutral 10m transfer coefficients : 721 Cd_n10 = 1E-3 * (2.7/U_n10 + 0.142 + U_n10/13.09) ! L & Y eq. (6a) 722 sqrt_Cd_n10 = sqrt(Cd_n10) 723 Ce_n10 = 1E-3 * (34.6 * sqrt_Cd_n10) ! L & Y eq. (6b) 724 stab = 0.5 + sign(0.5,zeta) 725 Ch_n10 = 1E-3*sqrt_Cd_n10*(18.*stab + 32.7*(1-stab)) ! L & Y eq. (6c), (6d) 726 727 !! Shifting the neutral 10m transfer coefficients to ( zu , zeta ) : 728 !! 729 xct = 1. + sqrt_Cd_n10/kappa*(log(zu/10) - zpsi_m) 730 Cd = Cd_n10/(xct*xct) ; sqrt_Cd = sqrt(Cd) 731 ENDIF 721 732 !! 722 733 xlogt = log(zu/10.) - zpsi_h … … 812 823 !! Neutral Drag Coefficient : 813 824 stab = 0.5 + sign(0.5,dT) ! stab = 1 if dT > 0 -> STABLE 814 Cd_n10 = 1E-3*( 2.7/dU10 + 0.142 + dU10/13.09 ) 825 IF ( ln_cdgw ) THEN 826 cdn_wave = cdn_wave - rsmall*(tmask(:,:,1)-1) 827 Cd_n10(:,:) = cdn_wave 828 ELSE 829 Cd_n10 = 1E-3*( 2.7/dU10 + 0.142 + dU10/13.09 ) 830 ENDIF 815 831 sqrt_Cd_n10 = sqrt(Cd_n10) 816 832 Ce_n10 = 1E-3*( 34.6 * sqrt_Cd_n10 ) … … 853 869 stab = 0.5 + sign(0.5,q_zu) ; q_zu = stab*q_zu 854 870 !! 855 !! Updating the neutral 10m transfer coefficients : 856 Cd_n10 = 1E-3 * (2.7/U_n10 + 0.142 + U_n10/13.09) ! L & Y eq. (6a) 857 sqrt_Cd_n10 = sqrt(Cd_n10) 858 Ce_n10 = 1E-3 * (34.6 * sqrt_Cd_n10) ! L & Y eq. (6b) 859 stab = 0.5 + sign(0.5,zeta_u) 860 Ch_n10 = 1E-3*sqrt_Cd_n10*(18.*stab + 32.7*(1-stab)) ! L & Y eq. (6c-6d) 861 !! 862 !! 863 !! Shifting the neutral 10m transfer coefficients to (zu,zeta_u) : 864 ! xct = 1. + sqrt_Cd_n10/kappa*(log(zu/10.) - psi_m(zeta_u)) 865 xct = 1. + sqrt_Cd_n10/kappa*(log(zu/10.) - zpsi_m) 866 Cd = Cd_n10/(xct*xct) ; sqrt_Cd = sqrt(Cd) 867 !! 868 ! xlogt = log(zu/10.) - psi_h(zeta_u) 871 IF ( ln_cdgw ) THEN 872 sqrt_Cd=kappa/((kappa/sqrt_Cd_n10) - zpsi_m) ; Cd=sqrt_Cd*sqrt_Cd; 873 ELSE 874 !! Updating the neutral 10m transfer coefficients : 875 Cd_n10 = 1E-3 * (2.7/U_n10 + 0.142 + U_n10/13.09) ! L & Y eq. (6a) 876 sqrt_Cd_n10 = sqrt(Cd_n10) 877 Ce_n10 = 1E-3 * (34.6 * sqrt_Cd_n10) ! L & Y eq. (6b) 878 stab = 0.5 + sign(0.5,zeta_u) 879 Ch_n10 = 1E-3*sqrt_Cd_n10*(18.*stab + 32.7*(1-stab)) ! L & Y eq. (6c-6d) 880 !! 881 !! 882 !! Shifting the neutral 10m transfer coefficients to (zu,zeta_u) : 883 xct = 1. + sqrt_Cd_n10/kappa*(log(zu/10.) - zpsi_m) 884 Cd = Cd_n10/(xct*xct) ; sqrt_Cd = sqrt(Cd) 885 ENDIF 886 !! 869 887 xlogt = log(zu/10.) - zpsi_hu 870 888 !! -
branches/2011/dev_r2855_INGV2_3_blk_wave/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r2715 r2990 29 29 USE sbcblk_clio ! surface boundary condition: bulk formulation : CLIO 30 30 USE sbcblk_core ! surface boundary condition: bulk formulation : CORE 31 USE sbcblk_ecmwf ! surface boundary condition: bulk formulation : MFS 31 32 USE sbcice_if ! surface boundary condition: ice-if sea-ice model 32 33 USE sbcice_lim ! surface boundary condition: LIM 3.0 sea-ice model … … 46 47 USE in_out_manager ! I/O manager 47 48 USE lib_mpp ! MPP library 49 USE sbcwave ! Wave module 48 50 49 51 IMPLICIT NONE … … 78 80 !! 79 81 NAMELIST/namsbc/ nn_fsbc , ln_ana , ln_flx , ln_blk_clio, ln_blk_core, ln_cpl, & 80 & ln_ apr_dyn, nn_ice , ln_dm2dc, ln_rnf , ln_ssr , nn_fwb82 & ln_blk_ecmwf, ln_apr_dyn, nn_ice , ln_dm2dc, ln_rnf, ln_ssr , nn_fwb, ln_cdgw 81 83 !!---------------------------------------------------------------------- 82 84 … … 107 109 WRITE(numout,*) ' flux formulation ln_flx = ', ln_flx 108 110 WRITE(numout,*) ' CLIO bulk formulation ln_blk_clio = ', ln_blk_clio 109 WRITE(numout,*) ' CLIO bulk formulation ln_blk_core = ', ln_blk_core 111 WRITE(numout,*) ' CORE bulk formulation ln_blk_core = ', ln_blk_core 112 WRITE(numout,*) ' MFS bulk formulation ln_blk_ecmwf= ', ln_blk_ecmwf 110 113 WRITE(numout,*) ' coupled formulation (T if key_sbc_cpl) ln_cpl = ', ln_cpl 111 114 WRITE(numout,*) ' Misc. options of sbc : ' … … 154 157 IF( ln_dm2dc .AND. ( ( NINT(rday) / ( nn_fsbc * NINT(rdt) ) ) < 8 ) ) & 155 158 & CALL ctl_warn( 'diurnal cycle for qsr: the sampling of the diurnal cycle is too small...' ) 159 160 !drag coefficient read from wave model definable only with ecmwf bulk formulae and core 161 IF(ln_cdgw .AND. .NOT.(ln_blk_ecmwf .OR. ln_blk_core) ) & 162 & CALL ctl_stop( 'drag coefficient read from wave model definable only with ecmwf bulk formulae and core') 156 163 157 164 ! ! Choice of the Surface Boudary Condition (set nsbc) … … 161 168 IF( ln_blk_clio ) THEN ; nsbc = 3 ; icpt = icpt + 1 ; ENDIF ! CLIO bulk formulation 162 169 IF( ln_blk_core ) THEN ; nsbc = 4 ; icpt = icpt + 1 ; ENDIF ! CORE bulk formulation 170 IF( ln_blk_ecmwf ) THEN ; nsbc = 6 ; icpt = icpt + 1 ; ENDIF ! MFS bulk formulation 163 171 IF( ln_cpl ) THEN ; nsbc = 5 ; icpt = icpt + 1 ; ENDIF ! Coupled formulation 164 172 IF( cp_cfg == 'gyre') THEN ; nsbc = 0 ; ENDIF ! GYRE analytical formulation … … 181 189 IF( nsbc == 4 ) WRITE(numout,*) ' CORE bulk formulation' 182 190 IF( nsbc == 5 ) WRITE(numout,*) ' coupled formulation' 191 IF( nsbc == 6 ) WRITE(numout,*) ' MFS Bulk formulation' 183 192 ENDIF 184 193 ! … … 228 237 ! ! averaged over nf_sbc time-step 229 238 239 IF (ln_cdgw) CALL sbc_wave( kt ) 230 240 !== sbc formulation ==! 231 241 … … 238 248 CASE( 4 ) ; CALL sbc_blk_core( kt ) ! bulk formulation : CORE for the ocean 239 249 CASE( 5 ) ; CALL sbc_cpl_rcv ( kt, nn_fsbc, nn_ice ) ! coupled formulation 250 CASE( 6 ) ; CALL sbc_blk_ecmwf( kt ) ! bulk formulation : MFS for the ocean 240 251 CASE( -1 ) 241 252 CALL sbc_ana ( kt ) ! ESOPA, test ALL the formulations
Note: See TracChangeset
for help on using the changeset viewer.