1,158 research outputs found
Deep boundary current disintegration in Drake Passage
The fate of a deep boundary current that originates in the Southeast Pacific and flows southward along the continental slope of South America is elucidated. The current transports poorly ventilated water of low salinity (a type of Pacific Deep Water; PDW), into Drake Passage. East of Drake Passage, the boundary current breaks into fresh anticyclonic eddies, nine examples of which were observed in mooring data from December 2009 to March 2012. The observed eddies appear to originate mainly from a topographic separation point close to 60°W, have typical diameters of 20–60 km and accompanying Rossby numbers of 0.1–0.3. These features are likely to be responsible for transporting PDW meridionally across the ACC, explaining the near-homogenization of Circumpolar Deep Water properties downstream of Drake Passage. This mechanism of boundary current breakdown may constitute an important process in the Southern Ocean overturning circulation
ropensci/drake: drake transformed
Version 7.0.0
Breaking changes
<ul>
<li>The enhancements that increase cache access speed also invalidate targets in old projects. Workflows built with drake <= 6.2.1 will need to run from scratch again.</li>
<li>In <code>drake</code> plans, the <code>command</code> and <code>trigger</code> columns are now lists of language objects instead of character vectors. <code>make()</code> and friends still work if you have character columns, but the default output of <code>drake_plan()</code> has changed to this new format.</li>
<li>All parallel backends (<code>parallelism</code> argument of <code>make()</code>) except "clustermq" and "future" are removed. A new "loop" backend covers local serial execution.</li>
<li>A large amount of deprecated functionality is now defunct, including several functions (<code>built()</code>, <code>find_project()</code>, <code>imported()</code>, and <code>parallel_stages()</code>; <a href="https://github.com/ropensci/drake/issues/564">full list here</a>) and the single-quoted file API.</li>
<li>Set the default value of <code>lock_envir</code> to <code>TRUE</code> in <code>make()</code> and <code>drake_config()</code>. So <code>make()</code> will automatically quit in error if the act of building a target tries to change upstream dependencies.</li>
<li><code>make()</code> no longer returns a value. Users will need to call <code>drake_config()</code> separately to get the old return value of <code>make()</code>.</li>
<li>Require the <code>jobs</code> argument to be of length 1 (<code>make()</code> and <code>drake_config()</code>). To parallelize the imports and other preprocessing steps, use <code>jobs_preprocess</code>, also of length 1.</li>
<li>Get rid of the "kernels" <code>storr</code> namespace. As a result, <code>drake</code> is faster, but users will no longer be able to load imported functions using <code>loadd()</code> or <code>readd()</code>.</li>
<li>In <code>target()</code>, users must now explicitly name all the arguments except <code>command</code>, e.g. <code>target(f(x), trigger = trigger(condition = TRUE))</code> instead of <code>target(f(x), trigger(condition = TRUE))</code>.</li>
<li>Fail right away in <code>bind_plans()</code> when the result has duplicated target names. This makes <code>drake</code>'s API more predictable and helps users catch malformed workflows earlier.</li>
<li><code>loadd()</code> only loads targets listed in the plan. It no longer loads imports or file hashes.</li>
<li>The return values of <code>progress()</code>, <code>deps_code()</code>, <code>deps_target()</code>, and <code>predict_workers()</code> are now data frames.</li>
<li>Change the default value of <code>hover</code> to <code>FALSE</code> in visualization functions. Improves speed.</li>
</ul>
Bug fixes
<ul>
<li>Allow <code>bind_plans()</code> to work with lists of plans (<code>bind_plans(list(plan1, plan2))</code> was returning <code>NULL</code> in <code>drake</code> 6.2.0 and 6.2.1).</li>
<li>Ensure that <code>get_cache(path = "non/default/path", search = FALSE)</code> looks for the cache in <code>"non/default/path"</code> instead of <code>getwd()</code>.</li>
<li>Remove strict dependencies on package <code>tibble</code>.</li>
<li>Pass the correct data structure to <code>ensure_loaded()</code> in <code>meta.R</code> and <code>triggers.R</code> when ensuring the dependencies of the <code>condition</code> and <code>change</code> triggers are loaded.</li>
<li>Require a <code>config</code> argument to <code>drake_build()</code> and <code>loadd(deps = TRUE)</code>.</li>
</ul>
New features
<ul>
<li>Introduce a new experimental domain-specific language for generating large plans (#233). Details <a>here</a>.</li>
<li>Implement a <code>lock_envir</code> argument to safeguard reproducibility. See <a href="https://github.com/ropensci/drake/issues/615#issuecomment-447585359">this thread</a> for a demonstration of the problem solved by <code>make(lock_envir = TRUE)</code>. More discussion: #619, #620.</li>
<li>The new <code>from_plan()</code> function allows the users to reference custom plan columns from within commands. Changes to values in these columns columns do not invalidate targets.</li>
<li>Add a menu prompt (<a href="https://github.com/ropensci/drake/pull/762">https://github.com/ropensci/drake/pull/762</a>) to safeguard against <code>make()</code> pitfalls in interactive mode (<a href="https://github.com/ropensci/drake/issues/761">https://github.com/ropensci/drake/issues/761</a>). Appears once per session. Disable with <code>options(drake_make_menu = FALSE)</code>.</li>
<li>Add new API functions <code>r_make()</code>, <code>r_outdated()</code>, etc. to run <code>drake</code> functions more reproducibly in a clean session. See the help file of <code>r_make()</code> for details.</li>
<li><code>progress()</code> gains a <code>progress</code> argument for filtering results. For example, <code>progress(progress = "failed")</code> will report targets that failed.</li>
</ul>
Enhancements
<ul>
<li><strong>Large speed boost</strong>: move away from <code>storr</code>'s key mangling in favor of <code>drake</code>'s own encoding of file paths and namespaced functions for <code>storr</code> keys.</li>
<li>Exclude symbols <code>.</code>, <code>..</code>, and <code>.gitignore</code> from being target names (consequence of the above).</li>
<li>Use only one hash algorithm per <code>drake</code> cache, which the user can set with the <code>hash_algorithm</code> argument of <code>new_cache()</code>, <code>storr::storr_rds()</code>, and various other cache functions. Thus, the concepts of a "short hash algorithm" and "long hash algorithm" are deprecated, and the functions <code>long_hash()</code>, <code>short_hash()</code>, <code>default_long_hash_algo()</code>, <code>default_short_hash_algo()</code>, and <code>available_hash_algos()</code> are deprecated. Caches are still back-compatible with <code>drake</code> > 5.4.0 and <= 6.2.1.</li>
<li>Allow the <code>magrittr</code> dot symbol to appear in some commands sometimes.</li>
<li>Deprecate the <code>fetch_cache</code> argument in all functions.</li>
<li>Remove packages <code>DBI</code> and <code>RSQLite</code> from "Suggests".</li>
<li>Define a special <code>configeval <- new.env(parent = configenvir)</code> for storing built targets and evaluating commands in the plan. Now, <code>make()</code> no longer modifies the user's environment. This move is a long-overdue step toward purity.</li>
<li>Remove dependency on the <code>codetools</code> package.</li>
<li>Deprecate and remove the <code>session</code> argument of <code>make()</code> and <code>drake_config()</code>. Details: <a href="https://github.com/ropensci/drake/issues/623#issue-391894088">https://github.com/ropensci/drake/issues/623#issue-391894088</a>.</li>
<li>Deprecate the <code>graph</code> and <code>layout</code> arguments to <code>make()</code> and <code>drake_config()</code>. The change simplifies the internals, and memoization allows us to do this.</li>
<li>Warn the user if running <code>make()</code> in a subdirectory of the <code>drake</code> project root (determined by the location of the <code>.drake</code> folder in relation to the working directory).</li>
<li>In the code analysis, explicitly prohibit targets from being dependencies of imported functions.</li>
<li>Increase options for the <code>verbose</code> argument, including the option to print execution and total build times.</li>
<li>Separate the building of targets from the processing of imports. Imports are processed with rudimentary staged parallelism (<code>mclapply()</code> or <code>parLapply()</code>, depending on the operating system).</li>
<li>Ignore the imports when it comes to build times. Functions <code>build_times()</code>, <code>predict_runtime()</code>, etc. focus on only the targets.</li>
<li>Deprecate many API functions, including <code>plan_analyses()</code>, <code>plan_summaries()</code>, <code>analysis_wildcard()</code>, <code>cache_namespaces()</code>, <code>cache_path()</code>, <code>check_plan()</code>, <code>dataset_wildcard()</code>, <code>drake_meta()</code>, <code>drake_palette()</code>, <code>drake_tip()</code>, <code>recover_cache()</code>, <code>cleaned_namespaces()</code>, <code>target_namespaces()</code>, <code>read_drake_config()</code>, <code>read_drake_graph()</code>, and <code>read_drake_plan()</code>.</li>
<li>Deprecate <code>target()</code> as a user-side function. From now on, it should only be called from within <code>drake_plan()</code>.</li>
<li><code>drake_envir()</code> now throws an error, not a warning, if called in the incorrect context. Should be called only inside commands in the user's <code>drake</code> plan.</li>
<li>Replace <code>*expr*()</code> <code>rlang</code> functions with their <code>*quo*()</code> counterparts. We still keep <code>rlang::expr()</code> in the few places where we know the expressions need to be evaluated in <code>config$eval</code>.</li>
<li>The <code>prework</code> argument to <code>make()</code> and <code>drake_config()</code> can now be an expression (language object) or list of expressions. Character vectors are still acceptable.</li>
<li>At the end of <code>make()</code>, print messages about triggers etc. only if <code>verbose >= 2L</code>.</li>
<li>Deprecate and rename <code>in_progress()</code> to <code>running()</code>.</li>
<li>Deprecate and rename <code>knitr_deps()</code> to <code>deps_knitr()</code>.</li>
<li>Deprecate and rename <code>dependency_profile()</code> to <code>deps_profile()</code>.</li>
<li>Deprecate and rename <code>predict_load_balancing()</code> to <code>predict_workers()</code>.</li>
<li>Deprecate <code>this_cache()</code> and defer to <code>get_cache()</code> and <code>storr::storr_rds()</code> for simplicity.</li>
<li>Change the default value of <code>hover</code> to <code>FALSE</code> in visualization functions. Improves speed. Also a breaking change.</li>
<li>Deprecate <code>drake_cache_log_file()</code>. We recommend using <code>make()</code> with the <code>cache_log_file</code> argument to create the cache log. This way ensures that the log is always up to date with <code>make()</code> results.</li>
</ul>
Infrastructure bottlenecks, private provision, and industrial productivity : a study of Indonesian and Thai cities
This research project followed an earlier similar project on Nigeria, applying the same methods. A sample of manufacturers was surveyed to document their responses to infrastructure deficiencies in electricity, water, transport, telecommunications, and waste disposal. They found the manufacturers undertook significant expenditures to offset deficiencies in publicly provided infrastructure services, and that changing public policy toward privately supplied infrastructure and changing the pricing of public infrastructure could yield significant savings in social costs. Thailand and Indonesia have made significant strides in following the policies for private sector participation in infrastructure provision. Nigeria, where public infrastructure monopolies still dominate, lags behind, yet stands to benefit most from such policy reform. Government policy toward the industrial organization and pricing of infrastructure sectors can significantly help a developing economy realize the benefits of private sector participation in the provision of infrastructure services.Banks&Banking Reform,Decentralization,Public Sector Economics&Finance,Environmental Economics&Policies,Municipal Financial Management,Banks&Banking Reform,Municipal Financial Management,Urban Services to the Poor,Urban Services to the Poor,Public Sector Economics&Finance
Development of the Zimbabwe family planning program
Family planning was introduced in Zimbabwe as a voluntary movement in the 1950s. Volunteers formed a Family Planning Association in the mid-1960s. The government became interested in family planning in the late 1960s after analysis of the 1961 population census. It gave the Family Planning Association an annual grant, allowed contraceptives to be available through Ministry of Health facilities, and allowed nonmedical personnel to initiate and resupply family planning clients with condoms and pills. But before Zimbabwe achieved independence in 1980, family planning was viewed with great suspicion by the black majority, so the program's effectiveness was limited to the urban few. A new era began after independence. The new government took over theFamily Planning Association and changed its outlook completely. Through government and international donor support, the family planning program was restructured and expanded. The number of family planning personnel more than doubled in some units. More service delivery points were set up - particularly in rural areas. And the information, education, and communication and evaluation and research units were established. Through a World Bank-assisted project (with grant funding from Norway and Denmark), the Ministry of Health began strengthening its family planning capabilities. These efforts helped increase the contraceptive prevalence rate from about 14 percent in 1982 to 43 percent in 1988. But the program's growth is beginning to stall. More effort and resources are needed if the program is to grow or even maintain its present status. Particularly important are the following: designing innovative strategies to reach hard-to-reach populations; giving more emphasis to information, education, and communication, especially for men and youths, using multimedia; involving other sectors in the delivery of family planning services; broadening the mix of contraceptive methods (especially promoting long-term and permanent methods); making use of alternative family planning delivery systems, such as the use of depot holders, volunteers, and government extension workers; establishing a national population policy; and considering cost recovery and other measures for self-sustainment and program growth.Agricultural Knowledge&Information Systems,ICT Policy and Strategies,Gender and Health,Health Monitoring&Evaluation,Adolescent Health
An Author Verification Approach Based on Differential Features
We describe the approach that we submitted to the 2015 PAN competition for the author identification task. The task consists in determining if an unknown document was authored by the same author of a set of documents with the same author.
We propose a machine learning approach based on a number of different features that characterize documents from widely different points of view. We construct non-overlapping groups of homogeneous features, use a random forest regressor for each features group, and combine the output of all regressors by their arithmetic mean. We train a different regressor for each language.
Our approach achieved the first position in the final rank for the Spanish language
Study of Aromatic Compounds Derived from Sugarcane Bagasse. Part I: Effect of pH
This work aims at increasing the knowledge about the recovery of aromatic compounds from the lignin fraction of sugarcane bagasse, as well as exploring the possibility to recover these fine chemicals of great concern for many industrial sectors. The major natural products contained in the lignin fraction of such a straw material were extracted in previous work by alkaline hydrolysis using different concentrations of NaOH and amounts of bagasse, and HPLC analyses revealed that the extracts mainly contained p-coumaric acid, ferulic acid, syringic acid, and vanillin, the first three containing and the last lacking a carboxyl group. All these aromatic compounds have well-known antioxidant power and are very important in pharmacology. For these reasons, they have been investigated in this study by UV spectrophotometry, with special concern to the pH effect on their spectra and determination of their pK(a) values
Study of Aromatic Compounds Derived from Sugarcane Bagasse: II. Effect of Concentration
The results of a set of experiments that were designed to integrate current knowledge on the major constituents of sugarcane bagasse lignin, specifically p-coumaric, ferulic, syringic acids, and vanillin are presented. These aromatic compounds have well-known antioxidant power and they are very important for the food, pharmaceutical, and nutraceutical industries. Following a study on the effect of pH upon the spectra of these monomers and the determination of their pK(a) values, their self-association properties in ethanol as a solvent, particularly at concentrations <10(-4) M were investigated using UV spectrophotometry and their K-ass values were determined. The results collected allowed to better understand the chemistry of sugarcane lignin and provide a contribution to the possible exploitation of this abundant straw material for the recovery of fine chemicals
High numbers of Trichodesmium and diazotrophic diatoms in the southwest Indian Ocean
We observed high cell numbers of large (>50?m) nitrogen-fixing phytoplankton to the south and to the east of Madagascar in February 2005. The distribution of the diazotrophic taxa we found was markedly different: Trichodesmium was most abundant (500-1000 trichomes L-1) in the waters at the southern tip of Madagascar, while diazotrophic diatoms (125-500 cells L-1) were found to be abundant to the southeast of Madagascar. From these cell numbers, using literature values of nitrogen-fixation per cell, we estimate potential rates of nitrogen-fixation for Trichodesmium (south of Madagascar) of 1-5 mmol N m-2 d-1 and for diazotrophic diatoms (east of Madagascar) of 0.4-2.4 mmol N m-2 d-1. These cell-based estimates highlight the potential for significant nitrogen-fixation in the southwest Indian Ocean. High numbers of diazotrophic diatoms in subtropical waters to the east of Madagascar may have important implications for the biogeochemistry of the austral phytoplankton blooms that occur in this area
Multi-Objective Calibration For Agent-Based Models
Agent-based modelling is already proving to be an immensely useful tool for scientific and industrial modelling applications. Whilst the building of such models will always be something between an art and a science, once a detailed model has been built, the process of parameter calibration should be performed as precisely as possible. This task is often made difficult by the proliferation of model parameters with non-linear interactions. In addition to this, these models generate a large number of outputs, and their ‘accuracy’ can be measured by many different, often conflicting, criteria. In this paper we demonstrate the use of multi-objective optimisation tools to calibrate just such an agent-based model. We use an agent-based model of a financial market as an exemplar and calibrate the model using a multi-objective genetic algorithm. The technique is automated and requires no explicit weighting of criteria prior to calibration. The final choice of parameter set can be made after calibration with the additional input of the domain expert
Correction to: Sloshing wing dynamics - 2nd year project overview
Correction Notice Alex Skillen added to the Author list as he contributed significantly to the project and paper
- …
