text:
/* +---------------------------------------------------------------------------+
   |                     Mobile Robot Programming Toolkit (MRPT)               |
   |                          http://www.mrpt.org/                             |
   |                                                                           |
   | Copyright (c) 2005-2017, Individual contributors, see AUTHORS file        |
   | See: http://www.mrpt.org/Authors - All rights reserved.                   |
   | Released under BSD License. See details in http://www.mrpt.org/License    |
   +---------------------------------------------------------------------------+ */

#include "vision-precomp.h"   // Precompiled headers

#include <mrpt/vision/CFeatureExtraction.h>

// Universal include for all versions of OpenCV
#include <mrpt/otherlibs/do_opencv_includes.h>

#if MRPT_HAS_OPENCV
#	include "faster/faster_corner_prototypes.h"
#endif

using namespace mrpt;
using namespace mrpt::vision;
using namespace mrpt::system;
using namespace mrpt::utils;
using namespace std;

// ------------  SSE2-optimized implementations of FASTER -------------
void CFeatureExtraction::detectFeatures_SSE2_FASTER9(const CImage &img, TSimpleFeatureList & corners, const int threshold, bool append_to_list, uint8_t octave,std::vector<size_t> * out_feats_index_by_row)
{
#if MRPT_HAS_OPENCV
	const IplImage *IPL = img.getAs<IplImage>();
	ASSERTDEB_(IPL && IPL->nChannels==1)
	if (!append_to_list) corners.clear();

	fast_corner_detect_9 (IPL,corners,threshold,octave,out_feats_index_by_row);
#else
	THROW_EXCEPTION("MRPT built without OpenCV support!")
#endif
}
void CFeatureExtraction::detectFeatures_SSE2_FASTER10(const CImage &img, TSimpleFeatureList & corners, const int threshold, bool append_to_list, uint8_t octave,std::vector<size_t> * out_feats_index_by_row)
{
#if MRPT_HAS_OPENCV
	const IplImage *IPL = img.getAs<IplImage>();
	ASSERTDEB_(IPL && IPL->nChannels==1)
	if (!append_to_list) corners.clear();

	fast_corner_detect_10 (IPL,corners,threshold,octave,out_feats_index_by_row);
#else
	THROW_EXCEPTION("MRPT built without OpenCV support!")
#endif
}
void CFeatureExtraction::detectFeatures_SSE2_FASTER12(const CImage &img, TSimpleFeatureList & corners, const int threshold, bool append_to_list, uint8_t octave,std::vector<size_t> * out_feats_index_by_row)
{
#if MRPT_HAS_OPENCV
	const IplImage *IPL = img.getAs<IplImage>();
	ASSERTDEB_(IPL && IPL->nChannels==1)
	if (!append_to_list) corners.clear();

	fast_corner_detect_12 (IPL,corners,threshold,octave,out_feats_index_by_row);
#else
	THROW_EXCEPTION("MRPT built without OpenCV support!")
#endif
}

/************************************************************************************************
*								extractFeaturesFASTER											*
************************************************************************************************/
// N_fast = 9, 10, 12
void  CFeatureExtraction::extractFeaturesFASTER_N(
	const int					N_fast,
	const mrpt::utils::CImage	& inImg,
	CFeatureList			    & feats,
	unsigned int			    init_ID,
	unsigned int			    nDesiredFeatures,
	const TImageROI			    & ROI )  const
{
	MRPT_UNUSED_PARAM(ROI);
	MRPT_START

#if MRPT_HAS_OPENCV
	// Make sure we operate on a gray-scale version of the image:
	const CImage inImg_gray( inImg, FAST_REF_OR_CONVERT_TO_GRAY );

	const IplImage *IPL = inImg_gray.getAs<IplImage>();

	TSimpleFeatureList corners;
	TFeatureType type_of_this_feature;

	switch (N_fast)
	{
	case 9:  fast_corner_detect_9 (IPL,corners, options.FASTOptions.threshold, 0, NULL); type_of_this_feature=featFASTER9; break;
	case 10: fast_corner_detect_10(IPL,corners, options.FASTOptions.threshold, 0, NULL); type_of_this_feature=featFASTER10; break;
	case 12: fast_corner_detect_12(IPL,corners, options.FASTOptions.threshold, 0, NULL); type_of_this_feature=featFASTER12; break;
	default:
		THROW_EXCEPTION("Only the 9,10,12 FASTER detectors are implemented.")
		break;
	};

	// *All* the features have been extracted.
	const size_t N = corners.size();

	// Now:
	//  1) Sort them by "response": It's ~100 times faster to sort a list of
	//      indices "sorted_indices" than sorting directly the actual list of features "corners"
	std::vector<size_t> sorted_indices(N);
	for (size_t i=0;i<N;i++)  sorted_indices[i]=i;

	// Use KLT response
	if (options.FASTOptions.use_KLT_response ||
		nDesiredFeatures!=0 // If the user wants us to limit the number of features, we need to do it according to some quality measure
		)
	{
		const int KLT_half_win = 4;
		const int max_x = inImg_gray.getWidth() - 1 - KLT_half_win;
		const int max_y = inImg_gray.getHeight() - 1 - KLT_half_win;

		for (size_t i=0;i<N;i++)
		{
			const int x = corners[i].pt.x;
			const int y = corners[i].pt.y;
			if (x>KLT_half_win && y>KLT_half_win && x<=max_x && y<=max_y)
					corners[i].response = inImg_gray.KLT_response(x,y,KLT_half_win);
			else	corners[i].response = -100;
		}

		std::sort( sorted_indices.begin(), sorted_indices.end(), KeypointResponseSorter<TSimpleFeatureList>(corners) );
	}
	else
	{
		for (size_t i=0;i<N;i++)
			corners[i].response = 0;
	}

	//  2) Filter by "min-distance" (in options.FASTOptions.min_distance)
	//  3) Convert to MRPT CFeatureList format.
	// Steps 2 & 3 are done together in the while() below.
	// The "min-distance" filter is done by means of a 2D binary matrix where each cell is marked when one
	// feature falls within it. This is not exactly the same than a pure "min-distance" but is pretty close
	// and for large numbers of features is much faster than brute force search of kd-trees.
	// (An intermediate approach would be the creation of a mask image updated for each accepted feature, etc.)

	const bool do_filter_min_dist = options.FASTOptions.min_distance>1;

	// Used half the min-distance since we'll later mark as occupied the ranges [i-1,i+1] for a feature at "i"
	const unsigned int occupied_grid_cell_size = options.FASTOptions.min_distance/2.0;
	const float occupied_grid_cell_size_inv = 1.0f/occupied_grid_cell_size;

	unsigned int grid_lx = !do_filter_min_dist ? 1 : (unsigned int)(1 + inImg.getWidth() * occupied_grid_cell_size_inv);
	unsigned int grid_ly = !do_filter_min_dist ? 1 : (unsigned int)(1 + inImg.getHeight() * occupied_grid_cell_size_inv );

	mrpt::math::CMatrixBool  occupied_sections(grid_lx,grid_ly);  // See the comments above for an explanation.
	occupied_sections.fillAll(false);

	unsigned int	nMax		= (nDesiredFeatures!=0 && N > nDesiredFeatures) ? nDesiredFeatures : N;
	const int 		offset		= (int)this->options.patchSize/2 + 1;
	const int		size_2		= options.patchSize/2;
	const size_t 	imgH		= inImg.getHeight();
	const size_t 	imgW		= inImg.getWidth();
	unsigned int	i			= 0;
	unsigned int	cont		= 0;
	TFeatureID		nextID		= init_ID;

	if( !options.addNewFeatures )
		feats.clear();

	while( cont != nMax && i!=N )
	{
		// Take the next feature fromt the ordered list of good features:
		const TSimpleFeature &feat = corners[ sorted_indices[i] ];
		i++;

		// Patch out of the image??
		const int xBorderInf =  feat.pt.x - size_2;
		const int xBorderSup =  feat.pt.x + size_2;
		const int yBorderInf =  feat.pt.y - size_2;
		const int yBorderSup =  feat.pt.y + size_2;

		if (!( xBorderSup < (int)imgW && xBorderInf > 0 && yBorderSup < (int)imgH && yBorderInf > 0 ))
			continue; // nope, skip.

		if (do_filter_min_dist)
		{
			// Check the min-distance:
			const size_t section_idx_x = size_t(feat.pt.x * occupied_grid_cell_size_inv);
			const size_t section_idx_y = size_t(feat.pt.y * occupied_grid_cell_size_inv);

			if (occupied_sections(section_idx_x,section_idx_y))
				continue; // Already occupied! skip.

			// Mark section as occupied
			occupied_sections.set_unsafe(section_idx_x,section_idx_y, true);
			if (section_idx_x>0)	occupied_sections.set_unsafe(section_idx_x-1,section_idx_y, true);
			if (section_idx_y>0)	occupied_sections.set_unsafe(section_idx_x,section_idx_y-1, true);
			if (section_idx_x<grid_lx-1)	occupied_sections.set_unsafe(section_idx_x+1,section_idx_y, true);
			if (section_idx_y<grid_ly-1)	occupied_sections.set_unsafe(section_idx_x,section_idx_y+1, true);
		}

		// All tests passed: add new feature:
		CFeaturePtr ft		= CFeature::Create();
		ft->type			= type_of_this_feature;
		ft->ID				= nextID++;
		ft->x				= feat.pt.x;
		ft->y				= feat.pt.y;
		ft->response		= feat.response;
		ft->orientation		= 0;
		ft->scale			= 1;
		ft->patchSize		= options.patchSize;		// The size of the feature patch

		if( options.patchSize > 0 )
		{
			inImg.extract_patch(
				ft->patch,
				round( ft->x ) - offset,
				round( ft->y ) - offset,
				options.patchSize,
				options.patchSize );						// Image patch surronding the feature
		}
		feats.push_back( ft );
		++cont;
	}

#endif
	MRPT_END
}

extension: cpp


text:
DESCRIPTION = "software media player and entertainment hub"

LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://copying.txt;md5=4cea88e622381d1ad6e43f07c47513b5"
DEPENDS = "libvorbis boost libass mysql5 mpeg2dec libmad libmodplug tiff yajl libtinyxml taglib libcdio jasper libmicrohttpd libssh samba rtmpdump libbluray libnfs samba swig-native"
DEPENDS_append_mx6 = " virtual/kernel virtual/libgles2 virtual/egl libfslvpuwrap libcec"

PR = "r2"

SRC_URI = "git://github.com/wolfgar/xbmc.git"
SRCREV="00397ceb6c7a0e981e79daa1a61c4c14b1b3c6cb"
S = "${WORKDIR}/git"

inherit autotools lib_package pkgconfig gettext python-dir

EXTRA_OECONF="ac_cv_path_JAVA_EXE=/usr/bin/java \
--prefix=/imx6/xbmc --disable-x11 --disable-sdl --disable-xrandr --disable-gl --disable-vdpau --disable-vaapi --disable-openmax --enable-neon --enable-gles --enable-udev --enable-codec=imxvpu --disable-debug --disable-texturepacker"

CXXFLAGS += " -I${STAGING_KERNEL_DIR}/include "

do_configure() {
  export PYTHON_EXTRA_LDFLAGS=""
  export PYTHON_EXTRA_LIBS="-lz"
  export PYTHON_VERSION="${PYTHON_BASEVERSION}"
  export PYTHON_NOVERSIONCHECK="no-check"
  export PYTHON_CPPFLAGS="-I/${STAGING_INCDIR}/${PYTHON_DIR}"
  export PYTHON_LDFLAGS="-L${STAGING_LIBDIR} -lpython${PYTHON_BASEVERSION}"

  #We will use the host java during build because there is no native recipe for full openjdk and jamvm is not able to build xbmc
  export JAVA="/usr/bin/java"

  sh bootstrap
  # oe_runconf
  # Call manually configure instead of oe_runconf because of specific prefix /imx6/xbmc...
  ${S}/configure  --build=${BUILD_SYS} \
                  --host=${HOST_SYS} \
                  --target=${TARGET_SYS} \
                  ${@append_libtool_sysroot(d)} \
                  ${EXTRA_OECONF}
}

# XBMC plugins requires python modules and dynamically loaded libraries
RRECOMMENDS_${PN} = " python-stringold \
                      python-mime \
                      python-logging \
                      python-crypt \
                      python-netclient \
                      python-threading \
                      python-elementtree \
                      python-xml \
                      python-dbus \
                      python-html \
                      python-netserver \
                      python-zlib \
                      python-sqlite3 \
                      python-pydoc \
                      python-textutils \
                      python-shell \
                      python-image \
                      python-robotparser \
                      python-compression \
                      python-audio \
                      python-email \
                      python-numbers \
                      eglibc-gconv-cp1252 \
                      libcurl \
                      libnfs \
                      rtmpdump \
                      libbluray \
                      upower \
                      libmad \
                      libass \
                      eglibc-gconv-ibm850 \
                      eglibc-gconv-utf-32 \
                      lirc \
                      jasper \
                      libcec \
                    "

