Quartz crystaw microbawance wif dissipation monitoring
From Wikipedia, de free encycwopedia
Jump to navigation Jump to search
A qwartz crystaw microbawance wif dissipation monitoring (QCM-D) is a type of qwartz crystaw microbawance (QCM) based on de ring-down techniqwe. It is used in interfaciaw acoustic sensing. Its most common appwication is de determination of a fiwm dickness in a wiqwid environment (such as de dickness of an adsorbed protein wayer). It can be used to investigate furder properties of de sampwe, most notabwy de wayer's softness.
Ring-down as a medod to interrogate acoustic resonators was estabwished in 1954.[1] In de context of de QCM, it was described by Hirao et aw.[2] and Rodahw et aw.[3] The active component of a QCM is a din qwartz crystaw disk sandwiched between a pair of ewectrodes.[4] The appwication of an AC vowtage over de ewectrodes causes de crystaw to osciwwate at its acoustic resonance freqwency. When de AC vowtage is turned off, de osciwwation decays exponentiawwy ("rings down"). This decay is recorded and de resonance freqwency (f) and de energy dissipation factor (D) are extracted. D is defined as de woss of energy per osciwwation period divided by de totaw energy stored in de system. D is eqwaw to de resonance bandwidf divided by de resonance freqwency. Oder QCM instruments determine de bandwidf from de conductance spectra. Being a QCM, de QCM-D works in reaw-time, does not need wabewing, and is surface-sensitive. Current QCM-D eqwipment enabwes measuring of more dan 200 data points per second.
Changes in de resonance freqwency (Δf) are primariwy rewated to mass uptake or rewease at de sensor surface. When empwoyed as a mass sensor, de instrument has a sensitivity of about 0.5 ng/cm2 according to de manufacturer. Changes in de dissipation factor (ΔD) are primariwy rewated to de viscoewasticity (softness).[5] The softness, in turn, often is rewated to structuraw changes of de fiwm adhering at de sensor surface.
Mass sensor[edit]
When operated as a mass sensor, de QCM-D is often used to study mowecuwar adsorption/desorption and binding kinetics to various types of surfaces. In contrast to opticaw techniqwes such as surface pwasmon resonance (SPR) spectroscopy, ewwipsometry, or duaw powarisation interferometry, de QCM determines de mass of de adsorbed fiwm incwuding trapped sowvent. Comparison of de "acoustic dickness" as determined wif de QCM and de "opticaw dickness" as determined by any of de opticaw techniqwes derefore awwows to estimate de degree of swewwing of de fiwm in de ambient wiqwid.[6] The difference in dry and wet mass measured by QCM-D and MP-SPR is more significant in highwy hydrated wayers as can be seen in, uh-hah-hah-hah.[7][8][9]
Since de softness of de sampwe is affected by a warge variety of parameters, de QCM-D is usefuw for studying mowecuwar interactions wif surfaces as weww as interactions between mowecuwes. The QCM-D is commonwy used in de fiewds of biomateriaws, ceww adhesion, drug discovery, materiaws science, and biophysics. Oder typicaw appwications are characterizing viscoewastic fiwms, conformationaw changes of deposited macromowecuwes, buiwd-up of powyewectrowyte muwtiwayers, and degradation or corrosion of fiwms and coatings.
 1. ^ Sittew, Karw; Rouse, II, Prince E.; Baiwey, Emerson D. (1954). "Medod for Determining de Viscoewastic Properties of Diwute Powymer Sowutions at Audio-Freqwencies". Journaw of Appwied Physics. 25 (10): 1312–1320. Bibcode:1954JAP....25.1312S. doi:10.1063/_PHONE_.
 2. ^ Hirao, Masahiko; Ogi, Hirotsugu; Fukuoka, Hidekazu (1993). "Resonance Emat system for acoustoewastic stress measurement in sheet metaws". Review of Scientific Instruments. 64 (11): 3198–3205. Bibcode:1993RScI...64.3198H. doi:10.1063/_PHONE_. hdw:11094/3191.
 3. ^ Rodahw, Michaew; Kasemo, Bengt Herbert (1998-06-04) [May 1996]. "A simpwe setup to simuwtaneouswy measure de resonant freqwency and de absowute dissipation factor of a qwartz crystaw microbawance". Review of Scientific Instruments. 67 (9): 3238–3241. Bibcode:1996RScI...67.3238R. doi:10.1063/_PHONE_.
 4. ^ Johannsmann, Diedewm (2007). "Studies of Viscoewasticity wif de QCM". In Steinem, Cwaudia; Janshoff, Andreas (eds.). Piezoewectric Sensors. Springer Series on Chemicaw Sensors and Biosensors. 5. Berwin / Heidewberg: Springer-Verwag (pubwished 2006-09-08). pp. 49–109. doi:10.1007/5346_024. ISBN 978-3-540-36567-9. ISSN _PHONE_.
 5. ^ Johannsmann, Diedewm (2008). "Viscoewastic, mechanicaw, and diewectric measurements on compwex sampwes wif de qwartz crystaw microbawance". Physicaw Chemistry Chemicaw Physics. 10 (31): 4516–4534. Bibcode:2008PCCP...10.4516J. doi:10.1039/b803960g. PMID _PHONE_.
 6. ^ Pwunkett, Mark A.; Wang, Zhehui; Rutwand, Mark W.; Johannsmann, Diedewm (2003). "Adsorption of pNIPAM wayers on hydrophobic gowd surfaces, measured in situ by QCM and SPR". Langmuir. 19 (17): 6837–6844. doi:10.1021/wa034281a.
 7. ^ Vuoriwuoto, Maija; Orewma, Hannes; Johansson, Leena-Sisko; Zhu, Baowei; Poutanen, Mikko; Wawder, Andreas; Laine, Janne; Rojas, Orwando J. (10 December 2015). "Effect of Mowecuwar Architecture of PDMAEMA–POEGMA Random and Bwock Copowymers on Their Adsorption on Regenerated and Anionic Nanocewwuwoses and Evidence of Interfaciaw Water Expuwsion". The Journaw of Physicaw Chemistry B. 119 (49): 15275–15286. doi:10.1021/acs.jpcb.5b07628. PMID 26560798.
 8. ^ Mohan, Tamiwsewvan; Niegewheww, Katrin; Zarf, Cíntia Sawomão Pinto; Kargw, Rupert; Köstwer, Stefan; Ribitsch, Vowker; Heinze, Thomas; Spirk, Stefan; Stana-Kweinschek, Karin (10 November 2014). "Triggering Protein Adsorption on Taiwored Cationic Cewwuwose Surfaces". Biomacromowecuwes. 15 (11): 3931–3941. doi:10.1021/bm500997s. PMID 25233035.
 9. ^ Emiwsson, Gustav; Schoch, Rafaew L.; Feuz, Laurent; Höök, Fredrik; Lim, Roderick Y. H.; Dahwin, Andreas B. (15 Apriw 2015). "Strongwy Stretched Protein Resistant Powy(edywene gwycow) Brushes Prepared by Grafting-To". ACS Appwied Materiaws & Interfaces. 7 (14): 7505–7515. doi:10.1021/acsami.5b01590. PMID 25812004.


It's a solid... no, it's a liquid... no, a solid... no... wait, what is it? It's gloop! It's a fascinating, curious substance that has properties of both a liquid and a solid. This activity is a little messy, but it's definitely worth it. Gloop will mesmerise your toddler, and probably you, too!
Skills developed: moulding and squishing, fine motor skills, language
What you'll need: a large bowl (preferably plastic), two big spoons, cornflour, water, food colouring (optional), an apron or clothes you don't mind getting messy and newspaper to protect the floor if you're playing inside
What to do: This game is probably best played outdoors, but if you're inside, put down plenty of newspaper to protect the floor. Either way, make sure your toddler is wearing clothes you don't mind getting messy.
Pour a cup or two of cornflour into a bowl, and gradually add water until you have a gloopy mixture. Let your toddler hold one of the spoons and help you "stir" as you go. Add a few drops of food colouring, if you're using it, and stir again.
Now roll up your toddler's sleeves and let him plunge his hands into the bowl. Pick up some of the gloop yourself and squeeze it. Note that as you apply pressure, it feels like a solid. Relax your hand and the gloop will run back into the bowl as a liquid.
Talk to your toddler about what he can feel as the two of you squish and squash the gloop. For example, you can say, "When we squeeze it, it gets hard and firm. But when we stop squeezing, it gets soft again. Isn't that funny?" And make sure there's enough gloop for both of you, it's a little addictive.
Note: if your child has asthma or you're concerned about him breathing in the cornflour powder, make sure you mix it with water while he's at a safe distance. Once it's gloopy, it's perfectly safe.
Track your baby's development
Trying to conceive?
Log in or sign up to post a comment!
Our site uses cookies to store information on your computer.
Getting pregnant
For you
Meet other mums!


