In the bulk formulation, the surface boundary condition fields are computed using bulk formulae and atmospheric fields and ocean (and ice) variables.
The atmospheric fields used depend on the bulk formulae used. Three bulk formulations are available : the CORE, the CLIO and the MFS bulk formulea. The choice is made by setting to true one of the following namelist variable : ln_core ; ln_clio or ln_mfs.
Note : in forced mode, when a sea-ice model is used, a bulk formulation (CLIO or CORE) have to be used. Therefore the two bulk (CLIO and CORE) formulea include the computation of the fluxes over both an ocean and an ice surface.
!----------------------------------------------------------------------- &namsbc_core ! namsbc_core CORE bulk formulae !----------------------------------------------------------------------- ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! sn_wndi = 'u_10.15JUNE2009_fill' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bicubic_noc.nc' , 'Uwnd' , '' sn_wndj = 'v_10.15JUNE2009_fill' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bicubic_noc.nc' , 'Vwnd' , '' sn_qsr = 'ncar_rad.15JUNE2009_fill' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' sn_qlw = 'ncar_rad.15JUNE2009_fill' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' sn_tair = 't_10.15JUNE2009_fill' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' sn_humi = 'q_10.15JUNE2009_fill' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' sn_prec = 'ncar_precip.15JUNE2009_fill' , -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' sn_snow = 'ncar_precip.15JUNE2009_fill' , -1 , 'SNOW' , .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' cn_dir = './' ! root directory for the location of the bulk files ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data rn_zqt = 10. ! Air temperature and humidity reference height (m) rn_zu = 10. ! Wind vector reference height (m) rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) rn_efac = 1. ! multiplicative factor for evaporation (0. or 1.) rn_vfac = 0. ! multiplicative factor for ocean/ice velocity ! in the calculation of the wind stress (0.=absolute winds or 1.=relative winds) /
The CORE bulk formulae have been developed by Large and Yeager [2004]. They have been designed to handle the CORE forcing, a mixture of NCEP reanalysis and satellite data. They use an inertial dissipative method to compute the turbulent transfer coefficients (momentum, sensible heat and evaporation) from the 10 meters wind speed, air temperature and specific humidity. This Large and Yeager [2004] dataset is available through the GFDL web site.
Note that substituting ERA40 to NCEP reanalysis fields does not require changes in the bulk formulea themself. This is the so-called DRAKKAR Forcing Set (DFS) [Brodeau et al., 2009].
Options are defined through the namsbc_core namelist variables. The required 8 input fields are:
Variable desciption | Model variable | Units | point |
i-component of the 10m air velocity | utau | T | |
j-component of the 10m air velocity | vtau | T | |
10m air temperature | tair | T | |
Specific humidity | humi | % | T |
Incoming long wave radiation | qlw | T | |
Incoming short wave radiation | qsr | T | |
Total precipitation (liquid + solid) | precip | T | |
Solid precipitation | snow | T |
Note that the air velocity is provided at a tracer ocean point, not at a velocity ocean point (- and -points). It is simpler and faster (less fields to be read), but it is not the recommended method when the ocean grid size is the same or larger than the one of the input atmospheric fields.
The sn_wndi, sn_wndj, sn_qsr, sn_qlw, sn_tair,sn_humi,sn_prec, sn_snow, sn_tdif parameters describe the fields and the way they have to be used (spatial and temporal interpolations).
cn_dir is the directory of location of bulk files ln_taudif is the flag to specify if we use Hight Frequency (HF) tau information (.true.) or not (.false.) rn_zqt: is the height of humidity and temperature measurements (m) rn_zu: is the height of wind measurements (m) The multiplicative factors to activate (value is 1) or deactivate (value is 0) : rn_pfac for precipitations (total and snow) rn_efac for evaporation rn_vfac for for ice/ocean velocities in the calculation of wind stress
!----------------------------------------------------------------------- &namsbc_clio ! namsbc_clio CLIO bulk formulae !----------------------------------------------------------------------- ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' cn_dir = './' ! root directory for the location of the bulk files are /
The CLIO bulk formulae were developed several years ago for the Louvain-la-neuve coupled ice-ocean model (CLIO, Goosse et al. [1999]). They are simpler bulk formulae. They assume the stress to be known and compute the radiative fluxes from a climatological cloud cover.
Options are defined through the namsbc_clio namelist variables. The required 7 input fields are:
Variable desciption | Model variable | Units | point |
i-component of the ocean stress | utau | U | |
j-component of the ocean stress | vtau | V | |
Wind speed module | vatm | T | |
10m air temperature | tair | T | |
Specific humidity | humi | % | T |
Cloud cover | % | T | |
Total precipitation (liquid + solid) | precip | T | |
Solid precipitation | snow | T |
As for the flux formulation, information about the input data required by the model is provided in the namsbc_blk_core or namsbc_blk_clio namelist (see §7.2.1).
!----------------------------------------------------------------------- &namsbc_mfs ! namsbc_mfs MFS bulk formulae !----------------------------------------------------------------------- ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' , '' cn_dir = './ECMWF/' ! root directory for the location of the bulk files /
The MFS (Mediterranean Forecasting System) bulk formulae have been developed by Castellari et al. [1998]. They have been designed to handle the ECMWF operational data and are currently in use in the MFS operational system [Tonani et al., 2008], [Oddo et al., 2009]. The wind stress computation uses a drag coefficient computed according to Hellerman and Rosenstein [1983]. The surface boundary condition for temperature involves the balance between surface solar radiation, net long-wave radiation, the latent and sensible heat fluxes. Solar radiation is dependent on cloud cover and is computed by means of an astronomical formula [Reed, 1977]. Albedo monthly values are from Payne [1972] as means of the values at and for the Atlantic Ocean (hence the same latitudinal band of the Mediterranean Sea). The net long-wave radiation flux [Bignami et al., 1995] is a function of air temperature, sea-surface temperature, cloud cover and relative humidity. Sensible heat and latent heat fluxes are computed by classical bulk formulae parameterised according to Kondo [1975]. Details on the bulk formulae used can be found in Maggiore et al. [1998] and Castellari et al. [1998].
Options are defined through the namsbc_mfs namelist variables. The required 7 input fields must be provided on the model Grid-T and are:
Gurvan Madec and the NEMO Team
NEMO European Consortium2017-02-17