FILES_${PN} += "/imx6 /usr/share/icons/hicolor"
FILES_${PN}-dbg += " \
                    /imx6/xbmc/lib/xbmc/system/players/paplayer/.debug/ \
                    /imx6/xbmc/lib/xbmc/system/players/dvdplayer/.debug/ \
                    /imx6/xbmc/lib/xbmc/system/.debug/ \
                    /imx6/xbmc/lib/xbmc/addons/library.xbmc.gui/.debug/ \
                    /imx6/xbmc/lib/xbmc/addons/library.xbmc.addon/.debug/ \
                    /imx6/xbmc/lib/xbmc/addons/visualization.glspectrum/.debug/ \
                    /imx6/xbmc/lib/xbmc/addons/library.xbmc.pvr/.debug/ \
                    /imx6/xbmc/lib/xbmc/addons/visualization.waveform/.debug/ \
                    /imx6/xbmc/lib/xbmc/.debug/ \
                    /imx6/xbmc/lib/xbmc/addons/library.xbmc.codec/.debug \
                   "

license: MIT

repository: wolfgar/meta-stef

license_type: permissive

repo_name: wolfgar/meta-stef

branch_name: refs/heads/master

gha_language: BlitzBasic

extension: bb


text:
@Article{Flexpart10.4_ref,
AUTHOR = {Pisso, I. and Sollum, E. and Grythe, H. and Kristiansen, N. I. and Cassiani, M. and Eckhardt, S. and Arnold, D. and Morton, D. and Thompson, R. L. and Groot Zwaaftink, C. D. and Evangeliou, N. and Sodemann, H. and Haimberger, L. and Henne, S. and Brunner, D. and Burkhart, J. F. and Fouilloux, A. and Brioude, J. and Philipp, A. and Seibert, P. and Stohl, A.},
TITLE = {The Lagrangian particle dispersion model FLEXPART version 10.4},
JOURNAL = {Geoscientific Model Development},
VOLUME = {12},
YEAR = {2019},
NUMBER = {12},
PAGES = {4955--4997},
URL = {https://gmd.copernicus.org/articles/12/4955/2019/},
DOI = {10.5194/gmd-12-4955-2019}
}
@article{osada2014wet,
  title={Wet and dry deposition of mineral dust particles in Japan: factors related to temporal variation and spatial distribution},
  author={Osada, K and Ura, S and Kagawa, M and Mikami, M and Tanaka, TY and Matoba, S and Aoki, K and Shinoda, M and Kurosaki, Y and Hayashi, M and others},
  journal={Atmospheric Chemistry and Physics},
  volume={14},
  number={2},
  pages={1107--1121},
  year={2014},
  publisher={Copernicus GmbH}
}
@article{dai2021define,
  title={Define East Asian monsoon annual cycle via a self-organizing map-based approach},
  author={Dai, Lun and Cheng, Tat Fan and Lu, Mengqian},
  journal={Geophysical Research Letters},
  volume={48},
  number={1},
  pages={e2020GL089542},
  year={2021},
  publisher={Wiley Online Library}
}
@article{sun2003seasonal,
  title={Seasonal variability of modern dust over the Loess Plateau of China},
  author={Sun, Donghuai and Chen, Fahu and Bloemendal, Jan and Su, Ruixia},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={108},
  number={D21},
  year={2003},
  publisher={Wiley Online Library}
}

@article{lohmann2006sensitivity,
  title={Sensitivity studies of the importance of dust ice nuclei for the indirect aerosol effect on stratiform mixed-phase clouds},
  author={Lohmann, Ulrike and Diehl, K},
  journal={Journal of the Atmospheric Sciences},
  volume={63},
  number={3},
  pages={968--982},
  year={2006}
}
@article{north1982sampling,
  title={Sampling errors in the estimation of empirical orthogonal functions},
  author={North, Gerald R and Bell, Thomas L and Cahalan, Robert F and Moeng, Fanthune J},
  journal={Monthly weather review},
  volume={110},
  number={7},
  pages={699--706},
  year={1982}
}
@article{wyrwoll2016cold,
  title={Cold surges and dust events: Establishing the link between the East Asian Winter Monsoon and the Chinese loess record},
  author={Wyrwoll, Karl-Heinz and Wei, Junhong and Lin, Zhaohui and Shao, Yaping and He, Feng},
  journal={Quaternary Science Reviews},
  volume={149},
  pages={102--108},
  year={2016},
  publisher={Elsevier}
}
@article{iversen1982saltation,
  title={Saltation threshold on earth, mars and venus},
  author={Iversen, James D and White, Bruce R},
  journal={Sedimentology},
  volume={29},
  number={1},
  pages={111--119},
  year={1982},
  publisher={Wiley Online Library}
}
@article{wang2008variability,
  title={Variability of East Asia dust events and their long-term trend},
  author={Wang, Xin and Huang, Jianping and Ji, Mingxia and Higuchi, Kaz},
  journal={Atmospheric Environment},
  volume={42},
  number={13},
  pages={3156--3165},
  year={2008},
  publisher={Elsevier}
}
@phdthesis{spassov2002loess,
  title={Loess magnetism, environment and climate change on the Chinese Loess Plateau},
  author={Spassov, Simo},
  year={2002},
  school={ETH Zurich}
}
@article{zhao2003modeled,
  title={Modeled size-segregated wet and dry deposition budgets of soil dust aerosol during ACE-Asia 2001: Implications for trans-Pacific transport},
  author={Zhao, TL and Gong, SL and Zhang, XY and McKendry, IG},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={108},
  number={D23},
  year={2003},
  publisher={Wiley Online Library}
}
@article{benedetti2018status,
  title={Status and future of numerical atmospheric aerosol prediction with a focus on data requirements},
  author={Benedetti, Angela and Reid, Jeffrey S and Knippertz, Peter and Marsham, John H and Giuseppe, Francesca Di and Remy, Samuel and Basart, Sara and Boucher, Olivier and Brooks, Ian M and Menut, Laurent and others},
  journal={Atmospheric Chemistry and Physics},
  volume={18},
  number={14},
  pages={10615--10643},
  year={2018},
  publisher={Copernicus GmbH}
}
@article{bergametti2018size,
  title={Size-Resolved Dry Deposition Velocities of Dust Particles: In Situ Measurements and Parameterizations Testing},
  author={Bergametti, G and Marticorena, B and Rajot, Jean-Louis and Foret, Gilles and Alfaro, SC and Laurent, B},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={123},
  number={19},
  pages={11--080},
  year={2018},
  publisher={Wiley Online Library}
}
@article{chen2006zr,
  title={Zr/Rb ratio in the Chinese loess sequences and its implication for changes in the East Asian winter monsoon strength},
  author={Chen, Jun and Chen, Yang and Liu, Lianwen and Ji, Junfeng and Balsam, William and Sun, Youbin and Lu, Huayu},
  journal={Geochimica et Cosmochimica Acta},
  volume={70},
  number={6},
  pages={1471--1482},
  year={2006},
  doi={https://doi.org/10.1016/j.gca.2005.11.029},
  publisher={Elsevier}
}
@article{ding2000re,
  title={Re-arrangement of atmospheric circulation at about 2.6 Ma over northern China: evidence from grain size records of loess-palaeosol and red clay sequences},
  author={Ding, ZL and Rutter, NW and Sun, JM and Yang, SL and Liu, TS},
  journal={Quaternary Science Reviews},
  volume={19},
  number={6},
  pages={547--558},
  year={2000},
  publisher={Elsevier}
}
@article{maher2016palaeoclimatic,
  title={Palaeoclimatic records of the loess/palaeosol sequences of the Chinese Loess Plateau},
  author={Maher, Barbara A},
  journal={Quaternary Science Reviews},
  volume={154},
  pages={23--84},
  year={2016},
  publisher={Elsevier}
}
@article{dawson2016eofs,
  title={eofs: A library for EOF analysis of meteorological, oceanographic, and climate data},
  author={Dawson, Andrew},
  journal={Journal of Open Research Software},
  volume={4},
  number={1},
  year={2016},
  publisher={Ubiquity Press}
}

@article{molder2021sustainable,
  title={Sustainable data analysis with Snakemake},
  author={M{\"o}lder, Felix and Jablonski, Kim Philipp and Letcher, Brice and Hall, Michael B and Tomkins-Tinch, Christopher H and Sochat, Vanessa and Forster, Jan and Lee, Soohyun and Twardziok, Sven O and Kanitz, Alexander and others},
  journal={F1000Research},
  volume={10},
  year={2021},
  publisher={Faculty of 1000 Ltd}
}

@article{ove_haugvaldstad_2021,
title={FLEXPART and FLEXDUST source code: Aeolian Dust Sources, Transport and Deposition over the Chinese Loess Plateau during 1999-2019: A study using the FLEXDUST and FLEXPART Models},
DOI={10.5281/zenodo.5128339},
abstractNote={
Source code of FLEXPART and FLEXDUST model used in the master thesis titled Aeolian Dust Sources, Transport and Deposition over the Chinese Loess Plateau during 1999-2019: A study using the FLEXDUST and FLEXPART Models.
},
publisher={Zenodo},
author={Ove Haugvaldstad},
year={2021},
month={Jul}}
@article{mao2011influence,
  title={Influence of Arctic Oscillation on dust activity over northeast Asia},
  author={Mao, Rui and Ho, Chang-Hoi and Shao, Yaping and Gong, Dao-Yi and Kim, Jhoon},
  journal={Atmospheric environment},
  volume={45},
  number={2},
  pages={326--337},
  year={2011},
  publisher={Elsevier}
}
@article{gong2006east,
  title={East Asian dust storm and weather disturbance: possible links to the Arctic Oscillation},
  author={Gong, Dao-Yi and Mao, Rui and Fan, Yi-Da},
  journal={International Journal of Climatology: A Journal of the Royal Meteorological Society},
  volume={26},
  number={10},
  pages={1379--1396},
  year={2006},
  publisher={Wiley Online Library}
}
@article{park2011relationship,
  title={Relationship between the Arctic Oscillation and cold surges over East Asia},
  author={Park, Tae-Won and Ho, Chang-Hoi and Yang, Song},
  journal={Journal of Climate},
  volume={24},
  number={1},
  pages={68--83},
  year={2011}
}
@article{yoshiike2009influence,
  title={Influence of wintertime large-scale circulation on the explosively developing cyclones over the western North Pacific and their downstream effects},
  author={Yoshiike, Satoki and Kawamura, Ryuichi},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={114},
  number={D13},
  year={2009},
  publisher={Wiley Online Library}
}
@article{tada2016evolution,
  title={Evolution and variability of the Asian monsoon and its potential linkage with uplift of the Himalaya and Tibetan Plateau},
  author={Tada, Ryuji and Zheng, Hongbo and Clift, Peter D},
  journal={Progress in Earth and Planetary Science},
  volume={3},
  number={1},
  pages={1--26},
  year={2016},
  publisher={Springer}
}
@article{da2015early,
  title={An Early Pleistocene atmospheric CO2 record based on pedogenic carbonate from the Chinese loess deposits},
  author={Da, Jiawei and Zhang, Yi Ge and Wang, Hongtao and Balsam, William and Ji, Junfeng},
  journal={Earth and Planetary Science Letters},
  volume={426},
  pages={69--75},
  year={2015},
  publisher={Elsevier}
}
@inproceedings{tipka2021effects,
  title={Effects of improved interpolation in the wet-scavenging scheme of FLEXPART},
  author={Tipka, Anne and Seibert, Petra},
  booktitle={EGU General Assembly Conference Abstracts},
  pages={EGU21--15805},
  year={2021}
}
@article{sun2005late,
  title={Late Pliocene-Pleistocene changes in mass accumulation rates of eolian deposits on the central Chinese Loess Plateau},
  author={Sun, Youbin and An, Zhisheng},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={110},
  number={D23},
  year={2005},
  publisher={Wiley Online Library}
}
@article{draxler2010hysplit,
  title={HYSPLIT (HYbrid Single-Particle Lagrangian Integrated Trajectory) model access via NOAA ARL READY website (http://ready. arl. noaa. gov/HYSPLIT. php), NOAA Air Resources Laboratory},
  author={Draxler, RR and Rolph, GD},
  journal={Silver Spring, MD},
  volume={25},
  year={2010}
}

@article{xuan2002characterization,
  title={Characterization of sources and emission rates of mineral dust in Northern China},
  author={Xuan, Jie and Sokolik, Irina N},
  journal={Atmospheric Environment},
  volume={36},
  number={31},
  pages={4863--4876},
  year={2002},
  doi={https://doi.org/10.1016/S1352-2310(02)00585-X},
  publisher={Elsevier}
}

@article{xuan2004identification,
  title={Identification and characterization of sources of atmospheric mineral dust in East Asia},
  author={Xuan, Jie and Sokolik, Irina N and Hao, Jingfu and Guo, Fahui and Mao, Hengqing and Yang, Guiming},
  journal={Atmospheric Environment},
  volume={38},
  number={36},
  pages={6239--6252},
  year={2004},
  doi = {https://doi.org/10.1016/j.atmosenv.2004.06.042},
  publisher={Elsevier}
}
@article{shi2011distinguishing,
  title={Distinguishing the provenance of fine-grained eolian dust over the Chinese Loess Plateau from a modelling perspective},
  author={Shi, Zhengguo and Liu, Xiaodong},
  journal={Tellus B: Chemical and Physical Meteorology},
  volume={63},
  number={5},
  pages={959--970},
  year={2011},
  publisher={Taylor \& Francis}
}
@article{bird2015quaternary,
  title={Quaternary dust source variation across the Chinese Loess Plateau},
  author={Bird, Anna and Stevens, Thomas and Rittner, Martin and Vermeesch, Pieter and Carter, Andrew and And{\`o}, Sergio and Garzanti, Eduardo and Lu, Huayu and Nie, Junsheng and Zeng, Lin and others},
  journal={Palaeogeography, Palaeoclimatology, Palaeoecology},
  volume={435},
  pages={254--264},
  year={2015},
  doi = {https://doi.org/10.1016/j.palaeo.2015.06.024},
  publisher={Elsevier}
}
@incollection{muhs2014loess,
  title={Loess records},
  author={Muhs, Daniel R and Cattle, Stephen R and Crouvi, Onn and Rousseau, Denis-Didier and Sun, Jimin and Z{\'a}rate, Marcelo A},
  booktitle={Mineral Dust},
  pages={411--441},
  year={2014},
  publisher={Springer}
}
@article{shang2016variations,
  title={Variations in the provenance of the late Neogene Red Clay deposits in northern China},
  author={Shang, Yuan and Beets, Christiaan J and Tang, Hui and Prins, Maarten A and Lahaye, Yann and van Elsas, Roel and Sukselainen, Leena and Kaakinen, Anu},
  journal={Earth and Planetary Science Letters},
  volume={439},
  pages={88--100},
  year={2016},
  publisher={Elsevier}
}
@article{yang2004comparison,
  title={Comparison of particle size characteristics of the Tertiary ‘red clay’and Pleistocene loess in the Chinese Loess Plateau: implications for origin and sources of the ‘red clay’},
  author={Yang, SL and Ding, ZL},
  journal={Sedimentology},
  volume={51},
  number={1},
  pages={77--93},
  year={2004},
  publisher={Wiley Online Library}
}

@article{zhang2019parameterization,
  title={Parameterization schemes on dust deposition in northwest China: Model validation and implications for the global dust cycle},
  author={Zhang, Xiao-Xiao and Sharratt, Brenton and Lei, Jia-Qiang and Wu, Cheng-Lai and Zhang, Jie and Zhao, Chun and Wang, Zi-Fa and Wu, Shi-Xin and Li, Sheng-Yu and Liu, Lian-You and others},
  journal={Atmospheric environment},
  volume={209},
  pages={1--13},
  year={2019},
  publisher={Elsevier}
}
@article{dong2013investigation,
  title={Investigation of the sand sea with the tallest dunes on Earth: China's Badain Jaran Sand Sea},
  author={Dong, Zhibao and Qian, Guangqiang and Lv, Ping and Hu, Guangyin},
  journal={Earth-Science Reviews},
  volume={120},
  pages={20--39},
  year={2013},
  publisher={Elsevier}
}
@article{mao2013numerical,
  title={Numerical analysis for contribution of the Tibetan Plateau to dust aerosols in the atmosphere over the East Asia},
  author={Mao, Rui and Gong, DaoYi and Shao, YaPing and Wu, GuangJian and Bao, JingDong},
  journal={Science China Earth Sciences},
  volume={56},
  number={2},
  pages={301--310},
  year={2013},
  publisher={Springer}
}
@article{miao2012controlled,
  title={What controlled Mid--Late Miocene long-term aridification in Central Asia?—Global cooling or Tibetan Plateau uplift: A review},
  author={Miao, Yunfa and Herrmann, Mark and Wu, Fuli and Yan, Xiaoli and Yang, Shengli},
  journal={Earth-Science Reviews},
  volume={112},
  number={3-4},
  pages={155--172},
  year={2012},
  publisher={Elsevier}
}

@article{qiang2011new,
  title={New eolian red clay sequence on the western Chinese Loess Plateau linked to onset of Asian desertification about 25 Ma ago},
  author={Qiang, Xiaoke and An, Zhisheng and Song, Yougui and Chang, Hong and Sun, Youbin and Liu, Weiguo and Ao, Hong and Dong, Jibao and Fu, Chaofeng and Wu, Feng and others},
  journal={Science China Earth Sciences},
  volume={54},
  number={1},
  pages={136--144},
  year={2011},
  publisher={Springer}
}
@article{zhuang2001compositions,
  title={The compositions, sources, and size distribution of the dust storm from China in spring of 2000 and its impact on the global environment},
  author={Zhuang, Guoshun and Guo, Jinghua and Yuan, Hui and Zhao, Chengyi},
  journal={Chinese Science Bulletin},
  volume={46},
  number={11},
  pages={895--900},
  year={2001},
  publisher={Springer}
}

@incollection{bergametti2014dust,
  title={Dust deposition},
  author={Bergametti, Gilles and For{\^e}t, Gilles},
  booktitle={Mineral dust},
  pages={179--200},
  year={2014},
  publisher={Springer}
}
@article{brandt2002modelling,
  title={Modelling transport and deposition of caesium and iodine from the Chernobyl accident using the DREAM model},
  author={Brandt, J and Christensen, JH and Frohn, LM},
  journal={Atmospheric Chemistry and Physics},
  volume={2},
  number={5},
  pages={397--417},
  year={2002},
  publisher={Copernicus GmbH}
}
@article{jung2006intercomparison,
  title={An intercomparison of four wet deposition schemes used in dust transport modeling},
  author={Jung, Eunjoo and Shao, Yaping},
  journal={Global and Planetary Change},
  volume={52},
  number={1-4},
  pages={248--260},
  year={2006},
  publisher={Elsevier}
}

@article{seinfeld1998atmospheric,
  title={Atmospheric chemistry and physics: from air pollution to climate change},
  author={Seinfeld, John H and Pandis, Spyros N and Noone, Kevin},
  journal={Physics Today},
  volume={51},
  number={10},
  pages={88},
  year={1998}
}

@article{mahowald2014size,
  title={The size distribution of desert dust aerosols and its impact on the Earth system},
  author={Mahowald, Natalie and Albani, Samuel and Kok, Jasper F and Engelstaeder, Sebastian and Scanza, Rachel and Ward, Daniel S and Flanner, Mark G},
  journal={Aeolian Research},
  volume={15},
  pages={53--71},
  year={2014},
  publisher={Elsevier}
}
@article{shao2011dust,
  title={Dust cycle: An emerging core theme in Earth system science},
  author={Shao, Yaping and Wyrwoll, Karl-Heinz and Chappell, Adrian and Huang, Jianping and Lin, Zhaohui and McTainsh, Grant H and Mikami, Masao and Tanaka, Taichu Y and Wang, Xulong and Yoon, Soonchang},
  journal={Aeolian Research},
  volume={2},
  number={4},
  pages={181--204},
  year={2011},
  publisher={Elsevier}
}
@article{huang2006satellite,
  title={Satellite-based assessment of possible dust aerosols semi-direct effect on cloud water path over East Asia},
  author={Huang, Jianping and Lin, Bing and Minnis, Patrick and Wang, Tianhe and Wang, Xin and Hu, Yongxiang and Yi, Yuhong and Ayers, J Kirk},
  journal={Geophysical Research Letters},
  volume={33},
  number={19},
  year={2006},
  publisher={Wiley Online Library}
}
@article{jhun2004new,
  title={A new East Asian winter monsoon index and associated characteristics of the winter monsoon},
  author={Jhun, Jong-Ghap and Lee, Eun-Jeong},
  journal={Journal of Climate},
  volume={17},
  number={4},
  pages={711--726},
  year={2004}
}
@article{hannachi2007empirical,
  title={Empirical orthogonal functions and related techniques in atmospheric science: A review},
  author={Hannachi, Abdel and Jolliffe, Ian T and Stephenson, David B},
  journal={International Journal of Climatology: A Journal of the Royal Meteorological Society},
  volume={27},
  number={9},
  pages={1119--1152},
  year={2007},
  publisher={Wiley Online Library}
}
@article{yu2021conditional,
  title={Conditional impact of boreal autumn North Atlantic SST anomaly on winter tropospheric Asian polar vortex},
  author={Yu, Shui and Sun, Jianqi},
  journal={Climate Dynamics},
  volume={56},
  number={3},
  pages={855--871},
  year={2021},
  publisher={Springer}
}
@article{wang2010well,
  title={How well do existing indices measure the strength of the East Asian winter monsoon?},
  author={Wang, Lin and Chen, Wen},
  journal={Advances in Atmospheric Sciences},
  volume={27},
  number={4},
  pages={855--870},
  year={2010},
  publisher={Springer}
}

@article{sakai2009remote,
  title={Remote response of the East Asian winter monsoon to tropical forcing related to El Ni{\~n}o--Southern Oscillation},
  author={Sakai, Kumi and Kawamura, Ryuichi},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={114},
  number={D6},
  year={2009},
  publisher={Wiley Online Library}
}

@article{he2017impact,
  title={Impact of Arctic Oscillation on the East Asian climate: A review},
  author={He, Shengping and Gao, Yongqi and Li, Fei and Wang, Huijun and He, Yanchun},
  journal={Earth-Science Reviews},
  volume={164},
  pages={48--62},
  year={2017},
  publisher={Elsevier}
}
@article{thompson1998arctic,
  title={The Arctic Oscillation signature in the wintertime geopotential height and temperature fields},
  author={Thompson, David WJ and Wallace, John M},
  journal={Geophysical research letters},
  volume={25},
  number={9},
  pages={1297--1300},
  year={1998},
  publisher={Wiley Online Library}
}
@article{wu2002winter,
  title={Winter Arctic oscillation, Siberian high and East Asian winter monsoon},
  author={Wu, Bingyi and Wang, Jia},
  journal={Geophysical research letters},
  volume={29},
  number={19},
  pages={3--1},
  year={2002},
  publisher={Wiley Online Library}
}
@article{liu2018influence,
  title={Influence of Central Siberian Snow-Albedo Feedback on the Spring East Asian Dust Cycle and Connection With the Preceding Winter Arctic Oscillation},
  author={Liu, Heng and Liu, Xiaodong and Dong, Buwen},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={123},
  number={23},
  pages={13--368},
  year={2018},
  publisher={Wiley Online Library}
}
@article{stevens2007reinterpreting,
  title={Reinterpreting climate proxy records from late Quaternary Chinese loess: a detailed OSL investigation},
  author={Stevens, Thomas and Thomas, David SG and Armitage, Simon J and Lunn, Hannah R and Lu, Huayu},
  journal={Earth-Science Reviews},
  volume={80},
  number={1-2},
  pages={111--136},
  year={2007},
  publisher={Elsevier}
}
@article{ding2002stacked,
  title={Stacked 2.6-Ma grain size record from the Chinese loess based on five sections and correlation with the deep-sea $\delta$18O record},
  author={Ding, Zhongli L and Derbyshire, E and Yang, SL and Yu, ZW and Xiong, SF and Liu, TS},
  journal={Paleoceanography},
  volume={17},
  number={3},
  pages={5--1},
  year={2002},
  publisher={Wiley Online Library}
}
@article{derbyshire1995variations,
  title={Variations in loess and palaeosol properties as indicators of palaeoclimatic gradients across the Loess Plateau of North China},
  author={Derbyshire, Edward and Kemp, Rob and Meng, Xingmin},
  journal={Quaternary Science Reviews},
  volume={14},
  number={7-8},
  pages={681--697},
  year={1995},
  publisher={Elsevier}
}

@article{yang2020interdecadal,
  title={Interdecadal variation of winter cold surge path in East Asia and its relationship with Arctic sea ice},
  author={Yang, Xiaoye and Zeng, Gang and Zhang, Guwei and Li, Zhongxian},
  journal={Journal of Climate},
  volume={33},
  number={11},
  pages={4907--4925},
  year={2020}
}

@article{mahowald2010observed,
  title={Observed 20th century desert dust variability: impact on climate and biogeochemistry},
  author={Mahowald, Natalie M and Kloster, Silvia and Engelstaedter, S and Moore, J Keith and Mukhopadhyay, S and McConnell, Joseph R and Albani, S and Doney, Scott C and Bhattacharya, A and Curran, MAJ and others},
  journal={Atmospheric Chemistry and Physics},
  volume={10},
  number={22},
  pages={10875--10893},
  year={2010},
  publisher={Copernicus GmbH}
}
@article{yu2015fertilizing,
  title={The fertilizing role of African dust in the Amazon rainforest: A first multiyear assessment based on data from Cloud-Aerosol Lidar and Infrared Pathfinder Satellite Observations},
  author={Yu, Hongbin and Chin, Mian and Yuan, Tianle and Bian, Huisheng and Remer, Lorraine A and Prospero, Joseph M and Omar, Ali and Winker, David and Yang, Yuekui and Zhang, Yan and others},
  journal={Geophysical Research Letters},
  volume={42},
  number={6},
  pages={1984--1991},
  year={2015},
  publisher={Wiley Online Library}
}
@article{rosenfeld2011pollution,
  title={Pollution and dust aerosols modulating tropical cyclones intensities},
  author={Rosenfeld, Daniel and Clavner, Michal and Nirel, Ronit},
  journal={Atmospheric Research},
  volume={102},
  number={1-2},
  pages={66--76},
  year={2011},
  publisher={Elsevier}
}

@article{li2021quantifying,
  title={Quantifying the range of the dust direct radiative effect due to source mineralogy uncertainty},
  author={Li, Longlei and Mahowald, Natalie M and Miller, Ron L and P{\'e}rez Garc{\'\i}a-Pando, Carlos and Klose, Martina and Hamilton, Douglas S and Gon{\c{c}}alves Ageitos, Maria and Ginoux, Paul and Balkanski, Yves and Green, Robert O and others},
  journal={Atmospheric Chemistry and Physics},
  volume={21},
  number={5},
  pages={3973--4005},
  year={2021},
  publisher={Copernicus GmbH}
}
@incollection{tegen2014numerical,
  title={Numerical dust models},
  author={Tegen, Ina and Schulz, Michael},
  booktitle={Mineral Dust},
  pages={201--222},
  year={2014},
  publisher={Springer}
}
@article{klose2013large,
  title={Large-eddy simulation of turbulent dust emission},
  author={Klose, Martina and Shao, Yaping},
  journal={Aeolian Research},
  volume={8},
  pages={49--58},
  year={2013},
  publisher={Elsevier}
}
@article{does2016particle,
  title={Particle size traces modern Saharan dust transport and deposition across the equatorial North Atlantic},
  author={Does, Michelle Van Der and Korte, Laura F and Munday, Chris I and Brummer, Geert-Jan A and Stuut, Jan-Berend W},
  journal={Atmospheric Chemistry and Physics},
  volume={16},
  number={21},
  pages={13697--13710},
  year={2016},
  publisher={Copernicus GmbH}
}

@article{ryder2013impact,
  title={Impact of atmospheric transport on the evolution of microphysical and optical properties of Saharan dust},
  author={Ryder, CL and Highwood, EJ and Lai, TM and Sodemann, Harald and Marsham, John H},
  journal={Geophysical Research Letters},
  volume={40},
  number={10},
  pages={2433--2438},
  year={2013},
  publisher={Wiley Online Library}
}

@article{van2018mysterious,
  title={The mysterious long-range transport of giant mineral dust particles},
  author={Van Der Does, Mich{\`e}lle and Knippertz, Peter and Zschenderlein, Philipp and Harrison, R Giles and Stuut, Jan-Berend W},
  journal={Science advances},
  volume={4},
  number={12},
  pages={eaau2768},
  year={2018},
  publisher={American Association for the Advancement of Science}
}

@article{mallios2020effects,
  title={Effects of dust particle sphericity and orientation on their gravitational settling in the earth’s atmosphere},
  author={Mallios, Sotirios A and Drakaki, Eleni and Amiridis, Vassilis},
  journal={Journal of Aerosol Science},
  volume={150},
  pages={105634},
  year={2020},
  publisher={Elsevier}
}

@article{huneeus2011global,
  title={Global dust model intercomparison in AeroCom phase I},
  author={Huneeus, N and Schulz, M and Balkanski, Yves and Griesfeller, J and Prospero, J and Kinne, Stefan and Bauer, Sl and Boucher, O and Chin, M and Dentener, F and others},
  journal={Atmospheric Chemistry and Physics},
  volume={11},
  number={15},
  pages={7781--7816},
  year={2011},
  publisher={Copernicus GmbH}
}
@article{xiao1995grain,
  title={Grain size of quartz as an indicator of winter monsoon strength on the Loess Plateau of central China during the last 130,000 yr},
  author={Xiao, Jule and Porter, Stephen C and An, Zhisheng and Kumai, Hisao and Yoshikawa, Shusaku},
  journal={Quaternary Research},
  volume={43},
  number={1},
  pages={22--29},
  year={1995},
  publisher={Elsevier}
}

@article{maher1992paleoclimatic,
  title={Paleoclimatic significance of the mineral magnetic record of the Chinese loess and paleosols},
  author={Maher, Barbara A and Thompson, Roy},
  journal={Quaternary Research},
  volume={37},
  number={2},
  pages={155--170},
  year={1992},
  publisher={Cambridge University Press}
}
@article{roe2009interpretation,
  title={On the interpretation of Chinese loess as a paleoclimate indicator},
  author={Roe, Gerard},
  journal={Quaternary Research},
  volume={71},
  number={2},
  pages={150--161},
  year={2009},
  publisher={Elsevier}
}
@article{li2015multi,
  title={Multi-satellite observation of an intense dust event over southwestern China},
  author={Li, Rong and Gong, Jianhua and Zhou, Jieping and Sun, Wenyi and Ibrahim, Abdoul Nasser and others},
  journal={Aerosol and Air Quality Research},
  volume={15},
  number={1},
  pages={263--270},
  year={2015},
  publisher={Taiwan Association for Aerosol Research}
}

@book{markowski2011mesoscale,
  title={Mesoscale meteorology in midlatitudes},
  author={Markowski, Paul and Richardson, Yvette},
  volume={2},
  year={2011},
  publisher={John Wiley \& Sons}
}

@book{williams_climate_2014,
	address = {New York},
	title = {Climate {Change} in {Deserts}: {Past}, {Present} and {Future}},
	isbn = {978-1-139-06178-0},
	shorttitle = {Climate {Change} in {Deserts}},
	url = {http://ebooks.cambridge.org/ref/id/CBO9781139061780},
	language = {en},
	urldate = {2021-06-06},
	publisher = {Cambridge University Press},
	author = {Williams, Martin},
	year = {2014},
	doi = {10.1017/CBO9781139061780},
	file = {Williams - 2014 - Climate Change in Deserts Past, Present and Futur.pdf:C\:\\Users\\oveha\\Zotero\\storage\\8HLSQ43J\\Williams - 2014 - Climate Change in Deserts Past, Present and Futur.pdf:application/pdf},
}

@article{chen2017overview,
  title={An overview of mineral dust modeling over East Asia},
  author={Chen, Siyu and Huang, Jianping and Qian, Yun and Zhao, Chun and Kang, Litai and Yang, Ben and Wang, Yong and Liu, Yuzhi and Yuan, Tiangang and Wang, Tianhe and others},
  journal={Journal of Meteorological Research},
  volume={31},
  number={4},
  pages={633--653},
  year={2017},
  publisher={Springer}
}

@article{zhao2006simulated,
  title={A simulated climatology of Asian dust aerosol and its trans-Pacific transport. Part I: Mean climate and validation},
  author={Zhao, TL and Gong, SL and Zhang, XY and Blanchet, Jean-Pierre and McKendry, IG and Zhou, ZJ},
  journal={Journal of Climate},
  volume={19},
  number={1},
  pages={88--103},
  year={2006}
}
@article{su2015sensitivities,
  title={Sensitivities of WRF-Chem to dust emission schemes and land surface properties in simulating dust cycles during springtime over East Asia},
  author={Su, Lin and Fung, Jimmy CH},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={120},
  number={21},
  pages={11--215},
  year={2015},
  publisher={Wiley Online Library}
}

@article{sun2012numerical,
  title={Numerical simulation of spatial-temporal distribution of dust aerosol and its direct radiative effects on East Asian climate},
  author={Sun, Hui and Pan, Zaitao and Liu, Xiaodong},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={117},
  number={D13},
  year={2012},
  publisher={Wiley Online Library}
}
@article{choobari2014global,
  title={The global distribution of mineral dust and its impacts on the climate system: A review},
  author={Choobari, O Alizadeh and Zawar-Reza, P and Sturman, A},
  journal={Atmospheric Research},
  volume={138},
  pages={152--165},
  year={2014},
  publisher={Elsevier}
}

@article{tegen1996influence,
  title={The influence on climate forcing of mineral aerosols from disturbed soils},
  author={Tegen, Ina and Lacis, Andrew A and Fung, Inez},
  journal={Nature},
  volume={380},
  number={6573},
  pages={419--422},
  year={1996},
  publisher={Nature Publishing Group}
}
@article{shao2004simplification,
  title={Simplification of a dust emission scheme and comparison with data},
  author={Shao, Yaping},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={109},
  number={D10},
  year={2004},
  publisher={Wiley Online Library}
}
@article{johnson2012global,
  title={A global comparison of GEOS-Chem-predicted and remotely-sensed mineral dust aerosol optical depth and extinction profiles},
  author={Johnson, Matthew S and Meskhidze, Nicholas and Praju Kiliyanpilakkil, Velayudhan},
  journal={Journal of Advances in Modeling Earth Systems},
  volume={4},
  number={3},
  year={2012},
  publisher={Wiley Online Library}
}

@article{alfaro2001modeling,
  title={Modeling mineral aerosol production by wind erosion: Emission intensities and aerosol size distributions in source areas},
  author={Alfaro, St{\'e}phane C and Gomes, Laurent},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={106},
  number={D16},
  pages={18075--18084},
  year={2001},
  publisher={Wiley Online Library}
}

@article{adebiyi2020dust,
  title={Dust Constraints from joint Observational-Modelling-experiMental analysis (DustCOMM): comparison with measurements and model simulations},
  author={Adebiyi, Adeyemi A and Kok, Jasper F and Wang, Yang and Ito, Akinori and Ridley, David A and Nabat, Pierre and Zhao, Chun},
  journal={Atmospheric Chemistry and Physics},
  volume={20},
  number={2},
  pages={829--863},
  year={2020},
  publisher={Copernicus GmbH}
}
@article{shao2006review,
  title={A review on East Asian dust storm climate, modelling and monitoring},
  author={Shao, Y and Dong, CH},
  journal={Global and Planetary Change},
  volume={52},
  number={1-4},
  pages={1--22},
  year={2006},
  doi = {https://doi.org/10.1016/j.gloplacha.2006.02.011},
  publisher={Elsevier}
}
@article{kurosaki2003recent,
  title={Recent frequent dust events and their relation to surface wind in East Asia},
  author={Kurosaki, Yasunori and Mikami, Masao},
  journal={Geophysical Research Letters},
  volume={30},
  number={14},
  year={2003},
  publisher={Wiley Online Library}
}
@article{takemi2005dust,
  title={Dust storms and cyclone tracks over the arid regions in east Asia in spring},
  author={Takemi, Tetsuya and Seino, Naoko},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={110},
  number={D18},
  year={2005},
  publisher={Wiley Online Library}
}

@book{bagnold1941physics,
  title={The physics of blown sand and desert dunes},
  author={Bagnold, Ralph Alger},
  year={1941},
  publisher={Courier Corporation}
}
@article{liu2003high,
  title={A high-resolution numerical study of the Asian dust storms of April 2001},
  author={Liu, Ming and Westphal, Douglas L and Wang, Shigong and Shimizu, Atsushi and Sugimoto, Nobuo and Zhou, Jun and Chen, Yan},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={108},
  number={D23},
  year={2003},
  publisher={Wiley Online Library}
}
@article{aoki2005dust,
  title={Dust storms generated by mesoscale cold fronts in the Tarim Basin, Northwest China},
  author={Aoki, Isao and Kurosaki, Yasunori and Osada, Ryoichi and Sato, Tomonori and Kimura, Fujio},
  journal={Geophysical Research Letters},
  volume={32},
  number={6},
  year={2005},
  doi = {https://doi.org/10.1029/2004GL021776},
  publisher={Wiley Online Library}
}

@article{sun2001spatial,
  title={Spatial and temporal characteristics of dust storms in China and its surrounding regions, 1960--1999: Relations to source area and climate},
  author={Sun, Jimin and Zhang, Mingying and Liu, Tungsheng},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={106},
  number={D10},
  pages={10325--10333},
  year={2001},
  publisher={Wiley Online Library}
}
@article{zhou2003typical,
  title={Typical severe dust storms in northern China during 1954—2002},
  author={Zhou, Zijiang and Zhang, Guocai},
  journal={Chinese Science Bulletin},
  volume={48},
  number={21},
  pages={2366--2370},
  year={2003},
  publisher={Springer}
}

@article{jickells_dust_biogeo_2015,
	title = {Global {Iron} {Connections} {Between} {Desert} {Dust}, {Ocean} {Biogeochemistry}, and {Climate}},
	volume = {308},
	copyright = {American Association for the Advancement of Science},
	issn = {0036-8075, 1095-9203},
	url = {https://science.sciencemag.org/content/308/5718/67},
	doi = {10.1126/science.1105959},
	abstract = {The environmental conditions of Earth, including the climate, are determined by physical, chemical, biological, and human interactions that transform and transport materials and energy. This is the “Earth system”: a highly complex entity characterized by multiple nonlinear responses and thresholds, with linkages between disparate components. One important part of this system is the iron cycle, in which iron-containing soil dust is transported from land through the atmosphere to the oceans, affecting ocean biogeochemistry and hence having feedback effects on climate and dust production. Here we review the key components of this cycle, identifying critical uncertainties and priorities for future research.},
	language = {en},
	number = {5718},
	urldate = {2021-05-31},
	journal = {Science},
	author = {Jickells, T. D. and An, Z. S. and Andersen, K. K. and Baker, A. R. and Bergametti, G. and Brooks, N. and Cao, J. J. and Boyd, P. W. and Duce, R. A. and Hunter, K. A. and Kawahata, H. and Kubilay, N. and laRoche, J. and Liss, P. S. and Mahowald, N. and Prospero, J. M. and Ridgwell, A. J. and Tegen, I. and Torres, R.},
	month = apr,
	year = {2005},
	pmid = {15802595},
	note = {Publisher: American Association for the Advancement of Science
Section: Review},
	pages = {67--71},
	file = {Full Text PDF:C\:\\Users\\oveha\\Zotero\\storage\\TLLZ3C3K\\Jickells et al. - 2005 - Global Iron Connections Between Desert Dust, Ocean.pdf:application/pdf;Snapshot:C\:\\Users\\oveha\\Zotero\\storage\\5ZKLRXZU\\tab-pdf.html:text/html},
}

@article{molnar_orographic_2010,
	title = {Orographic {Controls} on {Climate} and {Paleoclimate} of {Asia}: {Thermal} and {Mechanical} {Roles} for the {Tibetan} {Plateau}},
	volume = {38},
	issn = {0084-6597, 1545-4495},
	shorttitle = {Orographic {Controls} on {Climate} and {Paleoclimate} of {Asia}},
	url = {http://www.annualreviews.org/doi/10.1146/annurev-earth-040809-152456},
	doi = {10.1146/annurev-earth-040809-152456},
	language = {en},
	number = {1},
	urldate = {2021-01-15},
	journal = {Annual Review of Earth and Planetary Sciences},
	author = {Molnar, Peter and Boos, William R. and Battisti, David S.},
	month = apr,
	year = {2010},
	pages = {77--102},
}
@article{dorling1992cluster,
  title={Cluster analysis: A technique for estimating the synoptic meteorological controls on air and precipitation chemistry—Method and applications},
  author={Dorling, SR and Davies, TD and Pierce, CE},
  journal={Atmospheric Environment. Part A. General Topics},
  volume={26},
  number={14},
  pages={2575--2581},
  year={1992},
  publisher={Elsevier}
}
@article{gong2006simulated,
  title={A simulated climatology of Asian dust aerosol and its trans-Pacific transport. Part II: Interannual variability and climate connections},
  author={Gong, SL and Zhang, XY and Zhao, TL and Zhang, XB and Barrie, LA and McKendry, IG and Zhao, CS},
  journal={Journal of Climate},
  volume={19},
  number={1},
  pages={104--122},
  year={2006},
  publisher={American Meteorological Society}
}
@article{miao2004spatial,
  title={Spatial pattern of grain size in the Late Pliocene ‘Red Clay’deposits (North China) indicates transport by low-level northerly winds},
  author={Miao, Xiaodong and Sun, Youbin and Lu, Huayu and Mason, JA},
  journal={Palaeogeography, Palaeoclimatology, Palaeoecology},
  volume={206},
  number={1-2},
  pages={149--155},
  year={2004},
  publisher={Elsevier}
}
@book{liu1985loess,
  title={Loess and the Environment},
  author={Liu, Tung-sheng},
  year={1985},
  publisher={China Ocean Press},
  pages={251}
}
@article{licht2014asian,
  title={Asian monsoons in a late Eocene greenhouse world},
  author={Licht, Alexis and Van Cappelle, Marijn and Abels, HA and Ladant, J-B and Trabucho-Alexandre, J and France-Lanord, Christian and Donnadieu, Y and Vandenberghe, Jef and Rigaudier, Thomas and L{\'e}cuyer, Christophe and others},
  journal={Nature},
  volume={513},
  number={7519},
  pages={501--506},
  year={2014},
  publisher={Nature Publishing Group}
}

@incollection{an2014cenozoicChange,
	address = {Dordrecht},
	series = {Developments in {Paleoenvironmental} {Research}},
	title = {Late {Cenozoic} {Climate} {Change} in {Monsoon}-{Arid} {Asia} and {Global} {Changes}},
	isbn = {978-94-007-7817-7},
	url = {https://doi.org/10.1007/978-94-007-7817-7_6},
	language = {en},
	urldate = {2021-08-12},
	booktitle = {Late {Cenozoic} {Climate} {Change} in {Asia}: {Loess}, {Monsoon} and {Monsoon}-arid {Environment} {Evolution}},
	publisher = {Springer Netherlands},
	author = {An, Zhisheng and Sun, Youbin and Chang, Hong and Zhang, Peizhen and Liu, Xiaodong and Cai, Yanjun and Jin, Zhangdong and Qiang, Xiaoke and Zhou, Weijian and Li, Li and Shi, Zhengguo and Tan, Liangcheng and Li, Xiaoqiang and Zhang, Xinbao and Jin, Zhao},
	editor = {An, Zhisheng},
	year = {2014},
	doi = {10.1007/978-94-007-7817-7_6},
	keywords = {Cenozoic, Conceptual models, Global Changes, Monsoon initiation, Monsoon-arid environment evolution, Numerical Simulations, Sustainable development, Tectonic-orbital-Millennial Monsoon dynamics, Tibetan plateau},
	pages = {491--581},
	file = {Springer Full Text PDF:C\:\\Users\\oveha\\Zotero\\storage\\4KPNEI45\\An et al. - 2014 - Late Cenozoic Climate Change in Monsoon-Arid Asia .pdf:application/pdf},
}
@article{tang2013strong,
  title={Strong interannual variation of the Indian summer monsoon in the Late Miocene},
  author={Tang, Hui and Eronen, Jussi T and Micheels, Arne and Ahrens, Bodo},
  journal={Climate dynamics},
  volume={41},
  number={1},
  pages={135--153},
  year={2013},
  publisher={Springer}
}
@article{sun2002grain,
  title={Grain-size distribution function of polymodal sediments in hydraulic and aeolian environments, and numerical partitioning of the sedimentary components},
  author={Sun, Donghuai and Bloemendal, J and Rea, DK and Vandenberghe, J and Jiang, Fuchu and An, Zhisheng and Su, Ruixia},
  journal={Sedimentary geology},
  volume={152},
  number={3-4},
  pages={263--277},
  year={2002},
  publisher={Elsevier}
}
@article{wittmann2017impact,
  title={Impact of dust deposition on the albedo of Vatnaj{\"o}kull ice cap, Iceland},
  author={Wittmann, Monika and Groot Zwaaftink, Christine Dorothea and Steffensen Schmidt, Louise and Gu{\dh}mundsson, Sverrir and P{\'a}lsson, Finnur and Arnalds, Olafur and Bj{\"o}rnsson, Helgi and Thorsteinsson, Throstur and Stohl, Andreas},
  journal={The Cryosphere},
  volume={11},
  number={2},
  pages={741--754},
  year={2017},
  publisher={Copernicus GmbH}
}
@article{huang2020climate,
  title={Climate models and remote sensing retrievals neglect substantial desert dust asphericity},
  author={Huang, Yue and Kok, Jasper F and Kandler, Konrad and Lindqvist, Hannakaisa and Nousiainen, Timo and Sakai, Tetsu and Adebiyi, Adeyemi and Jokinen, Olli},
  journal={Geophysical Research Letters},
  volume={47},
  number={6},
  pages={e2019GL086592},
  year={2020},
  publisher={Wiley Online Library}
}
@article{sun2006grain,
  title={Grain size of loess, palaeosol and Red Clay deposits on the Chinese Loess Plateau: Significance for understanding pedogenic alteration and palaeomonsoon evolution},
  author={Sun, Youbin and Lu, Huayu and An, Zhisheng},
  journal={Palaeogeography, Palaeoclimatology, Palaeoecology},
  volume={241},
  number={1},
  pages={129--138},
  year={2006},
  publisher={Elsevier}
}

@article{wasiljeff2020magnetostratigraphic,
  title={Magnetostratigraphic constraints on the fossiliferous Ulantatal sequence in Inner Mongolia, China: Implications for Asian aridification and faunal turnover before the Eocene-Oligocene boundary},
  author={Wasiljeff, Joonas and Kaakinen, Anu and Salminen, Johanna M and Zhang, Zhaoqun},
  journal={Earth and Planetary Science Letters},
  volume={535},
  pages={116125},
  year={2020},
  publisher={Elsevier}
}
@article{heisel2021gentle,
  title={Gentle topography increases vertical transport of coarse dust by orders of magnitude},
  author={Heisel, Michael and Chen, Bicheng and Kok, Jasper F and Chamecki, Marcelo},
  journal={Journal of Geophysical Research: Atmospheres},
  pages={e2021JD034564},
  year={2021},
  publisher={Wiley Online Library}
}
@Article{zeng2019deposition,
AUTHOR = {Zeng, Y. and Wang, M. and Zhao, C. and Chen, S. and Liu, Z. and Huang, X. and Gao, Y.},
TITLE = {WRF-Chem v3.9 simulations of the East Asian dust storm in May 2017: modeling sensitivities to dust emission and dry deposition schemes},
JOURNAL = {Geoscientific Model Development},
VOLUME = {13},
YEAR = {2020},
NUMBER = {4},
PAGES = {2125--2147},
URL = {https://gmd.copernicus.org/articles/13/2125/2020/},
DOI = {10.5194/gmd-13-2125-2020}
}
@article{ta2004measurements,
  title={Measurements of dust deposition in Gansu Province, China, 1986--2000},
  author={Ta, Wanquan and Xiao, Honglang and Qu, Jianjun and Xiao, Zheng and Yang, Gensheng and Wang, Tao and Zhang, Xiaoyou},
  journal={Geomorphology},
  volume={57},
  number={1-2},
  pages={41--51},
  year={2004},
  publisher={Elsevier}
}
@article{kohfeld2003glacial,
  title={Glacial-interglacial changes in dust deposition on the Chinese Loess Plateau},
  author={Kohfeld, KE and Harrison, SP},
  journal={Quaternary Science Reviews},
  volume={22},
  number={18-19},
  pages={1859--1878},
  year={2003},
  publisher={Elsevier}
}
@article{zhang1993atmospheric,
  title={Atmospheric trace elements over source regions for Chinese dust: Concentrations, sources and atmospheric deposition on the Loess Plateau},
  author={Zhang, Xiaoye and Arimoto, Richard and An, Zhisheng and Chen, Tuo and Zhang, Guangyu and Zhu, Guanghua and Wang, Xinfu},
  journal={Atmospheric Environment. Part A. General Topics},
  volume={27},
  number={13},
  pages={2051--2067},
  year={1993},
  publisher={Elsevier}
}
@article{wang2015geochemical,
  title={Geochemical evidence for seasonal variations in potential loess sources of the western Chinese Loess Plateau},
  author={Wang, Xunming and Lang, Lili and Li, Hui and Hua, Ting and Wang, Guangtao and Zhou, Na and Jiao, Linlin},
  journal={Atmospheric Environment},
  volume={120},
  pages={369--375},
  year={2015},
  publisher={Elsevier}
}
@article{darmenova_development_2009,
	title = {Development of a physically based dust emission module within the {Weather} {Research} and {Forecasting} ({WRF}) model: {Assessment} of dust emission parameterizations and input parameters for source regions in {Central} and {East} {Asia}},
	volume = {114},
	copyright = {Copyright 2009 by the American Geophysical Union.},
	issn = {2156-2202},
	shorttitle = {Development of a physically based dust emission module within the {Weather} {Research} and {Forecasting} ({WRF}) model},
	url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2008JD011236},
	doi = {https://doi.org/10.1029/2008JD011236},
	language = {en},
	number = {D14},
	urldate = {2021-03-07},
	journal = {Journal of Geophysical Research: Atmospheres},
	author = {Darmenova, Kremena and Sokolik, Irina N. and Shao, Yaping and Marticorena, Beatrice and Bergametti, Gilles},
	year = {2009},
	keywords = {dust, emission}
}
@article{scikit-learn,
 title={Scikit-learn: Machine Learning in {P}ython},
 author={Pedregosa, F. and Varoquaux, G. and Gramfort, A. and Michel, V.
         and Thirion, B. and Grisel, O. and Blondel, M. and Prettenhofer, P.
         and Weiss, R. and Dubourg, V. and Vanderplas, J. and Passos, A. and
         Cournapeau, D. and Brucher, M. and Perrot, M. and Duchesnay, E.},
 journal={Journal of Machine Learning Research},
 volume={12},
 pages={2825--2830},
 year={2011}
}

@article{hersbach_era5_2020,
	title = {The {ERA5} global reanalysis},
	volume = {146},
	copyright = {© 2020 The Authors. Quarterly Journal of the Royal Meteorological Society published by John Wiley \& Sons Ltd on behalf of the Royal Meteorological Society.},
	issn = {1477-870X},
	url = {http://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/qj.3803},
	doi = {https://doi.org/10.1002/qj.3803},
	language = {en},
	number = {730},
	urldate = {2021-01-25},
	journal = {Quarterly Journal of the Royal Meteorological Society},
	author = {Hersbach, Hans and Bell, Bill and Berrisford, Paul and Hirahara, Shoji and Horányi, András and Muñoz‐Sabater, Joaquín and Nicolas, Julien and Peubey, Carole and Radu, Raluca and Schepers, Dinand and Simmons, Adrian and Soci, Cornel and Abdalla, Saleh and Abellan, Xavier and Balsamo, Gianpaolo and Bechtold, Peter and Biavati, Gionata and Bidlot, Jean and Bonavita, Massimo and Chiara, Giovanna De and Dahlgren, Per and Dee, Dick and Diamantakis, Michail and Dragani, Rossana and Flemming, Johannes and Forbes, Richard and Fuentes, Manuel and Geer, Alan and Haimberger, Leo and Healy, Sean and Hogan, Robin J. and Hólm, Elías and Janisková, Marta and Keeley, Sarah and Laloyaux, Patrick and Lopez, Philippe and Lupu, Cristina and Radnoti, Gabor and Rosnay, Patricia de and Rozum, Iryna and Vamborg, Freja and Villaume, Sebastien and Thépaut, Jean-Noël},
	year = {2020},
	keywords = {climate reanalysis, Copernicus Climate Change Service, data assimilation, ERA5, historical observations},
	pages = {1999--2049}
}
@article{tipka_flex_extract_2020,
	title = {Flex\_extract v7.1.2 – a software package to retrieve and prepare {ECMWF} data for use in {FLEXPART}},
	volume = {13},
	issn = {1991-959X},
	url = {https://gmd.copernicus.org/articles/13/5277/2020/},
	doi = {https://doi.org/10.5194/gmd-13-5277-2020},
	language = {English},
	number = {11},
	urldate = {2021-01-25},
	journal = {Geoscientific Model Development},
	author = {Tipka, Anne and Haimberger, Leopold and Seibert, Petra},
	month = nov,
	year = {2020},
	note = {Publisher: Copernicus GmbH},
	pages = {5277--5310},
	file = {Full Text PDF:C\:\\Users\\oveha\\Zotero\\storage\\X7XY7W88\\Tipka et al. - 2020 - Flex_extract v7.1.2 – a software package to retrie.pdf:application/pdf;Snapshot:C\:\\Users\\oveha\\Zotero\\storage\\447DGSBD\\gmd-13-5277-2020-discussion.html:text/html},
}
@article{liu2020impact,
  title={Impact of Arctic amplification on declining spring dust events in East Asia},
  author={Liu, Jun and Wu, Dongyou and Liu, Guangjing and Mao, Rui and Chen, Siyu and Ji, Mingxia and Fu, Pingqing and Sun, Yele and Pan, Xiaole and Jin, Hongchun and others},
  journal={Climate Dynamics},
  volume={54},
  number={3},
  pages={1913--1935},
  year={2020},
  publisher={Springer}
}
@article{hittmeir_conservative_2018,
	title = {A conservative reconstruction scheme for the interpolation of extensive quantities in the {Lagrangian} particle dispersion model {FLEXPART}},
	volume = {11},
	issn = {1991-959X},
	url = {https://gmd.copernicus.org/articles/11/2503/2018/},
	doi = {https://doi.org/10.5194/gmd-11-2503-2018},
	language = {English},
	number = {6},
	urldate = {2021-01-25},
	journal = {Geoscientific Model Development},
	author = {Hittmeir, Sabine and Philipp, Anne and Seibert, Petra},
	month = jun,
	year = {2018},
	note = {Publisher: Copernicus GmbH},
	pages = {2503--2523},
	file = {Full Text PDF:C\:\\Users\\oveha\\Zotero\\storage\\WJL38AD8\\Hittmeir et al. - 2018 - A conservative reconstruction scheme for the inter.pdf:application/pdf;Snapshot:C\:\\Users\\oveha\\Zotero\\storage\\ETFH3SEK\\2018.html:text/html},
}
@article{kok_scaling_2011,
	title = {A scaling theory for the size distribution of emitted dust aerosols suggests climate models underestimate the size of the global dust cycle},
	volume = {108},
	issn = {0027-8424, 1091-6490},
	url = {https://www.pnas.org/content/108/3/1016},
	doi = {10.1073/pnas.1014798108},
	language = {en},
	number = {3},
	urldate = {2021-03-18},
	journal = {Proceedings of the National Academy of Sciences},
	author = {Kok, Jasper F.},
	month = jan,
	year = {2011},
	pmid = {21189304},
	note = {ISBN: 9781014798107
Publisher: National Academy of Sciences
Section: Physical Sciences},
	keywords = {aeolian saltation, direct radiative forcing, dust storms, scale invariance, wind erosion},
	pages = {1016--1021},
}

@article{yin_interactions_2002,
	title = {Interactions of mineral dust particles and clouds: {Effects} on precipitation and cloud optical properties},
	volume = {107},
	copyright = {Copyright 2002 by the American Geophysical Union.},
	issn = {2156-2202},
	shorttitle = {Interactions of mineral dust particles and clouds},
	url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2001JD001544},
	doi = {https://doi.org/10.1029/2001JD001544},
	language = {en},
	number = {D23},
	urldate = {2021-03-07},
	journal = {Journal of Geophysical Research: Atmospheres},
	author = {Yin, Yan and Wurzler, Sabine and Levin, Zev and Reisin, Tamir G.},
	year = {2002},
	keywords = {cloud modeling, cloud optical properties, cloud processing, dust},
	pages = {AAC 19--1--AAC 19--14},
}

@Article{flexpart_wetdep,
AUTHOR = {Grythe, H. and Kristiansen, N. I. and Groot Zwaaftink, C. D. and Eckhardt, S. and Str\"om, J. and Tunved, P. and Krejci, R. and Stohl, A.},
TITLE = {A new aerosol wet removal scheme for the Lagrangian particle model FLEXPART v10},
JOURNAL = {Geoscientific Model Development},
VOLUME = {10},
YEAR = {2017},
NUMBER = {4},
PAGES = {1447--1466},
URL = {https://gmd.copernicus.org/articles/10/1447/2017/},
DOI = {10.5194/gmd-10-1447-2017}
}

@Article{Flexpart-2005_ref_paper,
AUTHOR = {Stohl, A. and Forster, C. and Frank, A. and Seibert, P. and Wotawa, G.},
TITLE = {Technical note: The Lagrangian particle dispersion model FLEXPART version 6.2},
JOURNAL = {Atmospheric Chemistry and Physics},
VOLUME = {5},
YEAR = {2005},
NUMBER = {9},
PAGES = {2461--2474},
URL = {https://acp.copernicus.org/articles/5/2461/2005/},
DOI = {10.5194/acp-5-2461-2005}
}

@article{flexdust_ref_2016,
author = {Groot Zwaaftink, C. D. and Grythe, H. and Skov, H. and Stohl, A.},
title = {Substantial contribution of northern high-latitude sources to mineral dust in the Arctic},
journal = {Journal of Geophysical Research: Atmospheres},
volume = {121},
number = {22},
pages = {13,678-13,697},
keywords = {mineral dust, aeolian transport, aerosol, transport modeling, cryosphere, Arctic},
doi = {10.1002/2016JD025482},
url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1002/2016JD025482},
eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1002/2016JD025482},
year = {2016}
}

@article{MB95_dust_emission,
author = {Marticorena, B. and Bergametti, G.},
title = {Modeling the atmospheric dust cycle: 1. Design of a soil-derived dust emission scheme},
journal = {Journal of Geophysical Research: Atmospheres},
volume = {100},
number = {D8},
pages = {16415-16430},
doi = {10.1029/95JD00690},
url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/95JD00690},
eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/95JD00690},
year = {1995}
}
@article{zender2003mineral,
  title={Mineral Dust Entrainment and Deposition (DEAD) model: Description and 1990s dust climatology},
  author={Zender, Charles S and Bian, Huisheng and Newman, David},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={108},
  number={D14},
  year={2003},
  publisher={Wiley Online Library}
}

@article{shirahata2017production,
  title={Production of Global Land Cover Data--GLCNMO2013},
  author={Shirahata, Lan Mi and Iizuka, Kotaro and Yusupujiang, Aimaiti and Rinawan, Fedri R and Bhattarai, Richa and Dong, X},
  journal={Journal of Geography and Geology},
  volume={9},
  number={3},
  year={2017}
}

@article{dust_dist_Ginoux2001,
author = {Ginoux, Paul and Chin, Mian and Tegen, Ina and Prospero, Joseph M. and Holben, Brent and Dubovik, Oleg and Lin, Shian-Jiann},
title = {Sources and distributions of dust aerosols simulated with the GOCART model},
journal = {Journal of Geophysical Research: Atmospheres},
volume = {106},
number = {D17},
pages = {20255-20273},
doi = {10.1029/2000JD000053},
url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2000JD000053},
eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2000JD000053},
year = {2001}
}

@article{Dust_aerosols_coating2001,
author = {Falkovich, Alla H. and Ganor, Eliezer and Levin, Zev and Formenti, Paola and Rudich, Yinon},
title = {Chemical and mineralogical analysis of individual mineral dust particles},
journal = {Journal of Geophysical Research: Atmospheres},
volume = {106},
number = {D16},
pages = {18029-18036},
doi = {10.1029/2000JD900430},
url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2000JD900430},
eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2000JD900430},
year = {2001}
}

@article{stohl_replacement_2002,
	title = {A replacement for simple back trajectory calculations in the interpretation of atmospheric trace substance measurements},
	volume = {36},
	issn = {1352-2310},
	url = {https://www.sciencedirect.com/science/article/pii/S1352231002004168},
	doi = {https://doi.org/10.1016/S1352-2310(02)00416-8},
	number = {29},
	journal = {Atmospheric Environment},
    author = {Andreas Stohl and Sabine Eckhardt and Caroline Forster and Paul James and Nicole Spichtinger and Petra Seibert},
	year = {2002},
	keywords = {Dispersion, Lagrangian particle dispersion model, Pollution transport, Retroplumes},
	pages = {4635--4648},
}

@article{cassiani_offline_2016,
	title = {The offline {Lagrangian} particle model {FLEXPART}–{NorESM}/{CAM} (v1): model description and comparisons with the online {NorESM} transport scheme and with the reference {FLEXPART} model},
	volume = {9},
	url = {https://gmd.copernicus.org/articles/9/4029/2016/},
	doi = {10.5194/gmd-9-4029-2016},
	number = {11},
	journal = {Geoscientific Model Development},
	author = {Cassiani, M. and Stohl, A. and Olivié, D. and Seland, Ø. and Bethke, I. and Pisso, I. and Iversen, T.},
	year = {2016},
	pages = {4029--4048},
}

@article{choi_investigation_2020,
	title = {Investigation of the wet removal rate of black carbon in {East} {Asia}: validation of a below- and in-cloud wet removal scheme in {FLEXible} {PARTicle} ({FLEXPART}) model v10.4},
	volume = {20},
	issn = {1680-7316},
	shorttitle = {Investigation of the wet removal rate of black carbon in {East} {Asia}},
	url = {https://acp.copernicus.org/articles/20/13655/2020/},
	doi = {10.5194/acp-20-13655-2020},
	language = {English},
	number = {21},
	urldate = {2021-03-18},
	journal = {Atmospheric Chemistry and Physics},
	author = {Choi, Yongjoo and Kanaya, Yugo and Takigawa, Masayuki and Zhu, Chunmao and Park, Seung-Myung and Matsuki, Atsushi and Sadanaga, Yasuhiro and Kim, Sang-Woo and Pan, Xiaole and Pisso, Ignacio},
	month = nov,
	year = {2020},
	note = {Publisher: Copernicus GmbH},
	pages = {13655--13670},
}

@article{yumimoto_elevated_2009,
	title = {An elevated large-scale dust veil from the {Taklimakan} {Desert}: {Intercontinental} transport and three-dimensional structure as captured by {CALIPSO} and regional and global models},
	volume = {9},
	issn = {1680-7316},
	shorttitle = {An elevated large-scale dust veil from the {Taklimakan} {Desert}},
	url = {https://acp.copernicus.org/articles/9/8545/2009/},
	doi = {https://doi.org/10.5194/acp-9-8545-2009},
	abstract = {{\textless}p{\textgreater}{\textless}strong{\textgreater}Abstract.{\textless}/strong{\textgreater} An intense dust storm occurred during 19–20 May 2007 over the Taklimakan Desert in northwestern China. Over the following days, the space-borne lidar CALIOP tracked an optically thin, highly elevated, horizontally extensive dust veil that was transported intercontinentally over eastern Asia, the Pacific Ocean, North America, and the Atlantic Ocean. A global aerosol transport model (SPRINTARS) simulated the dust veil quite well and provided a three-dimensional view of the intercontinental dust transport. The SPRINTARS simulation revealed that the dust veil traveled at 4–10 km altitudes with a thickness of 1–4 km along the isentropic surface between 310 and 340 K. The transport speed was about 1500 km/day. The estimated dust amount exported to the Pacific was 30.8 Gg, of which 65\% was deposited in the Pacific and 18\% was transported to the North Atlantic. These results imply that dust veils can fertilize open oceans, add to background dust, and affect the radiative budget at high altitudes through scattering and absorption. {\textless}br{\textgreater}{\textless}br{\textgreater} The injection mechanism that lifts dust particles into the free atmosphere is important for understanding the formation of the dust veil and subsequent long-range transport. We used a regional dust transport model (RC4) to analyze the dust emission and injection over the source region. The RC4 analysis revealed that strong northeasterly surface winds associated with low pressures invaded the Taklimakan Desert through the eastern corridor. These winds then formed strong upslope wind along the high, steep mountainsides of the Tibetan Plateau and blew large amounts of dust into the air. The updraft lifted the dust particles farther into the upper troposphere (about 9 km above mean sea level, MSL), where westerlies are generally present. The unusual terrain surrounding the Taklimakan Desert played a key role in the injection of dust to the upper troposphere to form the dust veil.{\textless}/p{\textgreater}},
	language = {English},
	number = {21},
	urldate = {2020-10-28},
	journal = {Atmospheric Chemistry and Physics},
	author = {Yumimoto, K. and Eguchi, K. and Uno, I. and Takemura, T. and Liu, Z. and Shimizu, A. and Sugimoto, N.},
	month = nov,
	year = {2009},
	note = {Publisher: Copernicus GmbH},
	pages = {8545--8558},
	file = {Full Text PDF:C\:\\Users\\oveha\\Zotero\\storage\\7AQJ65UM\\Yumimoto et al. - 2009 - An elevated large-scale dust veil from the Taklima.pdf:application/pdf;Snapshot:C\:\\Users\\oveha\\Zotero\\storage\\KH4YTMNZ\\2009.html:text/html},
}
@book{ShaoYaping2008PaMo,
series = {Atmospheric and Oceanographic Sciences Library},
volume = {37},
publisher = {Springer Netherlands},
isbn = {9789048180202},
year = {2008},
title = {Physics and Modelling of Wind Erosion},
edition = {2. Aufl.},
language = {eng},
address = {Dordrecht},
author = {Shao, Yaping},
keywords = {Wind erosion},
}
@Article{Hunter_matplotlib,
  Author    = {Hunter, J. D.},
  Title     = {Matplotlib: A 2D graphics environment},
  Journal   = {Computing in Science \& Engineering},
  Volume    = {9},
  Number    = {3},
  Pages     = {90--95},
  abstract  = {Matplotlib is a 2D graphics package used for Python for
  application development, interactive scripting, and publication-quality
  image generation across user interfaces and operating systems.},
  publisher = {IEEE COMPUTER SOC},
  doi       = {10.1109/MCSE.2007.55},
  year      = 2007
}

@article{seibert2004source,
  title={Source-receptor matrix calculation with a Lagrangian particle dispersion model in backward mode},
  author={Seibert, P and Frank, A},
  journal={Atmospheric Chemistry and Physics},
  volume={4},
  number={1},
  pages={51--63},
  year={2004},
  publisher={Copernicus GmbH}
}
@article{wesely2007parameterization,
  title={Parameterization of surface resistances to gaseous dry deposition in regional-scale numerical models},
  author={Wesely, ML},
  journal={Atmospheric Environment},
  volume={41},
  pages={52--63},
  year={1988},
  publisher={Elsevier}
}
@article{GIARDINA201811_drydepo,
title = {A new approach for modeling dry deposition velocity of particles},
journal = {Atmospheric Environment},
volume = {180},
pages = {11-22},
year = {2018},
issn = {1352-2310},
doi = {https://doi.org/10.1016/j.atmosenv.2018.02.038},
url = {https://www.sciencedirect.com/science/article/pii/S1352231018301237},
author = {M. Giardina and P. Buffa},
keywords = {Particle flux, Dry deposition velocity, Parametrization, Removal processes, Radioactive pollutants}
}
@article{slinn1982predictions,
  title={Predictions for particle deposition to vegetative canopies},
  author={Slinn, WGN},
  journal={Atmospheric Environment (1967)},
  volume={16},
  number={7},
  pages={1785--1794},
  year={1982},
  publisher={Elsevier}
}
@incollection{nickling2009aeolian,
  title={Aeolian sediment transport},
  author={Nickling, William G and Neuman, Cheryl McKenna},
  booktitle={Geomorphology of desert environments},
  pages={517--555},
  year={2009},
  publisher={Springer}
}
@article{eckhardt2008estimation,
  title={Estimation of the vertical profile of sulfur dioxide injection into the atmosphere by a volcanic eruption using satellite column measurements and inverse transport modeling},
  author={Eckhardt, S and Prata, AJ and Seibert, P and Stebel, K and Stohl, A},
  journal={Atmospheric Chemistry and Physics},
  volume={8},
  number={14},
  pages={3881--3897},
  year={2008},
  publisher={Copernicus GmbH}
}
@article{laakso2003ultrafine,
  title={Ultrafine particle scavenging coefficients calculated from 6 years field measurements},
  author={Laakso, Lauri and Gr{\"o}nholm, Tiia and Rannik, {\"U}llar and Kosmale, Miriam and Fiedler, Verena and Vehkam{\"a}ki, Hanna and Kulmala, Markku},
  journal={Atmospheric Environment},
  volume={37},
  number={25},
  pages={3605--3613},
  year={2003},
  publisher={Elsevier}
}

@article{kyro2009snow,
  title={Snow scavenging of ultrafine particles: field measurements and parameterization},
  author={Kyr{\"o}, Ella-Maria and Gr{\"o}nholm, Tiia and Vuollekoski, Henri and Virkkula, Aki and Kulmala, Markku and Laakso, Lauri},
  year={2009},
  publisher={Boreal Environment Research Publishing Board}
}

@article{eckhardt2017source,
    AUTHOR = {Eckhardt, S. and Cassiani, M. and Evangeliou, N. and Sollum, E. and Pisso, I. and Stohl, A.},
    TITLE = {Source--receptor matrix calculation for deposited mass with the Lagrangian particle dispersion model FLEXPART v10.2 in backward mode},
    JOURNAL = {Geoscientific Model Development},
    VOLUME = {10},
    YEAR = {2017},
    NUMBER = {12},
    PAGES = {4605--4618},
    URL = {https://gmd.copernicus.org/articles/10/4605/2017/},
    DOI = {10.5194/gmd-10-4605-2017}
}

@article{kok2012physics,
  title={The physics of wind-blown sand and dust},
  author={Kok, Jasper F and Parteli, Eric JR and Michaels, Timothy I and Karam, Diana Bou},
  journal={Reports on progress in Physics},
  volume={75},
  number={10},
  pages={106901},
  year={2012},
  publisher={IOP Publishing}
}
@article{shao2000simple,
  title={A simple expression for wind erosion threshold friction velocity},
  author={Shao, Yaping and Lu, Hua},
  journal={Journal of Geophysical Research: Atmospheres},
  volume={105},
  number={D17},
  pages={22437--22443},
  year={2000},
  publisher={Wiley Online Library}
}
@Article{soil-grid_ref,
AUTHOR = {de Sousa, L. M. and Poggio, L. and Batjes, N. H. and Heuvelink, G. B. M. and Kempen, B. and Riberio, E. and Rossiter, D.},
TITLE = {SoilGrids 2.0: producing quality-assessed soil information for the
globe},
JOURNAL = {SOIL Discussions},
VOLUME = {2020},
YEAR = {2020},
PAGES = {1--37},
URL = {https://soil.copernicus.org/preprints/soil-2020-65/},
DOI = {10.5194/soil-2020-65}
}
@article{task2014global,
  title={Global soil data products CD-ROM contents (IGBP-DIS)},
  author={Task, Global Soil Data},
  journal={ORNL DAAC},
  year={2014}
}
@inproceedings{fecan1998parametrization,
  title={Parametrization of the increase of the aeolian erosion threshold wind friction velocity due to soil moisture for arid and semi-arid areas},
  author={F{\'e}can, F and Marticorena, B and Bergametti, G},
  booktitle={Annales Geophysicae},
  volume={17},
  number={1},
  pages={149--157},
  year={1998},
  organization={Springer}
}

repository: MasterOnDust/a-master-on-dust

repo_name: MasterOnDust/a-master-on-dust

extension: bib


text:
DESCRIPTION = "XFS Filesystem Utilities"
HOMEPAGE = "http://oss.sgi.com/projects/xfs"
LICENSE = "GPL"
SECTION = "base"
DEPENDS = "util-linux-ng"
PR = "r2"

SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${P}.tar.gz"
SRC_URI[md5sum] = "86d10178ee6897cb099c97303e6d9da0"
SRC_URI[sha256sum] = "9128046ea978a65560b0e87406af9646a283fa0b54eab1801b971d8a89086ddd"

PARALLEL_MAKE = ""
inherit autotools
EXTRA_OECONF = "--enable-gettext=no"
LIBTOOL = "${HOST_SYS}-libtool"
EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
TARGET_CC_ARCH += "${LDFLAGS}"

FILES_${PN}-dev += "${base_libdir}/libhandle.la \
                    ${base_libdir}/libhandle.so"

do_configure () {
	export DEBUG="-DNDEBUG"
	oe_runconf
}

do_install () {
	export DIST_ROOT=${D}
	oe_runmake install
	# needed for xfsdump
	oe_runmake install-dev
	# replace extra links to /usr/lib with relative links (otherwise autotools_prepackage_lamangler fails to read nonexistent link)
	rm -f ${D}/${base_libdir}/libhandle.la
	rm -f ${D}/${base_libdir}/libhandle.a
	ln -s ../usr/lib/libhandle.la ${D}/${base_libdir}/libhandle.la
	ln -s ../usr/lib/libhandle.a ${D}/${base_libdir}/libhandle.a

	# and link from /usr/lib/libhandle.so to /lib/libhandle.so
	rm -f ${D}/${libdir}/libhandle.so
	ln -s ../../lib/libhandle.a ${D}/${libdir}/libhandle.so
}

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
@article{Bringmann:2014lpa,
 archiveprefix = {arXiv},
 author = {Bringmann, Torsten and Vollmann, Martin and Weniger, Christoph},
 doi = {10.1103/PhysRevD.90.123001},
 eprint = {1406.6027},
 journal = {Phys. Rev. D},
 number = {12},
 pages = {123001},
 primaryclass = {astro-ph.HE},
 title = {Updated cosmic-ray and radio constraints on light dark matter: Implications for the GeV gamma-ray excess at the Galactic center},
 volume = {90},
 year = {2014}
}

repository: cweniger/personal-website

repo_name: cweniger/personal-website


text:
// Copyright 2015-2018 trivago N.V.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package core

import (
	"reflect"

	"github.com/sirupsen/logrus"
)

// SimpleFormatter formatter
//
// This type defines a common baseclass for formatters. Formatter plugins
// may derive from this class.
//
// Parameters
//
// - Source: This value chooses the part of the message the data to be formatted
// should be read from. Use "" to target the message payload; other values
// specify the name of a metadata field to target.
// By default this parameter is set to "".
//
// - Target: This value chooses the part of the message the formatted data
// should be stored to. Use "" to target the message payload; other values
// specify the name of a metadata field to target.
// By default this parameter is set to "".
//
// - ApplyTo: Use this to set Source and Target to the same value. This setting
// will be ignored if either Source or Target is set to something else but "".
// By default this parameter is set to "".
//
// - SkipIfEmpty: When set to true, this formatter will not be applied to data
// that is empty or - in case of metadata - not existing.
// By default this parameter is set to false
type SimpleFormatter struct {
	Logger      logrus.FieldLogger
	SkipIfEmpty bool `config:"SkipIfEmpty"`

	// GetSourceData returns the data denoted by the source setting
	GetSourceData GetDataFunc

	// GetSourceDataAsBytes returns the source converted to an array of bytes
	GetSourceDataAsBytes GetDataAsBytesFunc

	// GetSourceDataAsString returns the source converted to a string
	GetSourceDataAsString GetDataAsStringFunc

	// GetSourceAsMetadata returns the source as a MarshalMap or returns
	// an error if the key contains a value that is not a MarshalMap.
	GetSourceAsMetadata GetMetadataRootFunc

	// GetTargetData returns the data denoted by the target setting
	GetTargetData GetDataFunc

	// GetTargetDataAsString returns the target converted to an array of bytes
	GetTargetDataAsBytes GetDataAsBytesFunc

	// GetTargetDataAsString returns the target converted to a string
	GetTargetDataAsString GetDataAsStringFunc

	// GetTargetAsMetadata returns the target as a MarshalMap or returns
	// an error if the key contains a value that is not a MarshalMap.
	GetTargetAsMetadata GetMetadataRootFunc

	// ForceTargetAsMetadata works like GetTargetAsMetadata but ensures that
	// a MarshalMap is returned, if necessary by overwriting a key.
	ForceTargetAsMetadata ForceMetadataRootFunc

	// SetTargetData writes data to whatever is denoted as target
	SetTargetData SetDataFunc

	// SetSourceData writes data to whatever is denoted as source
	SetSourceData SetDataFunc

	// TargetIsMetadata returns true if the target setting points to metadata
	TargetIsMetadata func() bool

	// SourceIsMetadata returns true if the source setting points to metadata
	SourceIsMetadata func() bool
}

// Configure sets up all values required by SimpleFormatter.
func (format *SimpleFormatter) Configure(conf PluginConfigReader) {
	format.Logger = conf.GetSubLogger("Formatter")

	target := conf.GetString("Target", "")
	source := conf.GetString("Source", "")
	applyTo := conf.GetString("ApplyTo", "")

	if len(applyTo) > 0 && len(target) == 0 && len(source) == 0 {
		source = applyTo
		target = applyTo
	}

	format.GetSourceData = NewGetterFor(source)
	format.GetSourceDataAsBytes = NewBytesGetterFor(source)
	format.GetSourceDataAsString = NewStringGetterFor(source)
	format.GetSourceAsMetadata = NewMetadataRootGetterFor(source)

	format.SetSourceData = NewSetterFor(source)

	format.GetTargetData = NewGetterFor(target)
	format.GetTargetDataAsBytes = NewBytesGetterFor(target)
	format.GetTargetDataAsString = NewStringGetterFor(target)
	format.GetTargetAsMetadata = NewMetadataRootGetterFor(target)
	format.ForceTargetAsMetadata = NewForceMetadataRootGetterFor(target)

	format.SetTargetData = NewSetterFor(target)

	if len(target) == 0 {
		format.TargetIsMetadata = func() bool { return false }
	} else {
		format.TargetIsMetadata = func() bool { return true }
	}

	if len(source) == 0 {
		format.SourceIsMetadata = func() bool { return false }
	} else {
		format.SourceIsMetadata = func() bool { return true }
	}
}

// CanBeApplied returns true if the formatter can be applied to this message
func (format *SimpleFormatter) CanBeApplied(msg *Message) bool {
	if !format.SkipIfEmpty {
		return true
	}

	data := format.GetSourceData(msg)
	if data == nil {
		return false
	}

	// payload fast path
	if bytes, isBytes := data.([]byte); isBytes {
		return len(bytes) > 0
	}

	// metadata string fast path
	if str, isString := data.(string); isString {
		return len(str) > 0
	}

	// arbitrary, len-able metadata path
	value := reflect.ValueOf(data)
	switch value.Kind() {
	case reflect.Slice, reflect.Array, reflect.Map:
		return value.Len() > 0
	}
	return true
}

// SetLogger sets the scoped logger to be used for this formatter
func (format *SimpleFormatter) SetLogger(logger logrus.FieldLogger) {
	format.Logger = logger
}

// GetLogger returns the scoped logger of this plugin
func (format *SimpleFormatter) GetLogger() logrus.FieldLogger {
	return format.Logger
}

repository: ajunlonglive/gollum

repo_name: ajunlonglive/gollum

extension: go


text:
# base recipe: meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb
# base branch: warrior
# base commit: 1ed4d68be75b31cfc5eff82d6a3c91505751d974

SUMMARY = "Generic XKB keymap library"
DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \
processes a reduced subset of keymaps as defined by the XKB specification."
HOMEPAGE = "http://www.xkbcommon.org"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87"
LICENSE = "MIT & MIT-style"

inherit debian-package
require recipes-debian/sources/libxkbcommon.inc
DEBIAN_PATCH_TYPE = "nopatch"
DEBIAN_UNPACK_DIR = "${WORKDIR}/libxkbcommon.git"

DEPENDS = "util-macros flex-native bison-native"

UPSTREAM_CHECK_URI = "http://xkbcommon.org/"

inherit autotools pkgconfig

EXTRA_OECONF = "--disable-docs"

PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxcb xkeyboard-config,"

repository: miraclelinux/meta-debian-extended

repo_name: miraclelinux/meta-debian-extended

branch_name: refs/heads/warrior

gha_license_id: MIT

gha_language: BitBake


text:
/**
 * @brief deci VM main header
 * @file deci.hpp
 * @author timur
 */

#pragma once
#ifndef __DECI_VALUE_T_HEADER__
#define __DECI_VALUE_T_HEADER__

namespace deci {

  class value_t {
    mutable size_t hash;

    virtual size_t DoHashing() const = 0;

  protected:

    value_t(const value_t& copy):hash(copy.hash) {
      ;
    }

  public:

    enum type_t {
      UNDEFINED   = -1,
      TYPES_FIRST =  0,
      NUMBER      = TYPES_FIRST,
      STRING        ,
      ARRAY         ,
      DICTIONARY    ,
      FUNCTION      ,
      REFERENCE     ,
      NOTHING       ,
      TYPES_TOTAL
    };

    size_t Hash() const {
      if ((this->hash & 0x1) != 0x0) {
        this->hash = this->DoHashing();
        this->hash &= ~(1);
      }
      return this->hash;
    }

    value_t():hash(0x1) {
      ;
    }

    inline bool IsNothing() const;

    virtual type_t Type() const = 0;
    virtual value_t* Copy() const = 0;
    virtual void Delete() = 0;
    virtual std::string ToText() const = 0;
    virtual ~value_t() = 0;
  };

  class nothing_t: public value_t {

    ~nothing_t() {
      ;
    }

    size_t DoHashing() const override {
      return 0;
    }

  public:

    value_t::type_t Type() const override {
      return value_t::NOTHING;
    }

    value_t* Copy() const override {
      return const_cast<nothing_t*>(this);
    }

    std::string ToText() const override {
      return std::string("deci::nothing");
    }

    void Delete() override {
      ;
    }

    static value_t& Instance() {
      static nothing_t self;
      return self;
    }

  };

  bool value_t::IsNothing() const {
    return this == &nothing_t::Instance();
  }

}

#endif /* __DECI_VALUE_T_HEADER__ */

branch_name: refs/heads/develop

extension: hpp


text:
package handler

import (
	"encoding/json"
	"infra/appengine/sheriff-o-matic/som/client"
	"infra/monorail"
	"io/ioutil"
	"net/http"
	"net/http/httptest"
	"testing"

	"go.chromium.org/luci/appengine/gaetesting"
	"go.chromium.org/luci/common/clock"
	"go.chromium.org/luci/common/clock/testclock"
	"go.chromium.org/luci/common/logging"
	"go.chromium.org/luci/common/logging/gologger"
	"go.chromium.org/luci/server/auth/authtest"
	"go.chromium.org/luci/server/router"
	"golang.org/x/net/context"

	. "github.com/smartystreets/goconvey/convey"
)

func TestBugQueue(t *testing.T) {
	Convey("/bugqueue", t, func() {
		c := gaetesting.TestingContext()
		c = authtest.MockAuthConfig(c)
		c = gologger.StdConfig.Use(c)

		cl := testclock.New(testclock.TestRecentTimeUTC)
		c = clock.Set(c, cl)

		w := httptest.NewRecorder()

		monorailMux := http.NewServeMux()
		monorailResponse := func(w http.ResponseWriter, r *http.Request) {
			logging.Errorf(c, "got monorailMux request")
			res := &monorail.IssuesListResponse{
				Items:        []*monorail.Issue{},
				TotalResults: 0,
			}
			bytes, err := json.Marshal(res)
			if err != nil {
				logging.Errorf(c, "error marshaling response: %v", err)
			}
			w.Write(bytes)
		}
		monorailMux.HandleFunc("/", monorailResponse)

		monorailServer := httptest.NewServer(monorailMux)
		defer monorailServer.Close()
		monorail := client.NewMonorail(c, monorailServer.URL)

		bqh := &BugQueueHandler{
			Monorail: monorail,
		}

		Convey("mock getBugsFromMonorail", func() {
			Convey("get bug queue handler", func() {
				bqh.GetBugQueueHandler(&router.Context{
					Context: c,
					Writer:  w,
					Request: makeGetRequest(),
				})

				b, err := ioutil.ReadAll(w.Body)
				So(err, ShouldBeNil)
				So(w.Code, ShouldEqual, 200)
				So(string(b), ShouldEqual, "{}")
			})

			Convey("refresh bug queue handler", func() {
				bqh.RefreshBugQueueHandler(&router.Context{
					Context: c,
					Writer:  w,
					Request: makeGetRequest(),
				})

				b, err := ioutil.ReadAll(w.Body)
				So(err, ShouldBeNil)
				So(w.Code, ShouldEqual, 200)
				So(string(b), ShouldEqual, "{}")
			})

			Convey("refresh bug queue", func() {
				// HACK:
				oldOAClient := getOAuthClient
				getOAuthClient = func(c context.Context) (*http.Client, error) {
					return &http.Client{}, nil
				}

				_, err := bqh.refreshBugQueue(c, "label")
				So(err, ShouldBeNil)
				getOAuthClient = oldOAClient
			})

			Convey("get uncached bugs", func() {
				bqh.GetUncachedBugsHandler(&router.Context{
					Context: c,
					Writer:  w,
					Request: makeGetRequest(),
					Params:  makeParams("label", "infra-troopers"),
				})

				b, err := ioutil.ReadAll(w.Body)
				So(err, ShouldBeNil)
				So(w.Code, ShouldEqual, 200)
				So(string(b), ShouldEqual, "{}")
			})

			Convey("get alternate email", func() {
				e := getAlternateEmail("test@chromium.org")
				So(e, ShouldEqual, "test@google.com")

				e = getAlternateEmail("test@google.com")
				So(e, ShouldEqual, "test@chromium.org")
			})
		})
	})
}

gha_language: Python


text:
// Code generated by mockery v1.0.0. DO NOT EDIT.

package engine

import (
	mock "github.com/stretchr/testify/mock"
	store "github.com/umputun/remark42/backend/app/store"
)

// MockInterface is an autogenerated mock type for the Interface type
type MockInterface struct {
	mock.Mock
}

// Close provides a mock function with given fields:
func (_m *MockInterface) Close() error {
	ret := _m.Called()

	var r0 error
	if rf, ok := ret.Get(0).(func() error); ok {
		r0 = rf()
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// Count provides a mock function with given fields: req
func (_m *MockInterface) Count(req FindRequest) (int, error) {
	ret := _m.Called(req)

	var r0 int
	if rf, ok := ret.Get(0).(func(FindRequest) int); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(int)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(FindRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Create provides a mock function with given fields: comment
func (_m *MockInterface) Create(comment store.Comment) (string, error) {
	ret := _m.Called(comment)

	var r0 string
	if rf, ok := ret.Get(0).(func(store.Comment) string); ok {
		r0 = rf(comment)
	} else {
		r0 = ret.Get(0).(string)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(store.Comment) error); ok {
		r1 = rf(comment)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Delete provides a mock function with given fields: req
func (_m *MockInterface) Delete(req DeleteRequest) error {
	ret := _m.Called(req)

	var r0 error
	if rf, ok := ret.Get(0).(func(DeleteRequest) error); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// Find provides a mock function with given fields: req
func (_m *MockInterface) Find(req FindRequest) ([]store.Comment, error) {
	ret := _m.Called(req)

	var r0 []store.Comment
	if rf, ok := ret.Get(0).(func(FindRequest) []store.Comment); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]store.Comment)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(FindRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Flag provides a mock function with given fields: req
func (_m *MockInterface) Flag(req FlagRequest) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	if rf, ok := ret.Get(0).(func(FlagRequest) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(FlagRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Get provides a mock function with given fields: req
func (_m *MockInterface) Get(req GetRequest) (store.Comment, error) {
	ret := _m.Called(req)

	var r0 store.Comment
	if rf, ok := ret.Get(0).(func(GetRequest) store.Comment); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(store.Comment)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(GetRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Info provides a mock function with given fields: req
func (_m *MockInterface) Info(req InfoRequest) ([]store.PostInfo, error) {
	ret := _m.Called(req)

	var r0 []store.PostInfo
	if rf, ok := ret.Get(0).(func(InfoRequest) []store.PostInfo); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]store.PostInfo)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(InfoRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListFlags provides a mock function with given fields: req
func (_m *MockInterface) ListFlags(req FlagRequest) ([]interface{}, error) {
	ret := _m.Called(req)

	var r0 []interface{}
	if rf, ok := ret.Get(0).(func(FlagRequest) []interface{}); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]interface{})
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(FlagRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Update provides a mock function with given fields: comment
func (_m *MockInterface) Update(comment store.Comment) error {
	ret := _m.Called(comment)

	var r0 error
	if rf, ok := ret.Get(0).(func(store.Comment) error); ok {
		r0 = rf(comment)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// UserDetail provides a mock function with given fields: req
func (_m *MockInterface) UserDetail(req UserDetailRequest) ([]UserDetailEntry, error) {
	ret := _m.Called(req)

	var r0 []UserDetailEntry
	if rf, ok := ret.Get(0).(func(UserDetailRequest) []UserDetailEntry); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]UserDetailEntry)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(UserDetailRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

gha_language: Go


text:
@article{antal_ceereport_2020,
	title = {{eurobarometer R Package For Survey Harmonization}},
	shorttitle = {eurobarometer R package},
	language = {English},
	url = {http://eurobarometer.danielantal.eu/},
	doi = {10.13140/RG.2.2.21450.31686},
	author = {Antal, Daniel},
	publisher = {{satellitereport.com}},
	year = {2020}
}

repository: antaldaniel/private-website

repo_name: antaldaniel/private-website