Severance Pay & Connecticut Unemployment Benefits
When you receive severance pay as your employer terminates you, the Connecticut Department of Labor (CTDOL) doesn't automatically disqualify you from unemployment benefits. Instead, the agency treats that pay as income and uses the state's formula to calculate how much, if any, unemployment payments you're still entitled to. After your severance pay runs out, you begin collecting normal payments. As long as you report your severance pay during the unemployment claims process, you'll receive the correct amount. However, if you conceal your severance pay so you can collect more unemployment, you'll face stiff penalties from the Connecticut government.
Severance Pay
When your employer offers you severance pay, it's to offset the fact that you're losing your job. By offering you a few extra weeks of salary payments, your employer hopes to soften the blow of termination. When you get your last paycheck from the employer, it will have additional weeks of income on it above what you earned through work.
Reporting Severance Pay
When you make your claim to the CTDOL, you must report your severance pay. The reason is that severance pay is still considered income. Although collecting income doesn't disqualify you from Connecticut unemployment benefits, it may change your eligibility. During your initial application process, you must answer the question about severance pay truthfully and explain how much money you receive from. Afterward, when you file your weekly claim, you must note any weeks you've earned severance pay. The CTDOL will calculate your eligibility depending on your answers.
Calculating Partial Payments
If you earn severance pay a week in which you're also eligible for Connecticut unemployment benefits, you can still collect partial benefits. To determine how much your unemployment payment should be, the CTDOL takes two-thirds of your severance pay before any deductions such as taxes. They then subtract the result from your normal weekly payment. You receive the rest, if any, as a payment. When your severance pay runs out, your unemployment benefits stop being partial payments.
Failure to Report
If you don't report your severance pay, you are committing insurance fraud. The CTDOL verifies with your employer at the beginning of your claim and does random audits of files through your benefit year. If you are ever found withholding, concealing or misrepresenting information about your income, you can face severe penalties. Connecticut punishes this crime by forcing you to repay your benefits back and penalizing you up to an 39 additional benefit weeks. This means that the next time you qualify for unemployment, you have to serve these weeks with no payment. In some cases, you can receive fines of up to $5,000 and between one and five years of jail time.


An intelligent semi-active isolation system based on ground motion characteristic prediction
Tzu Kang Lin, Lyan Ywan Lu, Chia En Hsiao, Dong You Lee
研究成果: Article同行評審
摘要
This study proposes an intelligent semi-active isolation system combining a variable-stiffness control device and ground motion characteristic prediction. To determine the optimal control parameter in real-time, a genetic algorithm (GA)-fuzzy control law was developed in this study. Data on various types of ground motions were collected, and the ground motion characteristics were quantified to derive a near-fault (NF) characteristic ratio by employing an on-site earthquake early warning system. On the basis of the peak ground acceleration (PGA) and the derived NF ratio, a fuzzy inference system (FIS) was developed. The control parameters were optimized using a GA. To support continuity under near-fault and far-field ground motions, the optimal control parameter was linked with the predicted PGA and NF ratio through the FIS. The GA-fuzzy law was then compared with other control laws to verify its effectiveness. The results revealed that the GA-fuzzy control law could reliably predict different ground motion characteristics for real-time control because of the high sensitivity of its control parameter to the ground motion characteristics. Even under near-fault and far-field ground motions, the GA-fuzzy control law outperformed the FPEEA control law in terms of controlling the isolation layer displacement and the superstructure acceleration
原文English
頁（從 - 到）53-64
頁數12
期刊Earthquake and Structures
22
發行號1
DOIs
出版狀態Published - 2022 1月
All Science Journal Classification (ASJC) codes
 - 土木與結構工程
指紋
深入研究「An intelligent semi-active isolation system based on ground motion characteristic prediction」主題。共同形成了獨特的指紋。
引用此


text:
TSH and T4 concentrations 8 weeks after transplantation of stem cells. TSH and T4 serum levels of all groups 8 weeks after BM derived cells transplantation. All concentrations of T4 are very similar in all groups with no statistical difference between them. TSH concentration of group II although high compared to other groups had no significant difference. TSH was repeated for group II at 10 weeks after transplantation and the mean was 0.140 μIU/mL.
Guajardo-Salinas et al. Journal of Negative Results in BioMedicine 2007 6:1 doi:10.1186/_PHONE_-6-1

source: m-a-p/FineFineWeb


Simulink Design Optimization
Specify Custom Signal Objective with Uncertain Variable (GUI)
This example shows how to specify a custom objective function for a model signal. You calculate the objective function value using a variable that models parameter uncertainty.
Competitive Population Dynamics Model
The Simulink model sdoPopulation models a simple two-organism ecology using the competitive Lotka-Volterra equations:
$$\frac{d P_1}{dt} = R_1 P_1 (1 - \frac{P_1(t-\tau_1)+\alpha
P_2(t-\tau_2)}{K})$$
$$\frac{d P_2}{dt} = R_2 P_2 (1 - \frac{P_2(t-\tau_2)+\alpha
P_1(t-\tau_1)}{K})$$
 - $P_n$ is the population size of the n-th organism.
 - $R_n$ is the inherent per capita growth rate of each organism.
 - $\tau_n$ is the competitive delay for each organism.
 - $K$ is the carrying capacity of the organism environment.
 - $\alpha$ is the proximity of the two populations and how strongly they affect each other.
The model uses normalized units.
Open the model.
The two-dimensional signal, P, models the population sizes for P1 (first element) and P2 (second element). The model is initially configured with one organism, P1, dominating the ecology. The Population scope shows the P1 population oscillating between high and low values, while P2 is constant at 0.1. The Population Phase Portrait block shows the population sizes of the two organisms in relation to each other.
Population Stabilization Design Problem
Tune the $R_2$, $\tau_2$, and $\alpha$ values to meet the following design requirements:
 - Minimize the population range, that is, the maximum difference between P1 and P2.
 - Stabilize P1 and P2, that is, ensure that neither organism population dies off or grows extremely large.
You must tune the parameters for different values of the carrying capacity, $K$. This ensures robustness to environment carrying-capacity uncertainty.
Open Design Optimization Tool
Double-click the Open Optimization Tool block in the model to open a pre configured Design Optimization tool session. The session specifies the following variables:
 - DesignVars - Design variables set for the $R_2, \tau_2$, and $\alpha$ model parameters.
 - K_unc - Uncertain parameter modeling the carrying capacity of the organism environment ( $K$ ). K_unc specifies the nominal value and two sample values.
 - P1 and P2 - Logged signals representing the populations of the two organisms.
Specify Custom Signal Objective Function
Specify a custom requirement to minimize the maximum difference between the two population sizes. Apply this requirement to the P1 and P2 model signals.
 1. Open the Create Requirement dialog box. In the New list, select Custom Requirement.
 2. Specify the following in the Create Requirement dialog box:
 - Name - Enter PopulationRange.
 - Type - Select Minimize the function output from the list.
 - Function - Enter _USER_. For more information about this function, see Custom Signal Objective Function Details.
 - Select Signals and Systems to Bound (Optional) - Select the P1 and P2 check boxes.
3. Click OK.
A new variable, PopulationRange, appears in the Design Optimization Workspace.
Custom Signal Objective Function Details
PopulationRange uses the sdoPopulation_PopRange function. This function computes the maximum difference between the populations, across different environment carrying capacity values. By minimizing this value, you can achieve both design goals. The function is called by the optimizer at each iteration step.
To view the function, type edit sdoPopulation_PopRange. The following discusses details of this function.
The function accepts data, a structure with the following fields:
 - DesignVars - Current iteration values of $R_2, \tau_2$, and $\alpha$.
 - Nominal - Logged signal data, obtained by simulating the model using parameter values specified by data.DesignVars and nominal values for all other parameters. The Nominal field is itself a structure with fields for each logged signal. The field names are the logged signal names. The custom requirement uses the logged signals, P1 and P2. Therefore, data.Nominal.P1 and data.Nominal.P2 are timeseries objects corresponding to P1 and P2.
 - Uncertain - Logged signal data, obtained by simulating the model using the sample values of the uncertain variable K_unc. The Uncertain field is a vector of N structures, where N is the number of sample values specified for K_unc. Each element of this vector is similar to data.Nominal and contains simulation results obtained from a corresponding sample value specified for K_unc.
The function returns the maximum difference between the population sizes across different carrying capacities. The following code snippet in the function performs this action:
val = max(maxP(1)-minP(2),maxP(2)-minP(1));
Data Time Range
When computing the design goals, discard the initial population growth data to eliminate biases from the initial-condition. The following code snippet in the function performs this action:
%Get the population data
tMin = 5; %Ignore signal values prior to this time
iTime = data.Nominal.P1.Time > tMin;
sigData = [data.Nominal.P1.Data(iTime), data.Nominal.P2.Data(iTime)];
iTime represents the time interval of interest, and the columns of sigData contain P1 and P2 data for this interval.
Optimization for Different Values of Carrying Capacity
The function includes the effects of varying the carrying capacity by iterating through the elements of data.Uncertain. The following code snippet in the function performs this action:
for ct=1:numel(data.Uncertain)
 iTime = data.Uncertain(ct).P1.Time > tMin;
 sigData = [data.Uncertain(ct).P1.Data(iTime), data.Uncertain(ct).P2.Data(iTime)];
 maxP = max([maxP; max(sigData)]); %Update maximum if new signals are bigger
 minP = min([minP; min(sigData)]); %Update minimum if new signals are smaller
The maximum and minimal populations are obtained across all the simulations contained in data.Uncertain.
Optimize Design
Click Optimize.
The optimization converges after a number of iterations.
The P1,P2 plot shows the population dynamics, with the first organism population in blue and the second organism population in green. The dotted lines indicate the population dynamics for different environment capacity values. The PopulationRange plot shows that the maximum difference between the two organism populations reduces over time.
The Population Phase Portrait block shows the populations initially varying, but they eventually converge to stable population sizes.
% Close the model


text:
- About Us
- Local Savings
- Green Editions
- Legal Notices
- Weekly Ads
Connect with Us
Special ed budget uncertain
As the Oak Harbor School District prepares its budget for the 2004-2005 school year, officials are having trouble figuring out the special education budget.
Thats because the school district doesnt yet know how much money its going to have for the program next year.
The school district has been told to expect a 13.7 percent increase in special education funding from the federal government. However, that percentage is likely to decrease after the state sets aside a percentage of the increase for safety net funding for school districts that see increases in special education students.
The Oak Harbor district received approximately $731,000 from the federal government this year. Overall, it spends nearly $4 million administering its special education programs.
While the state is determining how much money the school district will receive, local officials still need to hammer out a budget, a process that some hope to complete by the end of the month.
Pam Ross, business director, said that the district is estimating a 10 percent increase in federal funding this year.
While the school district can expect some additional funding this year, the money it receives does not cover the cost of the program.
The state just doesnt fund fully and hasnt done it in years, Ross said.
The funding the school district receives is nearly $400,000 short of what it spends. To make up that difference, the district uses $220,000 in federal Impact Aid money and the remainder from the general fund.
Even though the school district doesnt receive enough money to fund the programs, it is required to meet the needs of special education students as outlined under their individualized education plan.
Theres a whole range of needs depending on a child and we have to look at each child individually and serve those needs, said Laura Rice, special programs director for the Oak Harbor School District.
The school district serves 50 special education children under the age of two and 683 students from ages three to 21.
Ross said the school district once received state money based on each students disability but that changed several years ago.
The state now gives out a flat rate that is nearly double the Basic Education Allowance per student. This year the Oak Harbor district received $3,975 per student and $7,633 for every special education student.
Ross said that depending on student needs, this can go over that amount per year and the district is left picking up the remainder.
Rice pointed out that, while the school district is required by law to take care of special needs students, it remains an unfunded mandate from the federal government.
You can reach News-Times reporter Nathan Whalen at nwhalen@whidbeynews


What is Secondary DNS?
Secondary DNS is available for domains on Enterprise plans.
Secondary DNS allows Cloudflare to act as a Secondary DNS provider to another organization's Master DNS. With Secondary DNS, DNS entries are edited in a system outside of Cloudflare and changes are transferred to Cloudflare's infrastructure.
If the current DNS provider does not support Zone Transfer, Cloudflare cannot become a Secondary DNS provider.
1. Contact your Cloudflare Account team:
 - Request Secondary DNS to be enabled.
 - Request the configuration parameters to set at the primary DNS provider.
2. In the Cloudflare Overview app for the domain requiring Secondary DNS:
 - Identify the Cloudflare Account ID.
 - Identify the Cloudflare Zone ID.
 - Note the two Cloudflare Nameservers.
If the Cloudflare Nameservers don't contain secondary in the name, confirm the Cloudflare Account team has enabled Secondary DNS.
3. Consult the Master DNS provider's documentation for instructions on configuring the Master zone.
4. Determine the configuration parameters from the Master zone:
 - Master IP Address - The IP address that Cloudflare should accept Zone Transfers from.
 - Zone transfer type - Will zone transfers be full (AXFR) or incremental (IXFR)?
 - (Optional) TSIG Secret - The secret string used to authenticate zone transfers.
 - (Optional) TSIG Algorithm - The algorithm used to authenticate zone transfers.
Once the list of prerequisites have been completed, configure the Secondary Zone at Cloudflare.
Configuring a Secondary Zone through the CloudFlare API
DNSSEC is currently unsupported when Cloudflare is configured as a Secondary DNS provider.
Secondary DNS can only be configured via the Cloudflare API. Requests can be sent to the API via a command-line utility like cURL or a browser plugin such as Postman.
Refer to the Cloudflare API documentation for full examples on the supported API methods available:
For each POST example provided in the steps below, replace :account_tag with the Account ID identified from the Prerequisites section of this article:
STEP 1 - Configure TSIG (Optional)
In the example request below, name and secret must be provided by the primary DNS provider and algomust reflect the correct TSIG algorithm from the Master DNS server.
_TAG_ _URL_
{"name": ":tsig_secret_name",
"secret": ":tsig_secret_string",
"algo": "hmac-sha512"}
A successful POST request will respond with an id. Include this id when adding a Master.
STEP 2 - Add a Master
Multiple Masters can be added via the Cloudflare API.
_TAG_ _URL_
{"ip": ":master_ip",
"port": 53,
"ixfr_enable": true,
"tsig_id": ":tsig_tag"}
 - :master_ip is the IPv4/IPv6 address of Master nameserver.
 - ixfr_enable set to true enables IXFR transfer protocol. The default is AXFR.
 - :tsig_tag (optional) is the id provided in STEP 1 - Configure TSIG, if configured
A successful POST request will respond with an id for the Master DNS server and must be included when creating a Secondary Zone via the Cloudflare API
STEP 3 - Create Secondary Zone
_TAG_ _URL_
{"id": ":zone_tag",
"name": ":zone_name",
"masters": [ ":zone_master_tag" ],
"auto_refresh_seconds": 30 }
 - :zone_tag is the Zone ID of the domain configured for Secondary DNS.
 - :zone_name is the domain name configured for Secondary DNS.
 - :zone_master_tag is the list of Master IDs created in STEP 2 - Add a Master.
The Cloudflare DNS UI will be disabled for Secondary Zones since records are managed through the primary DNS provider's Master server.
STEP 4 - Testing Secondary DNS
Add a TXT record to the primary DNS provider to test transfer to Cloudflare's Secondary DNS servers. Then, verify the TXT record is visible when querying Cloudflare's nameservers. Replace nsNNNN with the correct name of a Cloudflare Secondary DNS servers for the domain:
dig _USER_.secondary.cloudflare.com :zone_name txt +short
The Cloudflare Analytics app will continue to provide DNS data but only for DNS requests that Cloudflare's nameservers answer.
Related Resources


text:
Table of contents
Humidifier Pad Assy
The Humidifier Pad Assy from CTT Systems is a groundbreaking innovation, far surpassing the role of a mere consumable. It stands as the heart of the Humidifier Onboard system, a key innovation in the realm of aircraft humidification. Since the launch of the Airbus A380, CTT Systems has been at the forefront, crafting these essential components for all new widebody airframers.
Humidifier pad overview
The Humidifier Pad Assy by CTT Systems is distinguished by its unique Intellectual Property (IP) material, meticulously developed to meet the stringent specifications of aviation leaders Airbus and Boeing. This product transcends the role of a mere component; it is an integral sub-system within the Humidifier Onboard system, adhering to the highest standards of reliability, performance, and safety.
Innovative material development
When developing line-fit technology, CTT Systems engineers recognized that standard pad materials did not meet the rigorous aviation standards set by Boeing, Airbus, the FAA, and the FDA. In response, CTT Systems formed a strategic alliance with Munters, a leading supplier of climate solutions. Together, they engineered a new and unique humidifier pad material that not only meets but exceeds these stringent standards.
Aviation standards and OEM humidifier
The CTT Systems humidifier pad assembly is specifically designed to meet the unique requirements of aircraft and to integrate seamlessly with OEM humidifier housing. The pad material has undergone extensive testing to ensure it can handle maximum air velocity, adhere to carryover limits, and maintain appropriate pH levels. It features a high fire rating, prevents legionella transfer, and incorporates activated carbon to resist bacterial growth. This material is uniquely qualified to operate under the specific conditions of the OEM humidifier housing, a capability not achievable with standard pad materials.
Ensuring reliability and safety
A critical aspect of the humidifier pad material is its contribution to the reliability and safety of the air supply system. As the air for the flight deck and crew rest areas passes through the Humidifier Onboard system, it is imperative that the pad material remains intact, without releasing any particles or collapsing. The original humidifier pad assembly material from CTT Systems meets FAA Part 25 and EASA CS-25 airworthiness standards, as well as Boeing's stringent requirements for design, testing, and documentation, ensuring consistent and safe airflow.
Addressing the dry cabin air
For decades, dry cabin air has been a persistent issue in aviation. Over 20 years ago, CTT Systems pioneered the solution by developing the Humidifier Onboard system based on evaporative cooling technology. This innovation was first embraced by Airbus for the A380 program, followed by Boeing for the 787 program. CTT Systems has since become the exclusive supplier of humidifiers for flight decks, crew rest compartments, and passenger cabins in Airbus A350 and Boeing 777X aircraft. Today, more than 3,000 Humidifier Onboard systems are in service across over 50 airlines worldwide.
The Humidifier Pad Assy from CTT Systems represents a significant advancement in aircraft humidification technology. With its unique IP material, it sets new standards in the industry, ensuring full compliance with all relevant aviation authorities and industry standards. The Humidifier Pad Assy is not just a component; it is a crucial sub-system designed to work in tandem with the OEM humidifier housing, providing consistent, reliable, and high-performance humidified air flow. Since its introduction in 2007, the CTT Systems Humidifier Onboard system has demonstrated exceptional reliability and is now a feature in nearly 1,500 widebody aircraft.
Pad assy installation in Humidifier Onboard system
- Flight Deck
- Overhead Flight Crew Rest (OFCR)
- Overhead Flight Attendant Rest (OFAR)
Humidifier pad assy video
- Humidifier Onboard
- Article Humidifier Pad Assy by CTT is based on unique IP to obtain OEM compliance
- Article about the importance of humidity for human health
- White papers about the importance of humidification in the flight deck, crew rest compartment and aircraft cabin


Tustin Water Quality
Tustin Water Quality Report
Tustin Water Quality Report
Contaminants that may be present in source water include:
Columbus Tustin, a Northern California carriage maker, and his partner Nelson Stafford purchased 1,300 acres of what had been the Rancho Santiago de Santa Ana for the price of one dollar and fifty cents per acre. Mr. Tustin attempted to create Tustin City, but sales of homesites were slow, and in the early 1870s he ended up giving free lots to anyone who would build a home.
In 1877, Tustin lost out to Santa Ana as the Southern terminus of the Southern Pacific Railroad, and Columbus Tustin died in 1883, a bitterly disappointed man. Nonetheless, with the abundance of water, the community named after him gradually became established as an agricultural center.
In the 1950s, Tustin's growth began in earnest. Freeways, quality schools, and post-war industries attracted thousands of people. The orchards were developed by builders and by 1970 the population had jumped to 32,000.
Growth was a painful process as houses replaced orange groves. Old-timers and newcomers alike had to adapt to each other, cope with new problems and situations, and expand facilities to handle increased patronage. And so tract after tract replaced grove after grove.
With all the development, the next step was annexation to the City. Annexation became the major issue during the period from 1955 to 1965. One of the early annexations to the city was the Tustin Union High School campus. Although the school was built in 1921, it remained outside the city limits until annexation in 1957.
During the 1950s the City increased 220% in size with annexations. The big leap came in the 1960s when the population increased a whopping 1,012%, going from 2,006 to 22,313 population and the land area increased from 434.23 acres to 2,21477, or a 410% increase. Several large annexations greatly increased the city's area between 1971 and 1981.
The Marine Corps Air Station was annexed to Tustin, adding 2,076 acres to the city. A few years later a total of 2,257 acres that had been in the Irvine Ranch agricultural preserve were annexed and have been developed as Tustin Ranch.


D) to stop.
You can then provide a request body. If you do, the method will be POST instead of GET. When you are done with inputting data, or want the request to be GET, press CTRL + D. The faas-cli will then execute the inferred request and output the response, similarly to the web UI.
To delete a function, run faas remove:
 1. faas remove nodeinfo
You'll get the following output:
Output
Deleting: nodeinfo. Removing old function.
Run faas list again to see that nodeinfo was removed:
Output
Function Invocations Replicas
In this step, you've deployed, listed, invoked, and removed functions in your cluster from the command line using the faas-cli. In the next step, you'll create your own function and deploy it to your cluster.
Step 5 — Creating and Deploying a New Function
Now you'll create a sample Node.JS function using the faas-cli and deploy it to your cluster.
The resulting function you'll create will be packaged as a Docker container and published on Docker Hub. To be able to publish containers, you'll need to log in by running the following command:
 1. docker login
Enter your Docker Hub username and password when prompted to finish the login process.
You'll store the sample Node.JS function in a folder named sample-js-function. Create it using the following command:
 1. mkdir sample-js-function
Navigate to it:
 1. cd sample-js-function
Populate the directory with the template of a JS function by running the following command:
 1. faas new sample-js --lang node
The output will look like this:
Output
2020/03/24 17:06:08 No templates found in current directory. 2020/03/24 17:06:08 Attempting to expand templates from _URL_ 2020/03/24 17:06:10 Fetched 19 template(s) : [csharp csharp-armhf dockerfile go go-armhf java11 java11-vert -x java8 node node-arm64 node-armhf node12 php7 python python-armhf python3 python3-armhf python3-debian ru by] from _URL_ Folder: sample-js created. ___ _____ ____ / _ \ _ __ ___ _ __ | ___|_ _ __ _/ ___| | | | | '_ \ / _ \ '_ \| |_ / _' |/ _' \___ \ | |_| | |_) | __/ | | | _| (_| | (_| |___) | \___/| .__/ \___|_| |_|_| \__,_|\__,_|____/ |_| Function created in folder: sample-js Stack file written: sample-js.yml ...
As written in the output, the code for the function itself is in the folder sample-js, while the OpenFaaS configuration for the function is in the file sample-js.yaml. Under the sample-js directory (which resembles a regular Node.JS project) are two files, handler.js and package.json.
handler.js contains actual JS code that will return a response when the function is called. The contents of the handler look like the following:
sample-js-function/sample-js/handler.js
"use strict"
module.exports = async (context, callback) => {
 return {status: "done"}
}
It exports a lambda function with two parameters, a context with request data and a callback that you can use to pass back response data, instead of just returning it.
Open this file for editing:
 1. nano sample-js/handler.js
Change the highlighted line as follows:
sample-js-function/sample-js/handler.js
"use strict"
module.exports = async (context, callback) => {
 return {status: "
Hello Sammy!
"}
}
When you are done, save and close the file. This OpenFaaS function will, when called, write Hello Sammy! to the response.
Next, open the configuration file for editing:
 1. nano sample-js.yml
It will look like the following:
sample-js-function/sample-js.yml
version: 1.0
provider:
 name: openfaas
 gateway: https://openfaas.your_domain
functions:
 sample-js:
 lang: node
 handler: ./sample-js
 image: sample-js:latest
For the provider, it specifies openfaas and a default gateway. Then, it defines the sample-js function, specifies its language (node), its handler and the Docker image name, which you'll need to modify to include your Docker Hub account username, like so:
sample-js-function/sample-js.yml
version: 1.0
provider:
 name: openfaas
 gateway: http://127.0.0.1:8080
functions:
 sample-js:
 lang: node
 handler: ./sample-js
 image: your_docker_hub_username/sample-js:latest
Save and close the file.
Then, build the Docker image, push it to Docker Hub, and deploy it on your cluster, all at the same time by running the following command:
 1. faas up -f sample-js.yml
There will be a lot of output (mainly from Docker), which will end like this:
Output
. . . [0] < Pushing sample-js [your_docker_hub_username/sample-js:latest] done. [0] Worker done. Deploying: sample-js. Deployed. 202 Accepted. URL: https://openfaas.your_domain/function/sample-js
Invoke your newly deployed function to make sure it's working:
 1. faas invoke sample-js
Press CTRL + D. You'll see the following output:
Output

Hello Sammy!

This means that the function was packaged and deployed correctly.
You can remove the function by running:
 1. faas remove sample-js
You have now successfully created and deployed a custom Node.JS function on your OpenFaaS instance in your cluster.
Conclusion
You've deployed OpenFaaS on your DigitalOcean Kubernetes cluster and are ready to deploy and access both pre-made and custom functions. Now, you are able to implement the Function as a Service architecture, which can increase resource utilization and bring performance improvements to your apps.
If you'd like to learn more about advanced OpenFaaS features, such as autoscaling for your deployed functions and monitoring their performance, visit the official docs.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Learn more about us
About the authors
Default avatar
Savic
author
Still looking for an answer?
Ask a questionSearch for more help
Was this helpful?

1 Comments
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Hello, can we use this with Node autoscaler? For example, if I run a pod that get more ram and cpu then existing, can it start new droplet node and run that task? I'm about the provision of instance, if it can automatic get instance its just like AWS Fargate except the cluster to run the OpenFaaS
Try DigitalOcean for free
Click below to sign up and get $200 of credit to try our products over 60 days!
Sign up
Join the Tech Talk
Success! Thank you! Please check your email for further details.
Please complete your information!
Get our biweekly newsletter
Sign up for Infrastructure as a Newsletter.
Hollie's Hub for Good
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Become a contributor
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Welcome to the developer cloud
DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.
Learn more
DigitalOcean Cloud Control Panel


text:
Current published statistics show that claims issued in the High Court in respect of contested Will disputes are at a record high.
I thought a will was unchallengeable
Let me start by saying that the above statement is in most cases correct. If a will is drafted correctly by a solicitor, the formalities are completed and the person making the will is of sound mind, then in most cases a Will is very difficult to challenge. My first piece of advice therefore is if your do not have a Will or it needs updating then seek advice from a reputable solicitor and it is likely that that Will cannot be challenged. My colleagues here at Biscoes can help with this.
Why then are challenges to Wills and disputes over inheritance increasing and at an all-time high
There are many factors as to why Will disputes are on the increase, these can be summarised as follows:-
- It is estimated that up to 50% of the adult population do not have a Will at all. This means that if someone dies without a Will the Estate will be distributed in accordance with the Rules of Intestacy and this can lead to disputes.
- The change in families and their diversity, often there are second marriages and children from both marriages believe they should inherit and when this does not happen disputes arise.
- Increased life expectancy often means that a Will is either old and outdated and does not consider a change on circumstances or people are making Wills when they get much older and issues of capacity, i.e. whether someone had the mental capacity to make a Will arises.
- Increase in property prices will often mean that a deceased estate is worth much more than it used to be which means there is more money to argue about and this increases the risk of disputes.
The Reasons for disputing a Will.
There are many reasons why a beneficiary who is disappointed by a Will or lack of one might want to challenge a Will.
This might just be because they have been left out or have not received as much from the estate as they thought they should in those cases, depending on circumstances, a claim under the Inheritance (Provision for Family and Dependants) Act 1975 can be made
Alternatively, there may be arguments that the deceased did not have capacity to make the Will, may not have understood the nature of the Will and their assets or may have been unduly influenced.
There may be other reasons to such as promises that may have been made by the deceased to someone that they might inherit and upon reliance of those promises the disappointed beneficiary may be able to rely in certain circumstances on those promises.
What should you do then if you find yourself in this situation?
Firstly, you should act quickly as in some cases you only have a limited amount of time to claim or protect your position. You should seek advice from a specialist solicitor, preferably one with an ACTAPS qualification to explore your case and your options.
If you require advice on such matters then contact me at _EMAIL_ or by telephone on 02392660261

source: openbmb/Ultra-FineWeb


Take the 2-minute tour ×
Forgive me for asking something that is probably explained elsewhere, but I am having trouble designing a data model in Cassandra.
I am storing transactions. These transactions each have a source (user), a timestamp, and some associated keywords. I need to be able to find transactions given the source and a date range and (optional) keywords. Cassandra is attractive because I need to store billions of transactions.
I have been unable to find a resource that explains how to do this type of thing. My initial thoughts involve having a few CFs - a transaction CF, a keyword_transaction CF, a source_transaction CF, and possible a day_transaction CF (or something similar). This would make it very straight forward to find transactions based on any one of the above items, but it doesn't seem like it will let me search on all of the above items.
Any thoughts?
share|improve this question
add comment
1 Answer
Start by thinking your query and then to your data model. Read here and here as this help when you plan for your data model.
cf : transactions
rowkey : source/uuid (suggestion)
 cn : source
 cv : UTF8
 cn : keyword
 cv : UTF8
 cn : date
 cv : DateType
 cn : time
 cv : DateType
cf : keywords
rowkey : keyword
 cn : source
 cv : UTF8
where you will have a standard column family called transactions and a few column name (cn) and its corresponding column value (cv). Each of these transaction are identify by the rowkey. Another standard column family is the keywords where the rowkey would be the keyword.
You can search by source, timestamp or keyword but you do need to index them for the query to work. For example with the above suggestion data structure, you can do these:
 - get all transaction where source is equal to ''
 get transactions where source = ''
 - get all transaction where source is equal to '' and your date > ''
 get transactions where source = '' and date > '';
 - get all transaction for date x
 get transactions where date = '';
 - get all source name based on keyword
 get keywords['keyword'];
share|improve this answer
add comment
Your Answer


text:
TMO at MWSF - TheSkyX Astronomy Software Released for Mac OS X
by , 8:45 AM EST, January 18th, 2008
SAN FRANCISCO - Bisque Software announced the immediate availability of TheSkyX at Macworld this week. The native Mac OS X astronomy software allows the user to see what the night sky will look like at any time and any place on Earth, learn about the night sky and plan observing sessions.
Years ago, The Sky was a very popular program for Mac OS 9. Now, Bisque Software has released a native and Universal version, specially designed for students, that runs in Mac OS X.
"TheSkyX Student is a comprehensive and full-featured tool to help you explore and actively develop an understanding of basic astronomy. You can learn the constellations (labeled with their phonetic pronunciation), watch planetary motion over days or centuries, witness solar and lunar eclipses, or show detailed drawings of mythological characters and so much more," according to Bisque Software.
The Mac OS X version comes by virtue of Bisque's investment in a cross platform development system, Trolltech's Qt. This is a framework system that allows developers to maintain one set of source code, but compile for different target systems, including Mac OS X, Carbon.
TMO watched a demo of TheSkyX in the Bisque Software booth and Macworld, and it is fast, smooth and beautiful.
TheSkyX requires a minimum of 1.25 GHz PowerPC processor or 2.0 GHz Intel processor, 512 MB RAM and Mac OS X 10.4.8 or later. It is priced at US$99.00.
- Mon,3:55 PM
- OS X Yosemite: What Does That Little Green Button do NOW?
- 2:02 PM
- TMO Daily Observations: 2014-07-28
- 10:55 AM
- Apple Ready to Buy Swell Talk Show App in $30M Deal
- 10:09 AM
- Report Claims Retina MacBook Pro Speed Bump Coming Tuesday
- 9:04 AM
- EU Greenlights Apple's Beats Acquisition
- Fri,9:03 PM
- 3 Free iOS Apps To Help You Find Something To Watch
- 8:57 PM
- 9 Swift Resources for iOS 8 Developers
- 7:39 PM
- OS X and iOS Application Compatibility Table
- 6:35 PM
- Best News in the Verse: Firefly Cast Reuniting for Firefly Online
- 6:26 PM
- Bose Sues Apple Acquisition Beats for Patent Infringement
- 5:11 PM
- iZZi Slim 4-Lenses-In-One Photo Kit: $95
- 3:44 PM
- Take Control of Yosemite Beta Testing Released


The question: How to handle table misses? Can we handle this by setting the default action of tstgXY_update_state to finish_action? Will the default action interfere with the correct emulation of all virtual devices sharing the tstgXY_update_state table? - finish_action requires the next_stage as a parameter. The logical value to supply is X + 1 where 'X' is the value in tstgXY_update_state. - Can X + 1 sometimes be incorrect? Yes. - apply_and_select_blocks affect table reference sequence, and the p4c_hp4 compiler maps every table to a unique stage. Instead of setting a default action, we can have the compiler generate a rule for tstgXY_update_state: mparams: vdev_ID: [VDEV ID] action_ID: 0 action: finish_action aparams: next_stage: compiler determines: if 'miss' construct present: use the stage corresponding to the table identified in the 'miss' construct else: use h.p4_control_flows['ingress'].call_sequence call_sequence is a list in which each member is either a table reference, or a tuple, the first member of which is a table reference, and the second member is a list where each member represents an action_case. Find the subject table in the call_sequence; the target table is the next one at the same level in the call_sequence. This target table is the lookup for the stage to pass as the value for finish_action's next_stage parameter. Implementation: existing code that generates tsgtXY_update_state entries: gen_action_entries background: action_to_arep: member of: P4_to_HP4 type: {p4_action: Action_Rep} Action_Rep: stages (set (ints)) tables ({stage (int): table_name (str)}) call_sequence ([(prim_type (str), prim_subtype (str of int))]) initialized: compile_to_hp4 populated by walk_ingress_pipeline new method: gen_tmiss_entries for table_name in h.p4_tables: table = h.p4_tables[table_name] if 'miss' in table.next_: next_table = table.next_['miss'] # ... get stage associated with next_table else: ingress = h.p4_control_flows['ingress'] for entry in ingress.call_sequence: if type(entry) == p4_hlir.hlir.p4_tables.p4_table: elif type(entry) == tuple: else: print("Error: unsupported call_sequence entry type: " + str(type(entry))) >>> h.p4_tables['fwd'].next_ OrderedDict([(p4_action.a_fwd, p4_table.bogus1)]) >>> h.p4_tables['bogus1'].next_ {'miss': p4_table.bogus2, 'hit': p4_table.is_l4_valid} >>> h.p4_tables['bogus2'].next_ OrderedDict([(p4_action._no_op, p4_table.is_l4_valid)]) >>> h.p4_tables['is_l4_valid'].next_ OrderedDict([(p4_action.l4_is_valid, p4_table.fw_src), (p4_action._no_op, None)]) >>> h.p4_tables['fw_src'].next_ OrderedDict([(p4_action._drop, None), (p4_action._no_op, p4_table.fw_dst)]) >>> h.p4_tables['fw_dst'].next_ OrderedDict([(p4_action._drop, None), (p4_action._no_op, None)])


text:
Question: Is there a certain safe level for blood sugar for a person that has diabetes?
I know a high blood sugar level affects being able to drive safely. Is there a certain level where a ticket will be written if known by the State Patrol?
Answer: There is no level where a ticket would be written by the Minnesota State Patrol.
Of course, I am not a doctor, but I do know that the blood sugar concentration or blood glucose level is the amount of glucose (sugar) present in the blood.
Blood glucose monitoring is the main tool you have to check your diabetes control. This check tells you your blood glucose level at any one time.
Even though there is no blood sugar level where a ticket would be written, if an incident or a crash occurs involving a diabetic loss of consciousness or voluntary control and a trooper or any law enforcement officer investigates, a request for an examination of the driver can be submitted to the Driver and Vehicle Services – Driver Evaluation Unit.
This can be a very serious matter, and the best advice is to ask your healthcare provider what your blood sugar levels should be. Some other reasons for a driver's re-examination can include:
- General physical/health problems.
- Vision problems.
- Lack of physical driving skills.
- Mental or emotional problems (road rage, memory loss, etc.).
- Loss of consciousness (seizures).
- Lack of knowledge of traffic laws.
- And others.
Thanks for asking, and let's all work together to create a traffic safety culture in Minnesota.
Remember also to slow down, buckle up, drive sober and pay attention!
If you have any questions for future columns concerning motor vehicle traffic in Minnesota, send them to: Sgt. Curt S. Mowers MN State Patrol P.O. Box 644 Brainerd MN 56401. Email questions to _EMAIL_ with "Ask a Trooper" in the subject line. Questions are edited.

source: HuggingFaceFW/fineweb-edu


text:
- The expression translates to 7 + −4.
Reminder: The AND keyword translates to mean "plus" because the leading keyword is SUM OF. With other leading keywords (discussed in the following sections), AND can mean other things. Also notice that you do not simplify the expression and get "3" for the answer because you are just translating words into symbols and not performing the math.
Two other keywords on the addition keyword list, PLUS and INCREASED BY, can be correctly translated by the direct translation strategy. In the direct translation strategy, you translate each word into its corresponding algebraic symbol, one at a time, in the same order as written, as shown in Example 4.
Example 4: Translate the following: a number increased by twenty‐four
- The expression translates to x + 24.
Some additional keywords, such as GAIN, MORE, INCREASE OF, and RAISE, are commonly found in story problems, as in Example 5.
Example 5: Translate the following story problem into a mathematical expression about the weight of the linebacker: The defensive linebacker weighed two hundred twenty‐two pounds at the beginning of spring training. He had a gain of seventeen pounds after working out with the team for four weeks.
- The expression translates to 222 + 17.
Note: Not all numbers mentioned in a word problem should be included in the mathematical expression. The number "four" is just interesting fact, but it is not information you need in order to write an expression about the linebacker's weight.
You may also be wondering why the answer isn't 239 pounds. That's because the question asks you to translate the story problem into a mathematical expression, not to evaluate the expression.
Example 6: Translate the following word problem into a mathematical expression about the cashier's current hourly wage: A cashier at the corner grocery was earning $6.25 an hour. He received a raise of 25 cents an hour.
- The expression translates to 6.25 + 0.25.
Note: The hourly wage is stated in dollars, and the raise is stated in cents. Any time you are adding two numbers that have units, make sure both numbers are measured with the same units; if they aren't, convert one of the numbers to the same units as the other. Having both numbers measured with the same units is called homogeneous units. In this example, you convert his raise, the 25 cents, to $0.25 because his hourly wage is measured in dollars, not cents, so the raise must also be in dollars.
Subtraction keywords also include leading keywords, keywords that can be translated one word at a time, and keywords that are found in story problems. Look at the following list of subtraction keywords:
- DIFFERENCE BETWEEN _____ AND _____
One subtraction keyword (DIFFERENCE BETWEEN) is a two‐part expression that begins with a leading keyword that defines the corresponding AND. You can use the same methods of underlining and circling the keywords shown in the preceding section to translate these expressions.
Example 7: Translate the following: the difference between four and six
Here is how you translate Example 7:


text:
FLAGSTAFF, Ariz. – The sand dunes among which Navajos have eked out austere livings for generations are growing fast and becoming mobile as the climate changes, says U.S. Geological Survey geologist Dr. Margaret Hiza Redsteer, whose interviews with elders and historical research augment her decade-long research on Navajo Nation land.
Redsteer will discuss her work Friday, Oct. 21 at the annual conference of the Society of Environmental Journalists in Miami, as part of a panel on "Climate Change and Indigenous Peoples on the Frontlines."
One third of the Navajo Nation is sand dunes, much of it stabilized to varying degrees by vegetation that holds moisture and provides livestock range. Some of the dunes are very old; others date from the 1950s, when drought and wind mobilized sediment from floods on the Little Colorado River. Now, after severe drought has gripped the region with varying but persistent severity from 1996 to 2011, new dunes are increasing in number and previously inactive dunes are on the move. The new dunes form downwind from rivers and washes, largely from dry, wind-blown river sediment. In the Grand Falls area of the southwest Navajo Nation, dunes have grown 70 percent since 1995 and are moving northeast at a rate of 115 feet per year.
Dune mobility can threaten roads and buildings, as well as the livestock raising vital to the Navajo economy and indispensable to its culture. It is one of many signs of the region's increased aridity. Redsteer and the USGS Navajo Land Use Planning Project, under license to and in collaboration with the Navajo Nation, are mapping the area's geology and documenting its changes to help Navajo leaders plan for the challenge.
In addition to using ground-based lidar measurements, meteorological monitoring, GPS and aerial and satellite imaging, Redsteer drew on more than 70 elders living in the southwestern Navajo Nation to record observed changes in land use practices, as well as weather, vegetation, location of water sources and the frequency of wind and dust storms. The interviews helped corroborate USGS science.
"Old men told me that they had seen grass grow in areas where no grass grows now," Redsteer said.
"We have aerial photographic surveys of the study area from 1934 and from 1954, but between those years there were big changes. Our interviewing not only provides another line of evidence, but it also fills in a lot of the data gaps."
Redsteer's work also points up the vulnerability of indigenous people who live on land she calls "just on the edge of being habitable.
"The annual moisture here has historically been just enough to get by. When there is even a small change, there is a huge effect," she said.
John Leeper, director of the Navajo Water Management Branch of the Navajo Nation in Fort Defiance, Ariz., called Redsteer's work "critical in understanding the magnitude of the climate challenges facing the Navajo Nation due to sand dune movement and other impacts. If the current trends she identifies continue, much of the Navajo Nation will be severely impacted, and much of the Navajo Nation will become uninhabitable," Leeper said.
"The Navajo Nation is intended to be a permanent homeland for the Navajo people," he said. "However, much of that homeland may be in jeopardy if these trends can not be successfully mitigated. Not only has Margaret's work identified and documented the current trends, her work also gives us perspective on the steps that can, and must, be taken to reverse many of the most damaging of these trends. Her work will help to ensure that the Navajo people will be able to find their livelihoods here long into the future."
As part of their work, Redsteer and the USGS have conducted pilot studies of mitigations to dune movement, such as placing 2m by 2m PLA sand barriers to stabilize dunes and seeding dune areas to encourage vegetation.
"If we're going to do research for people's benefit, we have to try to see what kind of solutions there are," she said.
Redsteer's research in the Great Falls dune area is described in the USGS fact sheet "Monitoring and Analysis of Sand Dune Movement and Growth on the Navajo Nation," available online at _URL_
Links and contacts within this release are valid at the time of publication.


text:
Chemibond Liquid Cement is a soil stabilizer and dust control of advance nanotechnology. It is eco-safe, biodegradable, liquid copolymer used to stabilize and solidify any soil or aggregate as well as erosion control and dust suppression.
Our recent advances in simulation, chemistry, processing techniques, and analytical instrumentation have allowed a whole host of new types of polymer particles and polymer nanotechnology applications to be realized. These advances led to the revolutionary development of nanotechnology into superior performance.
Once applied to the soil or aggregate, the copolymer molecules coalesce forming bonds between the soil or aggregate particles.
Dust Control Site
Slope and Soil Erosion Site
Golf Cart Paths
Walk Paths Area
Plantation Tails, Walks & Paths
Wineries and Orchards Farms
Temporary access roads and Car parks
Fish ponds and etc.
Key Advantages of Chemibond Liquid Cement
1. Liquid Cement originates with its long, nano-particle molecular structure that link and cross-link
2. Once cured, Liquid Cement becomes completely transparent, leaving the natural landscape to
3. Liquid Cement results are based on the application rate used. Modest application rates are useful for dust suppression and erosion control by creating a three-dimensional cap or surface crust.
4. The advanced nanotechnology is modernizing the way we stabilize soils and aggregates in addition
5. The applications are extensive ranging from simple backyard trails and construction sites to heavy-
6. Truly biodegradable product that is completely environmentally safe to use.
7. Liquid Cement is dedicated to economically solving soil stabilization challenges throughout the
(Instruction for Soil Test) Next >


text:
CubeSat Simulation Project — A ready-to-simulate project ( CubeSat Simulation Project) that illustrates how to create a detailed CubeSat system design in Simulink by adding in detailed vehicle components to the provided framework.What is the cubesatsim?
The CubeSatSim is a low cost satellite emulator that runs on solar panels and batteries, transmits UHF radio telemetry, has a 3D printed frame, and can be extended by additional sensors and modules.What is the size of the AMSAT cubesatsim?
Each board is approximately 80mm x 80mm in size. The AMSAT CubeSatSim project is fully open source so the schematics and gerber files for all three boards as well as the Raspberry Pi software are available online. CubeSatSim Main PCB (left in picture) with surface mount band-pass filter components installedHow do I create a model of a CubeSat?
Click Create Model. The CubeSat Vehicle block models a simple CubeSat vehicle that you can use as is, with the CubeSat Vehicle block configured to use the initial orbital state as a set of Keplerian orbital elements. The model uses the Spherical Harmonic Gravity Model block to provide the vehicle gravity for the CubeSat.


text:
Brain-imaging studies indicate that a thinning of the right hemisphere of the brain may be linked to an increased risk of depression. Writing in the Proceedings of the National Academy of Sciences, researchers report that people at high risk of developing depression had a 28 percent thinning of the right cortex, the brainâs outermost surface, compared to people with no known risk of depression. The thinning was not linked to actual depression -- just an increased risk of developing depression. Researchers said that the discovery that there was a structural link in the cortex to depression was surprising, and plan more imaging and genetic studies to expand on the finding. We'll find out more.
Produced by Annette Heist, Senior Producer


by its BBOX when is applied the specified map2pixel cont...
QgsMapToPixelSimplifier(int simplifyFlags, double tolerance)
static float calculateLengthSquared2D(double x1, double y1, double x2, double y2)
Returns the squared 2D-distance of the vector defined by the two points specified.
QGis::WkbType wkbType() const
Returns type of wkb (point / linestring / polygon etc.)
double mTolerance
Distance tolerance for the simplification.
virtual QgsGeometry * simplify(QgsGeometry *geometry) const
Returns a simplified version the specified geometry.
QgsRectangle boundingBox()
Returns the bounding box of this feature.
static int wkbDimensions(WkbType type)
Definition: qgis.h:139
virtual bool simplifyGeometry(QgsGeometry *geometry) const
Simplifies the specified geometry.
void fromWkb(unsigned char *wkb, size_t length)
Set the geometry, feeding in the buffer containing OGC Well-Known Binary and the buffer's length...
static bool simplifyWkbGeometry(int simplifyFlags, QGis::WkbType wkbType, unsigned char *sourceWkb, size_t sourceWkbSize, unsigned char *targetWkb, size_t &targetWkbSize, const QgsRectangle &envelope, double map2pixelTol, bool writeHeader=true, bool isaLinearRing=false)
Simplify the WKB-geometry using the specified tolerance.
int mSimplifyFlags
Current simplification flags.
The geometries can be simplified using the current map2pixel context state.
const unsigned char * asWkb() const
Returns the buffer containing this geometry in WKB format.
double xMinimum() const
Get the x minimum value (left side of rectangle)
Definition: qgsrectangle.h:189
int max(int a, int b)
Definition: util.h:87


text:
The airship, USS Akron, was built for the United States Navy by the Goodyear tire and rubber company, at the time it was the largest blimp ever built in the United States. The Navy began flying the Akron in 1931, mostly around Lake Erie and the upper Midwest. On October 10, 1931, the Akron was scheduled to fly from Detroit to Huntington, West Virginia. What happened that day remains unexplained.
In an age of radio and newspapers, people along the flight path of the USS Akron waited with anticipation just to get a brief glimpse of the mighty airship. The residents of Gallipolis, Ohio, were no exception. They scanned the sky for the Akron, then they saw it. The Akron was approaching, it had already been seen by witnesses in Point Pleasant, just across the Ohio River.
follow us on Instagram
Then, to everyone's shock, the USS Akron exploded and crashed into the rugged West Virginia terrain. Witnesses said it appeared that 3 people managed to parachute to safety. An extensive search found nothing and it was soon revealed that whatever observers on the ground had seen, it was not the USS Akron. The airship was still in Detroit, the Navy had canceled the flight due to bad weather along its flight path.
Less than 2 years later, in the early morning hours of April 4th, 1933, the USS Akron was flying off the coast of New Jersey when it encountered a sudden and powerful storm The Captain ordered full speed ahead but the Akron could not out run the storm. The airship exploded and crashed into the Atlantic. Of the 76 men on board only 3 survived.
The USS Akron, as it turns out, was not the first blimp built by Goodyear to carry the name Akron. In 1911, the company built a blimp that was to be used in an attempt to cross the Atlantic Ocean. The first try failed and on the second attempt disaster struck. While off the coast of New Jersey the old Akron exploded and crashed into the sea, very near the location that the USS Akron would meet its end about 20 years later.


How hard is it to move from Java into c++ game development?
So I wasn't quite sure where to post this however my question is that I have experience in Java, now how hard would it be to start game development in C++, so basically what im asking is how similar are the how similar are the two languages?
Hello wfisom!
First off, if you are familiar with OOP, and C++ syntax and how it works, it should be quite seamless from Java to C++.
If you are not familar with C++, I would recommend learning some bare bones C++ (especially OOP, pointers, structs, enums, etc.). Understanding base C++, OOP, and Data structures, it helps in the long run with making the projects bigger and more organized.
Also it comes to understanding the Unreal API as well. Thank heavens for Blueprints, it's quite easy to give a few tutorials a try to get the hang of how the API works when jumping in for the first time. If you go from Blueprints to C++, the accessors and mutators names will look very familiar. Also understanding the actual structure of the API will make sense(example: the big tree of inheritance from UObject… UObject->Actor->etc etc).
It's not much, but I hope this helps
I would say that language syntax won't be very difficult at all.
What you'll want to focus more of your time on is probably learning how Unreal Engine works and how everything comes together. Some really basic goals I would start with are:
What is an Actor?
What is a Component?
What is a GameMode?
What is a PlayerController?
I'm a C++ programmer and by studying the Unreal Engine for some months I can tell you there is not a lot of C++.
I was expecting more, but the Engine really makes everything easier to achieve (sometimes it won't).
As a C++ programmer the most difficult thing in Unreal Engine is figuring out how it works (Game Framework) and not the C++ language itself.
Let's say, C++ is a very difficult to learn and master programming language, full of traps around the code mostly due to pointers and memory leaks.
When it's about games (hence, huge applications) it might become really difficult not to fall into the shaft, and here Unreal Engine helps you a bit; it most likely avoids to put you in hard situations.
Many times a C++ programmer doesn't face so many difficulties switching to Java, but the inverse could not be true.
So, when speaking about Unreal Engine, you really don't want to get into the C++ details.
Just learn the basics.
Nice to say, but how practical is that advice in reality?
You can't really get through the full-life-cycle of project in UE4 without needing to know something about C++ or fighting the language's overbearing-syntax: pointers, headers, macros, virtual-funcs, mem-management, weird compiler probs etc… What if you have to tweak the engine source before finally shipping a product? Is it really practical and realistic to think you'll get by with just Java knowledge? I don't believe that it is… Plus, Tim S seems to confirm this here:
At the time I got certified there were house-moms, retirees and art-students in the class. That's Java for you! … But this is C++, and its an unwieldy beast even in UE4…
I would do lots of reading on this topic _USER_. There are many related ongoing threads including this one right now…
If you're new to game dev, there is a huge amount of information to soak up. So better to not underestimate the challenge.
Since Unrealscript and Java are quite close you might find this short migration guide interesting: UE3 to UE4 Transition Guide
Ok thanks for all the helpful replies _USER_ [MENTION=1362]Solid Snake[/MENTION] _USER_, _USER_, there is more of a significant difference than I expected but I'm sure I can cope.
Learning C++ is not as hard as understanding the Unreal API (which class to use to achieve xxxx)


Shepherds Rest
Shepherd's Rest
Located 8 leagues south of Buckhorn, Shepherd's Rest gained its name from the legendary song of the lowly shepherd who fell asleep for twenty years after drinking from a faerie spring, only to awaken with a great white beard and sorrow in his heart. Other local legends tell of a group of shepherds who were slaughtered by brutes, and their flesh cooked in with the lamb to make a vile stew, which to this day the brutes love to eat. In any case, the village of Shepherd's Rest was completely wiped out over a decade ago. After a group of heroic adventurers defeated the brutes that had made it their home, civilized men braved to rebuild the village. Unfortunately, the War destroyed the village once more, and there are officially no current efforts to rebuild it.
Recently, it has been discovered that a lone faithful monk is building a shrine and hostel in the ruined village, and intends to make the place his home, welcoming all travelers and pilgrims.
Principality of the Golden Reaches
Kingdom of the Lake
Shepherds Rest
Shimmering Kingdoms PhoenixMark


text:
180 WaStops used for flood protection
WaStops flood protection installed at Todmorden a town with a long history of flooding from the River Calder and Walsden Water. Previous floods here have damaged infrastructure and disrupted important transport routes as well as risking the safety of the local population.
The £13 million third phase of the flood alleviation scheme is improving flood defences alongside Walsden Water. As part of this project, Aquatic Control Engineering supplied WaStop non-return valves to main contractor VolkerStevin.
For this particular project, WaStop flood protection valves were installed into pipes within culverts, preventing flooding in urban areas. The majority of these non-return valves are fitted inside a flood relief tunnel and are used to protect the drains leading to it. Thus if the main culvert backs up, local properties are still protected.
These non-return valves, compared to other product alternatives, minimised alternative works and are easier and faster to install. But how? Non-return valves can be installed into culverts at ALL angles without affecting the opening and closing pressures of the membrane and do not need a flat wall on which to mount but seal into the pipe itself. This allowed the VolkerStevin construction team to quickly and effectively install the non-return valves into existing pipes.
Aquatic Control Engineering supplied 180 WaStops to VolkerStevin for this project. Aquatic Control Engineering wishes to thank VolkerStevin for the opportunity to work with them on this project and for their professional project management throughout.


text: I purchased something at the pet shop called Fancy Duckweed. It really took a bit for me to find what this stuff actually was. I finally found that is is Spirodela polyrhiza. It grows like duckweed and multiplies like it but is much larger. There are a couple of regular size duckweed plants on the far left. The ruler is turned with the metric side toward the plants so those dimensions are in centimeters. The leaves of this plant are several times larger than regular duckweed (Lemna minor) although the specific smaller plant may be a bit different from the regular. It should have been easier to find since at one time the plant was known a Lemna major.


BEC Vantage Speaking part 2. Unit 5.
People and workplaces
В данном уроке дана лексика на тему People and workplaces. После ознакомления с лексическими единицами Вы приступаете к выполению заданий BEC Vantage Speaking part 2, применяя представленный вокабуляр как в монологической части ( презентации), так и в ответах на представленные вопросы.
A Employees and management
management –
 - the activity or skill of directing and controlling the work of a company or organization, or part of it
 - – the people who are in charge of a particular company or organization at different levels, rather than ordinary employees
 1. Workforcethe force of workers available employee a worker who is hired to perform a job personnel - The people who work for a company or organization
 2. white-collarworkers term applied to workers in offices and other non-production phases of industry manual /
 3. blue collar worker - a member of the working class who typically performs manual labor and earns an hourly wage
payroll -
 - - a list of employees and their salaries
 - - the total amount of money paid in wages
 - - the department that determines the amounts of wage or salary due to each employee
 1. Staffpersonnel who assist their superior in carrying out an assigned task shop floor place in a factory where the production lines are
B Management and administration
 1. office - a room or other area in which people work
 2. siteslocations
 3. headquarters -head office
 4. open-plan offices - large areas where many people work
 5. administration - the ordinary work supporting a company's activities
 6. support staffadministrative staff
 7. technical support - giving help to customers over the phone
C Labour
 1. labour = everyone except the management who works for a company
 2. labour costs - what companies have to pay for labour
 3. labour dispute - a disagreement between management and labour
 4. labour leader - someone in charge of an organization that represents workers
 5. labour relations - the relationship between management and employees in general
 6. labour shortage - a period when there are not enough people available to work
 7. labour unrest - a period of disagreement between management and employees
 8. labour unions - defend the interest of workers trade unions
 9. strike, stoppage, walkoutworkers stop working for a time
 10. a go-slow - workers continue to work, but more slowly than usual
 11. overtime ban - workers refuse to work more than the normal number of hours
D Personnel and HRM
 1. human resource-
 - a department in larger organizations that deals with pay, department (HRD) recruitment etc.
 - human resources - (HR) human resource management (HRM) or personnel department
Examples of Topics
In this part of the test, you are asked to give a short talk on a business topic. You have to choose one of the topics from the three below and then talk for about one minute. You have one minute to prepare your ideas.
11. What is important in a workplace?
 - · Defined Leadership
 - · Goals
 - · Communication
 - · Ethics
2. What is important working in an office?
 - Teamwork
 - Respect
 - Culture
Examples of Questions
Briefly answer your partner's questions.
 1. Do you consider yourself to be a team player?
 2. What role should management play for the workforce? (workforce management) – управление персоналом.
 3. What is the main function of the support staff?
 4. What is the difference between white color workers and blue color workers?
Практические тесты BEC Vantage
Материал для самостоятельной работы


text:
Growing Nuts in Your Backyard
Nut Trees - Growing Tips
Although written specifically for nut growers in Illinois, this is an excellent handbook on all facets of growing nuts: choosing, planting, pruning and protecting from pests.
Pecans - Growing Pecans
Pecans make an excellent landscaping tree. This fact sheet provides easy to follow planting and growing instructions with excellent diagrams.
Here's a general timeline for when to harvest nuts from trees. Keep in mind that times will vary by region. If this is your first year growing a nut tree, keep careful watch for squirrels and other raiders. They're not as patient as you.
Tree Nut ID
A quick photo guide to identifying common types of nuts, plus how and when to harvest them.
Nut Photo Gallery
Would you recognize an almond on the tree? How about a pistachio? Nuts have a lot of protective covering that never winds up in the grocery store. About.com's Guide to Trees and Shrubs has put together an interesting photo gallery of common nuts as they look while growing on the tree.
Early Nut Drop - Some Common Causes
Few things are as frustrating as watching a potential harvest fall and rot, before it is mature. There can be more than one cause and often there is nothing you can do to stop it. About.com's Guide to Forestry talks about the causes and what to look for.
Black Walnut Tree - What's Safe to Plant Under It?
Black walnut trees are beautiful and the nuts are delicious, but the trees themselves can be deadly to certain plants. Black walnuts contain a chemical called "juglone" which leeches into the soil and inhibits other plants. Here are some plants that can handle juglone and those to avoid planting.


text:
Trip to Experience Nature in Nishi-Awa: Outdoor Activities on the Yoshino River and Mountains in Iya
Iya in Miyoshi city, Tokushima prefecture is one of the hidden treasures of Japan. The Iya region is richly endowed with nature, such as the Yoshino River in the Oboke Gorge as well as Mt. Tsurugi, and is attracting much attention for outdoor activities. Here are the activities you should try when in Nishi-Awa.
Enjoy activities amid the mountains and nature
The Nishi-Awa region has been described by Alex Karr as a "paradise-like different world". Nishi-Awa is located in southeastern Shikoku, deep in the mountains. The area retains much nature, such as steep gorges, lush green mountains, and the fast-flowing Yoshino River.
The natural landscape will surely amaze you when visiting for the first time. In addition to the beautiful landscape, a variety of outdoor activities await you.
Sightseeing Boat Cruise on the river in the Oboke-Koboke Gorge
The Oboke-Koboke Gorge is the gateway to the Nishi-Awa region, which is popular for its river activities. To fully enjoy the landscape of the Oboke Gorge, take the sightseeing boat cruise on the clear blue waters of the Yoshino River.
This area is also geologically valuable: from the boat, you can see rare boulders (called ganreki hengan) which are designated as a national natural monument. If you are lucky, you may see wild animals such as Japanese serows, black kites and wagtails. The changing landscapes throughout the year are impressive, including fresh green in spring and beautiful colored leaves in autumn.
Dynamic river sports on one of Japan's three greatest rivers
The Yoshino River is one of the three greatest rivers in Japan, featuring rapid currents. If you have enough courage and love active sports, try white water rafting! Under the instruction of a professional guide, you can enjoy racing down the river and playing in the water with a lifejacket on.
Once you are on the rapids, you need to work with the other crew to control the boat down the river. This place is known worldwide for river sports and has held the world rafting championships, where the world's top rafting athletes race each other. Why not try whitewater rafting on this famous river?
Trekking in the mountains
River activities are just one of the attractions you can enjoy here. The surrounding mountains in Nishi-Awa are also impressive. Above all, Mt. Tsurugi, the second tallest mountain in Shikoku after Mt. Ishizuchi, has great presence and is one of the 100 Famous Mountains of Japan. We recommend trekking as the best way to enjoy Mt. Tsurugi.
The views from Mt. Tsurugi are amazing. If the weather permits, from the summit at 1,995 meters, you will have perfect views of all of the mountains of Shikoku. In addition, the Nishi-Awa region has many other must-visit spots, such as Mt. Miune which is famous for Kome-tsutsuji, a kind of azalea which blooms from late June to early July, the Shiozuka Plateau with its vast grassland, and the Kurozou Marshland with a variety of unique marshland plants.
Nishi-Awa is a great place to enjoy the attractions of both the river and the mountains.


text:
- How Do We Contextualize Biblically?
- How can you tell the difference between legitimate contexualization and unbibilical compromise?
- Contextualization and Consistency
- Putting Contextualization in its place
- T4G panel discussion – Contextualization: Lost in Translation? (with a follow up blog post by Thabiti)
Other stuff on contextualization
- Tim Keller's chapter in Center Church on "Active Contextualization"
- Carson on Contextualization
- Get Better at Contextualization (Resurgence)
- To Contextualize of Not to Contextualize: That is NOT the Question (TGC Blog post)
- Keller's Center Church Lecture on it is posted here below:


text:
Turning Dissent Into Dialog
Differences of opinion don't have to erupt into full-blown conflict. BridgeBuilders has helped districts discover how to turn community frustration into the kind of civil conversation that can build bridges between diverse groups and help fashion a stronger school district.
Whether it's frustration over HIV/AIDS curriculum, holiday celebrations, math programs or school reform, many communities are learning how to create the environment that allows constructive dialogue between diverse members of the community to forge a district-wide consensus that will enhance the mission of public education.
While BridgeBuilders offers special expertise in dealing with religious-based concerns and helping districts create a genuinely religious-neutral environment, we are also applying the same strategies to other parent and community issues with wonderful results.
We can help you develop strategies for your own community, or facilitate the kind of civil conversations in your community that will help diverse groups
Here are just a few of the resources that might interest you. Next time your district needs to build some bridges in your community, let us show you how we can help.
Back to Resource Page


text:
Profs. Peter Luh and Shengli Zhou were inducted as members of the UConn Chapter of the National Academy of Inventors (NAI) in a ceremony at the Mark Twain House in Hartford on Dec. 18 2019. Prof. Luh was recognized for his record of accomplishments in the field of optimization. Most recently,Prof. Luh received a patent along with Prof. Peng Zhang, colleagues, and students titled "Enabling Resilient Microgrid through Ultra-Fast Programmable Network". The invention describes systems and methods for integrating ultra-fast programmable networks in microgrid are disclosed to provide flexible and easy-to-manage communication solutions, thus enabling resilient microgrid operations in the face of various cyber and physical disturbances. Prof. Zhou was inducted in recognition of his leadership in underwater acoustic communications.He co-invented the patent "Apparatus, which addresses the problems with systems and methods for enhanced multi-carrier based underwater acoustic communications" addresses the problems with Doppler effects induced by platform motions when communicating with high data rate multi-carrier based acoustic transmissions. The invention uses a two-step approach to mitigate frequency-dependent Doppler drifts and are advantageously applicable for fast-varying underwater acoustic channels.
Published: January 28, 2020


quantity in each subfolder
, local_file_prefix varchar DEFAULT '' prefix to id if one required
, has_study_tables boolean DEFAULT true if includes any study tables
, has_study_topics boolean DEFAULT true if includes a study topics table
, has_study_features boolean DEFAULT true if includes a study features table
, has_study_contributors boolean DEFAULT true if includes a study contributors table
, has_study_references boolean DEFAULT false if includes a study references table
, has_study_relationships boolean DEFAULT false if includes a study relationships table
, has_study_links boolean DEFAULT false if includes a study links table
, has_study_ipd_available boolean DEFAULT false if includes a study ipd available table
, has_object_datasets boolean DEFAULT false if includes an object datasets table
, has_object_dates boolean DEFAULT true if includes an object dates table
, has_object_relationships boolean DEFAULT false if includes an object relationships table
, has_object_rights boolean DEFAULT false if includes an object rights table
, has_object_pubmed_set boolean DEFAULT false if includes the additional objects tables associated with PubMed data
The sources are all included within the contextual organisations table, and their id is derived from their record in that table. The preference rating field is an integer used to order the sources - during aggregation they are processed in the order of this rating (ascending) which indicates the 'preference' for each source to act as the 'prime' data source (see Aggregating_Data). Because several sources share the same WHO dataset structure these can share a common process during download and harvest - the uses_who_harvest field indicates when this is appropriate. In a few cases (ClinicalTrials.gov and PubMed) the number of files is so large that it makes sense to split up the local folder used for storage and group the files, for example dividing them every 10,000 ids, hence the local_files_grouped and grouping_range_by_id fields. In a few cases it is useful to prefix the file name, the id derived from the source, with a small string. The other fields are simple booleans that indicate the presence or absence of tables or groups of tables in the databases corresponding to each source. The defaults simply indicate the most common pattern for each field.
Figure 2 shows a portion of the source parameters table.
Source parameters.png
Figure 2: Columns from the source_parameters table
The event records
As described above, the source data tables include fields that indicate the Id of the saf (search and fetch), harvest and import event records. The corresponding tables, (sf.saf_events, sf.harvest_events and sf.import_events) are used to provide summary records of each of these processes. for each source (the routines can be called using multiple sources, which are then processed one at a time). Their structures are shown below.
saf_events
 id integer (primary key)
, source_id integer
, type_id integer
, time_started timestampTZ
, time_ended timestampTZ
, num_records_checked integer
, num_records_added integer
, num_records_downloaded integer
, filter_id integer
, previous_saf_ids varchar
, cut_off_date date,
, comments varchar
Here the type_id and filter_id are foreign keys to look up tables with the available types and filters listed. The previous_saf_ids is a list of one or more ids in the same table, when they refer to previous searches (rather than fetches). Depending on the type of search or fetch selected different additional parameters will be required. These are stored in the filter_id, previous_saf_ids and cut_off_date as required.
harvest_events
 id integer (primary key)
, source_id integer
, type_id integer
, time_started timestampTZ
, time_ended timestampTZ
, num_records_available integer
, num_records_harvested integer
, cut_off_date date
, comments varchar
The number of records available refers to the total number of XML fields stored for this source.
import_events
 id integer (primary key)
, source_id integer
, time_started timestampTZ
, time_ended timestampTZ
, num_new_studies integer
, num_edited_studies integer
, num_unchanged_studies integer
, num_deleted_studies integer
, num_new_objects integer
, num_edited_objects integer
, num_unchanged_objects integer
, num_deleted_objects integer
, comments varchar
The event records, for search and fetch, harvest and import, are created and filled during each download, harvest and import process respectively. Ids are created manually, in each case, by interrogating the relevant table and incrementing the current max Id. The matching object is created at the beginning of each process, the relevant fields are completed at the end of the process, and the object is then serialised to the database.
Aggregations are slightly different, not least because they involve all the sources in sequence. An aggregation_event record is always created summarising the aggregation process, but additional statistics are available optionally. These include source summaries, which gives the number of records in each table in each source, aggregation summaries, which gives the corresponding numbers of records in each table in the core mdr database, after aggregation, and aggregation object numbers, which gives the total number of each type of data object in the core database.
Logging files
The current feedback produced during the four major processes is reflected to the console, but is also sent to a text log file that is opened at the beginning of each process and closed at its end. This provides details on the timing of each process and the major steps within it, and also records any exception conditions that may have arisen. This is particularly the case for data download, because the remote source may go off line at any time, or block the call - especially if web scraping too quickly - or the internet connection may be interrupted.
It is also possible to create and then serialise in the database an 'extraction note' to record any odd occurrence or a possible problem that will need further investigation. The notes can be one of various types, depending on the nature of the issue being reported, (types are listed in sf.extraction_note_types) and they are stored in the sf.extraction_notes table. Their use is currently relatively limited.