WaterSip: Difference between revisions

From gfi
(9 intermediate revisions by the same user not shown)
Line 68: Line 68:


;caseName (string)
;caseName (string)
: identifier for the run, prepended to all output files.
: identifier for the run, prepended to all output files. Example: <code>caseName = global_201002_relative</code>
<code>caseName = global_201002_relative</code>


;inputDir (string)
;inputDir (string)
: search path of the input files. The inputDir string ends with a placeholder for the files to be read in. For FLEXPART this will be either shortposit_ or partposit_. For Lagranto this will commonly be lsl_. The %s placeholder is completed by the currently read in date at runtime.  
: search path of the input files. The inputDir string ends with a placeholder for the files to be read in. For FLEXPART this will be either shortposit_ or partposit_. For Lagranto this will commonly be lsl_. The %s placeholder is completed by the currently read in date at runtime. Example: <code>inputDir = /Volumes/Data/global/shortposit_%s</code>
<code>inputDir = /Volumes/Data/global/shortposit_%s</code>


;outputDir (string)
;outputDir (string)
: path where the output files will be created.
: path where the output files will be created. Example: <code>outputDir = /Volumes/Data/global/output/</code>
<code>outputDir = /Volumes/Data/global/output/</code>


- '''startDate (date string):''' inital date of the run, fixed format YYYYMMDD-HHMMSS. Start date is latest date of the run which moves backward in time.
;startDate (date string)
: inital date of the run, fixed format YYYYMMDD-HHMMSS. Start date is latest date of the run which moves backward in time. Example: <code>startDate = 20100228-180000</code>


<code>startDate = 20100228-180000</code>
;endDate (date string)
: final date of the run, fixed format YYYYMMDD-HHMMSS. End date is earliest date of the run. Example: <code>endDate = 20100211-000000</code>


- '''endDate (date string):''' final date of the run, fixed format YYYYMMDD-HHMMSS. End date is earliest date of the run.
;timeStep (integer)
: time step in hours between particles or trajectory output times. (typical values 6, 3, or 1 (hours)). Example: <code>timeStep = 6</code>


<code>endDate = 20100211-000000</code>
;trajPoints (integer)
: number of trajectory points to be considered in a trajectory. For 5-day trajectories with a 6 hour time step, 5x4+1=21 trajPoints should be selected. Example: <code>trajPoints = 21</code>


- '''timeStep (integer):''' time step in hours between particles or trajectory output times. (typical values 6, 3, or 1 (hours))
;minTrajPoints (integer)
: minimum length of trajectories to be included in analysis. Parameter is only relevant for Lagranto simulations with uneven trajectory length. Example: <code>minTrajPoints = 0</code>


<code>timeStep = 6</code>
;sectorizeRegion (integer)
: region set used to divide moisture sources into different sectors (see [[#sectorization]]). Example: <code>sectorizeRegion = 0</code>


- '''trajPoints (integer):''' number of trajectory points to be considered in a trajectory. For 5-day trajectories with a 6 hour time step, 5x4+1=21 trajPoints should be selected.
;filterBoxFile (string)
: path to the text file describing geographic boxes used to filter air parcels during transport (see [[#box filters]]). Example: <code>filterBoxFile = /home/hso039/progs/WaterSip_tool/BOX_FILTERS_SiebenHengste</code>


<code>trajPoints = 21</code>
;filterIndex (integer)
: used line from the filterBoxFile to select/deselect trajectories. Example: <code>filterIndex = -1</code>


- '''minTrajPoints (integer):''' minimum length of trajectories to be included in analysis. Parameter is only relevant for Lagranto simulations with uneven trajectory length.
;orographyFile (string)
: path to the orography file used to select arrival based on underying topography, using the ETOPO2 topography. File in netcdf format. Example: <code>orographyFile = "/Users/hso039/Library/Mobile Documents/com~apple~CloudDocs/WaterSip_tool/etopo5.nc"</code>


<code>minTrajPoints = 0</code>
;lsmFile (string)
: path to the file with global land-sea-mask, currently from ERA-Interim data. Domain must be global but is in principle arbitrary. File in netcdf format. Example: <code>lsmFile = "/Users/hso039/Library/Mobile Documents/com~apple~CloudDocs/WaterSip_tool/ERA_sea_mask_inv.nc"</code>


- '''sectorizeRegion (integer):''' region set used to divide moisture sources into different sectors (see [[Sectorization]])
;maskFile (string)
: path to file with an arrival selection. Example: <code>maskFile = " "</code>


<code>sectorizeRegion = 0</code>
;useMask (boolean)
: use mask file (0=no, 1=yes). Example: <code>useMask = 0</code>


- '''filterBoxFile (string):''' path to the text file describing geographic boxes used to filter air parcels during transport (see [[Box filters]]).
;ompThreads (integer)
: number of threads to be used with OpenMP parallelisation if compiled with flag -fopenmp (1=no parallelisation, >1 parallelisation activated.). Example: <code>ompThreads = 1</code>


<code>filterBoxFile = /home/hso039/progs/WaterSip_tool/BOX_FILTERS_SiebenHengste</code>
;showStats (boolean)
: print statistics about particle processing to the command line (0=off, 1=on). Example: <code>showStats = 0</code>


- '''filterIndex (integer):''' used line from the filterBoxFile to select/deselect trajectories
----
 
<code>filterIndex = -1</code>
 
- '''orographyFile (string):''' path to the orography file used to select arrival based on underying topography, using the ETOPO2 topography. File in netcdf format.
 
<code>orographyFile = "/Users/hso039/Library/Mobile Documents/com~apple~CloudDocs/WaterSip_tool/etopo5.nc"</code>
 
- '''lsmFile (string):''' path to the file with global land-sea-mask, currently from ERA-Interim data. Domain must be global but is in principle arbitrary. File in netcdf format.
 
<code>lsmFile = "/Users/hso039/Library/Mobile Documents/com~apple~CloudDocs/WaterSip_tool/ERA_sea_mask_inv.nc"</code>
 
- '''maskFile (string):''' path to file with an arrival selection
 
<code>maskFile = " "</code>
 
- '''useMask (boolean):''' use mask file (0=no, 1=yes).
 
<code>useMask = 0</code>
 
- '''ompThreads (integer):''' number of threads to be used with OpenMP parallelisation if compiled with flag -fopenmp (1=no parallelisation, >1 parallelisation activated.)
 
<code>ompThreads = 1</code>
 
- '''showStats (boolean):''' print statistics about particle processing to the command line (0=off, 1=on).
 
<code>showStats = 0</code>


====Parameter set Grids====
====Parameter set Grids====
Line 139: Line 124:
The parameters in this category specify the different output grids and the gridding method
The parameters in this category specify the different output grids and the gridding method


- '''arrivalGridMinLon (float):''' minimum longitude of arrival (target region) grid box. Trajectories are traced backward from the arrival grid. Integrated source, transport and arrival parameters are put on the arrival grid, weighted by precipitation or water vapour of arriving air parcels.
;arrivalGridMinLon (float)
 
: minimum longitude of arrival (target region) grid box. Trajectories are traced backward from the arrival grid. Integrated source, transport and arrival parameters are put on the arrival grid, weighted by precipitation or water vapour of arriving air parcels. Example: <code>arrivalGridMinLon = -180</code>
<code>arrivalGridMinLon = -180</code>
 
- '''arrivalGridMaxLon (float):''' maximum longitude of arrival (target region) grid box


<code>arrivalGridMaxLon = 180</code>
;arrivalGridMaxLon (float)
: maximum longitude of arrival (target region) grid box. Example: <code>arrivalgridmaxlon = 180</code>


- '''arrivalGridMinLat (float):''' minimum latitude of arrival (target region) grid box
;arrivalGridMinLat (float)
: minimum latitude of arrival (target region) grid box. Example: <code>arrivalGridMinLat = -90</code>


<code>arrivalGridMinLat = -90</code>
;arrivalGridMaxLat (float)
: minimum latitude of arrival (target region) grid box. Example: <code>arrivalGridMaxLat = 90</code>


- '''arrivalGridMaxLat (float):''' minimum latitude of arrival (target region) grid box
;arrivalGridDx (float)
: longitude increment of arrival (target region) grid. Example: <code>arrivalGridDx = 1</code>


<code>arrivalGridMaxLat = 90</code>
;arrivalGridDy (float)
: latitude increment of arrival (target region) grid. Example: <code>arrivalGridDy = 1</code>


- '''arrivalGridDx (float):''' longitude increment of arrival (target region) grid
;arrivalGridRadius (float)
: gridding radius for information from arriving trajectories. Example: <code>arrivalGridRadius = 200</code>


<code>arrivalGridDx = 1</code>
;sourceGridMinLon (float)
: minimum longitude of moisture source grid box. Example: <code>sourceGridMinLon = -180</code>


- '''arrivalGridDy (float):''' latitude increment of arrival (target region) grid
;sourceGridMaxLon (float)
: maximum longitude of moisture source grid box. Example: <code>sourceGridMaxLon = 180</code>


<code>arrivalGridDy = 1</code>
;sourceGridMinLat (float)
: minimum latitude of moisture source grid box. Example: <code>sourceGridMinLat = -90</code>


- '''arrivalGridRadius (float):''' gridding radius for information from arriving trajectories
;sourceGridMaxLat (float)
: maximum latitude of moisture source grid box. Example: <code>sourceGridMaxLat = 90</code>


<code>arrivalGridRadius = 200</code>
;sourceGridDx (float)
: longitude increment of moisture source grid box. Example: <code>sourceGridDx = 1</code>


- '''sourceGridMinLon (float):''' minimum longitude of moisture source grid box
;sourceGridDy (float)
: latitude increment of moisture source grid box. Example: <code>sourceGridDy = 1</code>


<code>sourceGridMinLon = -180</code>
;sourceGridRadius (float)
: longitude increment of moisture source grid box. Example: <code>sourceGridRadius = 200</code>


- '''sourceGridMaxLon (float):''' maximum longitude of moisture source grid box
;griddingType (integer)
: select [[#gridding algorithm]] (1: fast and simple gridding, 2: improved but slower gridding). Example: <code>griddingType = 2</code>


<code>sourceGridMaxLon = 180</code>
----
 
- '''sourceGridMinLat (float):''' minimum latitude of moisture source grid box
 
<code>sourceGridMinLat = -90</code>
 
- '''sourceGridMaxLat (float):''' maximum latitude of moisture source grid box
 
<code>sourceGridMaxLat = 90</code>
 
- '''sourceGridDx (float):''' longitude increment of moisture source grid box
 
<code>sourceGridDx = 1</code>
 
- '''sourceGridDy (float):''' latitude increment of moisture source grid box
 
<code>sourceGridDy = 1</code>
 
- '''sourceGridRadius (float):''' longitude increment of moisture source grid box
 
<code>sourceGridRadius = 200</code>
 
- '''griddingType (integer):''' select [[gridding algorithm]] (1: fast and simple gridding, 2: improved but slower gridding)
 
<code>griddingType = 2</code>


====Parameter set Diagnostics====
====Parameter set Diagnostics====
Line 203: Line 175:
The parameters in this category control the way how the diagnostic works, and which trajectories should be considered in the run.
The parameters in this category control the way how the diagnostic works, and which trajectories should be considered in the run.


- '''uptakeThreshold (float):''' Threshold value for specific humidity increases per time step in air parcels to be considered as due to physical processes (evaporation), in g per kg. If the parameter reativeThresholds is set to true, the uptakeThreshold is specified as percent increase relative to the current specific humidity of an air parcel. Value is positive because of an air-parcel relative perspective. Default absolute values are 0.1 to 0.2 for 3h and 6h time steps.
;uptakeThreshold (float)
: Threshold value for specific humidity increases per time step in air parcels to be considered as due to physical processes (evaporation), in g per kg. If the parameter reativeThresholds is set to true, the uptakeThreshold is specified as percent increase relative to the current specific humidity of an air parcel. Value is positive because of an air-parcel relative perspective. Default absolute values are 0.1 to 0.2 for 3h and 6h time steps. Example: <code>uptakeThreshold = 0.2</code>


<code>uptakeThreshold = 0.2</code>
;precipThreshold (float)
: Threshold value for specific humidity decreases per time step in air parcels to be considered as due to physical processes (precipitation), in g per kg. Value is negative because of an air-parcel relative perspective. If the parameter reativeThresholds is set to true, the uptakeThreshold is specified as percent increase relative to the current specific humidity of an air parcel. Then the value is positive. Default absolute values are -0.1 to -0.2 for 3h and 6h time steps. Example: <code>precipThreshold = -0.2</code>


- '''precipThreshold (float):''' Threshold value for specific humidity decreases per time step in air parcels to be considered as due to physical processes (precipitation), in g per kg. Value is negative because of an air-parcel relative perspective. If the parameter reativeThresholds is set to true, the uptakeThreshold is specified as percent increase relative to the current specific humidity of an air parcel. Then the value is positive. Default absolute values are -0.1 to -0.2 for 3h and 6h time steps.
;relativeThreshold (boolean)
: determines whether absolute threshold values or relative threshold values are specified (0: absolute, 1: relative threshold values). Example: <code>relativeThreshold = 1</code>


<code>precipThreshold = -0.2</code>
;arrivalPrecipMin (float)
: Threshold value to consider precipitation events with a specific humidity decrease larger than the value given by <code>arrivalPrecipMin</code>. Units are g per kg when relativeThresholds is set to false, and fractional specific humidity decrease otherwise. For consistency, it is recommended to set the values for <code>precipitationThreshold</code> and <code>arrivalPrecipMin</code> to the same number. Example: <code>arrivalPrecipMin = -0.2</code>


- '''relativeThreshold (boolean):'''
;arrivalPrecipMax (float)
: Threshold value to consider precipitation events with a specific humidity decrease of up to the value given by <code>arrivalprecipMin</code>. Units are g per kg when relativeThresholds is set to false, and fractional specific humidity decrease otherwise. To include all precipitation events with a 6h time step, a value of -100.0 or lower can be chosen if <code>relativeThresholds</code> is set to false, or a value of 1.0 otherwise. The combination of the <code>arrivalPrecipMin/Max</code> parameters allows to focus on heavy and weak precipitation events only. Example: <code>arrivalPrecipMax = -100.0</code>


<code>relativeThreshold = 1</code>
;arrivalRHMin (float)
: Threshold value to consider precipitation events when relative humidity at the arrival location is larger than the value given by . Example: <code>arrivalRHMin</code>. Units are %. Large-scale condensation can be assumed to occur above 80% relative humidity, to include convective cloud processes a lower threshold value may be required. Example: <code>arrivalRHMin = 80</code>


- '''arrivalPrecipMin (float):''' Threshold value to consider precipitation events with a specific humidity decrease larger than the value given by <code>arrivalPrecipMin</code>. Units are g per kg when relativeThresholds is set to false, and fractional specific humidity decrease otherwise. For consistency, it is recommended to set the values for <code>precipitationThreshold</code> and <code>arrivalPrecipMin</code> to the same number.
;arrivalRHMax (float)
: Threshold value to consider precipitation events when relative humidity at the arrival location is less than the value given by . Example: <code>arrivalRHMax</code>. Units are %. This parameter in combination with <code>arrivalRHMin</code> can be used to focus on condensation/no condensation cases when the parameter <code>analyzeVapour</code> is set to true. Example: <code>arrivalRHMax = 110</code>


<code>arrivalPrecipMin = -0.2</code>
;arrivalOroMin (float)
: Threshold value to consider only arrival locations where the ETOPO2 topography exceeds the given value (in m). Use negative value to include all global locations, including ocean areas, Bangladesh and Death Valley. Example: <code>arrivalOroMin = -100</code>


- '''arrivalPrecipMax (float):''' Threshold value to consider precipitation events with a specific humidity decrease of up to the value given by <code>arrivalprecipMin</code>. Units are g per kg when relativeThresholds is set to false, and fractional specific humidity decrease otherwise. To include all precipitation events with a 6h time step, a value of -100.0 or lower can be chosen if <code>relativeThresholds</code> is set to false, or a value of 1.0 otherwise. The combination of the <code>arrivalPrecipMin/Max</code> parameters allows to focus on heavy and weak precipitation events only.
;arrivalOroMax (float)
: Threshold value to consider only arrival locations where the ETOPO2 topography does not exceed the given value (in m). In combination with . Example: <code>arrivalOroMin</code>, regions with a complex shape but common elevation can be selected easily. Example: <code>arrivalOroMax = 12000</code>


<code>arrivalPrecipMax = -100.0</code>
;arrivalAltMin (float)
: Threshold value to consider only arrival locations where the air parcels are above at the given altitude (in m above sea level). Example: <code>arrivalAltMin = -100</code>


- '''arrivalRHMin (float):''' Threshold value to consider precipitation events when relative humidity at the arrival location is larger than the value given by <code>arrivalRHMin</code>. Units are %. Large-scale condensation can be assumed to occur above 80% relative humidity, to include convective cloud processes a lower threshold value may be required.
;arrivalAltMax (float)
: Threshold value to consider only arrival locations where the air parcels are below the given altitude (in m above sea level). The parameters <code>arrivalAltMin/Max</code> can be used to conduct vertically stratified analyses.Example: <code>arrivalAltMax = 12000</code>


<code>arrivalRHMin = 80</code>
;blhScale (float)
: Scaling factor to decide for air parcels to be close enough to the boundary layer to consider moisture increases to evaporation to be likely due to surface evaporation below. A factor of 1.5 will assign all moisture increases within 1.5x the current boundary layer height to the category 'moisture sources boundary-layer', all others to the category 'moisture sources free troposphere'. Default value is 1.5. Example: <code>blhScale = 1.5</code>


- '''arrivalRHMax (float):''' Threshold value to consider precipitation events when relative humidity at the arrival location is less than the value given by <code>arrivalRHMax</code>. Units are %. This parameter in combination with <code>arrivalRHMin</code> can be used to focus on condensation/no condensation cases when the parameter <code>analyzeVapour</code> is set to true.
;analyzeVapour (boolean)
: Parameter allowing to consider all air parcels that precipitate according to the . Example: <code>precipitationThreshold</code> and <code>arrivalRHMin/Max</code> parameters (0: false), or all parameters irrespective of arrival precipitation (1: true). If set to false, the weighting of source, transport and arrival properties is done using the precipitation estimate calculated from the specific humidity change during arrival. Otherwise, the weight is provided by the arrival specific humidity. When analyzeVapour is set to true, many more particles are considered, and the <code>arrivalRHMin/Max</code> parameters may need adjustment. Example: <code>analyzeVapour = 0</code>


<code>arrivalRHMax = 110</code>
;assignToUptake (boolean)
: Parameter determining the assignment of moisture uptake events to arrival time (0: disabled) or to uptake time step grid (1: enabled). The effect of this parameter will most clearly be visible on stepwise and daily output files. It can be used to relate evaporation events to the concurrent meteorological situation. Example: <code>assignToUptake = 0</code>


- '''arrivalOroMin (float):''' Threshold value to consider only arrival locations where the ETOPO2 topography exceeds the given value (in m). Use negative value to include all global locations, including ocean areas, Bangladesh and Death Valley.
;forwardProjectionMode (integer)
: Parameter determining how the Lagrangian forward projection of [[#moisture source and moisture transport properties]] are calculated (1: only consider boundary-layer moisture uptakes, 2: only consider free-troposphere uptakes, 3: consider both uptakes in combination). The default value is 3 (both, boundary layer and free-troposphere uptakes). Example: <code>forwardProjectionMode = 3</code>


<code>arrivalOroMin = -100</code>
----
 
- '''arrivalOroMax (float):''' Threshold value to consider only arrival locations where the ETOPO2 topography does not exceed the given value (in m). In combination with <code>arrivalOroMin</code>, regions with a complex shape but common elevation can be selected easily.
 
<code>arrivalOroMax = 12000</code>
 
- '''arrivalAltMin (float):''' Threshold value to consider only arrival locations where the air parcels are above at the given altitude (in m above sea level).
 
<code>arrivalAltMin = -100</code>
 
- '''arrivalAltMax (float):''' Threshold value to consider only arrival locations where the air parcels are below the given altitude (in m above sea level). The parameters <code>arrivalAltMin/Max</code> can be used to conduct vertically stratified analyses.
 
<code>arrivalAltMax = 12000</code>
 
- '''blhScale (float):''' Scaling factor to decide for air parcels to be close enough to the boundary layer to consider moisture increases to evaporation to be likely due to surface evaporation below. A factor of 1.5 will assign all moisture increases within 1.5x the current boundary layer height to the category 'moisture sources boundary-layer', all others to the category 'moisture sources free troposphere'. Default value is 1.5.
 
<code>blhScale = 1.5</code>
 
- '''analyzeVapour (boolean):''' Parameter allowing to consider all air parcels that precipitate according to the <code>precipitationThreshold</code> and <code>arrivalRHMin/Max</code> parameters (0: false), or all parameters irrespective of arrival precipitation (1: true). If set to false, the weighting of source, transport and arrival properties is done using the precipitation estimate calculated from the specific humidity change during arrival. Otherwise, the weight is provided by the arrival specific humidity. When analyzeVapour is set to true, many more particles are considered, and the <code>arrivalRHMin/Max</code> parameters may need adjustment.
 
<code>analyzeVapour = 0</code>
 
- '''assignToUptake (boolean):''' Parameter determining the assignment of moisture uptake events to arrival time (0: disabled) or to uptake time step grid (1: enabled). The effect of this parameter will most clearly be visible on stepwise and daily output files. It can be used to relate evaporation events to the concurrent meteorological situation.
 
<code>assignToUptake = 0</code>
 
- '''forwardProjectionMode (integer):''' Parameter determining how the Lagrangian forward projection of [[moisture source and moisture transport properties]] are calculated (1: only consider boundary-layer moisture uptakes, 2: only consider free-troposphere uptakes, 3: consider both uptakes in combination). The default value is 3 (both, boundary layer and free-troposphere uptakes).
 
<code>forwardProjectionMode = 3</code>


====Parameter set Output====
====Parameter set Output====
Line 267: Line 226:
The parameters in this category determine which output files should be created.
The parameters in this category determine which output files should be created.


- '''stepFile (boolean):''' write parameters on grid and series files for each time step
;stepFile (boolean)
: write parameters on [[#Grid files]] and [[#Series files]] for each time step. Example: <code>stepFile = 1</code>


<code>stepFile = 1</code>
;dayFile (boolean)
: write parameters on grid and series files averaged/accumulated for each day. Example: <code>dayFile = 1</code>


- '''dayFile (boolean):''' write parameters on grid and series files averaged/accumulated for each day
;monthFile (boolean)
: write parameters on grid and series files averaged/accumulated for each month. Example: <code>monthFile = 1</code>


<code>dayFile = 1</code>
;yearFile (boolean)
: write parameters on grid and series files averaged/accumulated for each year. Example: <code>yearFile = 1</code>


- '''monthFile (boolean):''' write parameters on grid and series files averaged/accumulated for each month
;allFile (boolean)
: write parameters on grid and series files averaged/accumulated for all time steps. Example: <code>allFile = 1</code>


<code>monthFile = 1</code>
;staticFields (boolean)
: write static fields (land-sea mask and topography) onto grid files. Example: <code>staticFields = 1</code>


- '''yearFile (boolean):''' write parameters on grid and series files averaged/accumulated for each year
;saveTraj (integer)
: write particle trajectories to [[#Trajectory files]] at each time step (1) or each month (2). Option 0 disables trajectory output. Example: <code>saveTraj = 0</code>


<code>yearFile = 1</code>
;skipTraj (boolean)
: write every nth trajectory to reduce traj file size (1:disabled, >=2: stride size). Example: <code>skipTraj = 1</code>


- '''allFile (boolean):''' write parameters on grid and series files averaged/accumulated for all time steps
;saveHistogram (boolean)
: write histogram for selected parameters to a [[#Histogram files]] (0: disabled, 1:enabled). Example: <code>saveHistogram = 0</code>


<code>allFile = 1</code>
;saveMean (boolean)
: write means, minimum, maximum and standard deviation to [[#Mean file]]. This is duplicate information with the series files but available for historical reasons. The option will be removed in a forthcoming version (0: disabled, 1:enabled). Example: <code>saveMean = 0</code>


- '''staticFields (boolean):''' write static fields (land-sea mask and topography) onto grid files
----
 
<code>staticFields = 1</code>
 
- '''saveTraj (integer):''' write particle trajectories to [[traj files]] at each time step (1) or each month (2). Option 0 disables trajectory output.
 
<code>saveTraj = 0</code>
 
- '''skipTraj (boolean):''' write every nth trajectory to reduce traj file size (1:disabled, >=2: stride size)
 
<code>skipTraj = 1</code>
 
- '''saveHistogram (boolean):''' write histogram for selected parameters to a [[histogram file]] (0: disabled, 1:enabled)
 
<code>saveHistogram = 0</code>
 
- '''saveMean (boolean):''' write means, minimum, maximum and standard deviation to [[mean file]]. This is duplicate information with the series files but available for historical reasons. The option will be removed in a forthcoming version (0: disabled, 1:enabled).
 
<code>saveMean = 0</code>


====Parameter set Variables====
====Parameter set Variables====
Line 311: Line 262:
The parameters in this category allow to include or exclude specific variables from the output files. Setting the output for unused variables to disabled will speed up computation time, reduce the memory footprint, and reduce the output file size. Only parameters that are really required from a run should therefore selected as enabled.
The parameters in this category allow to include or exclude specific variables from the output files. Setting the output for unused variables to disabled will speed up computation time, reduce the memory footprint, and reduce the output file size. Only parameters that are really required from a run should therefore selected as enabled.


- '''sourcesBoundaryLayer (boolean):''' write accounted moisture uptakes in the boundary layer to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files.
;sourcesBoundaryLayer (boolean)
 
: write accounted moisture uptakes in the boundary layer to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files. Example: <code>sourcesBoundaryLayer = 1</code>
<code>sourcesBoundaryLayer = 1</code>
 
- '''sourcesFreeTroposphere (boolean):''' write accounted moisture uptakes in the free troposphere to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files.
 
<code>sourcesFreeTroposphere = 1</code>
 
- '''evaporationMinusPrecipitation (boolean):''' write unweighted evaporation minus precipitation along entire trajectory length to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files.
 
<code>evaporationMinusPrecipitation = 1</code>
 
- '''moistureTransport (boolean):''' write weighted moisture transport along trajectories to grid and series output files (0: disabled, 1: enabled). Units are mm.
 
<code>moistureTransport = 1</code>
 
- '''trajectoryLocations (boolean):''' write trajectory locations to grid and series output files (0: disabled, 1: enabled). Units are counts per km<sup>2</sup>
 
<code>trajectoryLocations = 1</code>
 
- '''precipitationEstimate (boolean):''' write precipitation estimate at arrival to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files.
 
<code>precipitationEstimate = 1</code>
 
- '''sourceLongitude (boolean):''' write weighted moisture source longitude projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are degrees longitude.
 
<code>sourceLongitude = 1</code>
 
- '''sourceLatitude (boolean):''' write moisture source latitude projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are degrees latitude.
 
<code>sourceLatitude = 1</code>
 
- '''convectionCount (boolean):''' write convection count projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are counts per km<sup>2</sup>. Convection count can be written to the FLEXPART particle files with a special version of FLEXPART_WATER. convectionCount is not on the ERA-Interim climatology run. The counter is increased each time the particles passes the convection scheme upwards.
 
<code>convectionCount = 0</code>
 
- '''convectionHeight (boolean):''' write convection height projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are km. Convection height can be written to the FLEXPART particle files with a special version of FLEXPART_WATER. convectionHeight is not on the ERA-Interim climatology run. The value gives an average height of vertical displacement when the particles passes the convection scheme.


<code>convectionHeight = 0</code>
;sourcesFreeTroposphere (boolean)
: write accounted moisture uptakes in the free troposphere to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files. Example: <code>sourcesFreeTroposphere = 1</code>


- '''landFraction (boolean):''' write fraction of moisture sources over land projected to the arrival region to grid and series output files (0: disabled, 1: enabled).
;evaporationMinusPrecipitation (boolean)
: write unweighted evaporation minus precipitation along entire trajectory length to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files. Example: <code>evaporationMinusPrecipitation = 1</code>


<code>landFraction = 1</code>
;moistureTransport (boolean)
: write weighted moisture transport along trajectories to grid and series output files (0: disabled, 1: enabled). Units are mm. Example: <code>moistureTransport = 1</code>


- '''boundaryLayerFraction (boolean):''' write accounted fraction of boundary layer uptakes projected to the arrival region to grid and series output files (0: disabled, 1: enabled).
;trajectoryLocations (boolean)
: write trajectory locations to grid and series output files (0: disabled, 1: enabled). Units are counts per km<sup>2</sup>. Example: <code>trajectoryLocations = 1</code>


<code>boundaryLayerFraction = 1</code>
;precipitationEstimate (boolean)
: write precipitation estimate at arrival to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files. Example: <code>precipitationEstimate = 1</code>


- '''freeTroposphereFraction (boolean):''' write accounted fraction of free troposphere uptakes projected to the arrival region to grid and series output files (0: disabled, 1: enabled).
;sourceLongitude (boolean)
: write weighted moisture source longitude projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are degrees longitude. Example: <code>sourceLongitude = 1</code>


<code>freeTroposphereFraction = 1</code>
;sourceLatitude (boolean)
: write moisture source latitude projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are degrees latitude. Example: <code>sourceLatitude = 1</code>


- '''combinedFraction (boolean):''' write accounted fraction of boundary layer and free troposphere uptakes projected to the arrival region to grid and series output files (0: disabled, 1: enabled). This is the sum of the two previous variables.
;convectionCount (boolean)
: write convection count projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are counts per km<sup>2</sup>. Convection count can be written to the FLEXPART particle files with a special version of FLEXPART_WATER. convectionCount is not on the ERA-Interim climatology run. The counter is increased each time the particles passes the convection scheme upwards. Example: <code>convectionCount = 0</code>


<code>combinedFraction = 0</code>
;convectionHeight (boolean)
: write convection height projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are km. Convection height can be written to the FLEXPART particle files with a special version of FLEXPART_WATER. convectionHeight is not on the ERA-Interim climatology run. The value gives an average height of vertical displacement when the particles passes the convection scheme. Example: <code>convectionHeight = 0</code>


- '''transportTime (boolean):''' write moisture transport time projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are hours.
;landFraction (boolean)
: write fraction of moisture sources over land projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Example: <code>landFraction = 1</code>


<code>transportTime = 1</code>
;boundaryLayerFraction (boolean)
: write accounted fraction of boundary layer uptakes projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Example: <code>boundaryLayerFraction = 1</code>


- '''sourceSkinTemperature (boolean):''' write skin temperature at the moisture source projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are K. Requires that skin temperature is a variable on the particle or trajectory files.
;freeTroposphereFraction (boolean)
: write accounted fraction of free troposphere uptakes projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Example: <code>freeTroposphereFraction = 1</code>


<code>sourceSkinTemperature = 1</code>
;combinedFraction (boolean)
: write accounted fraction of boundary layer and free troposphere uptakes projected to the arrival region to grid and series output files (0: disabled, 1: enabled). This is the sum of the two previous variables. Example: <code>combinedFraction = 0</code>


- '''sourceSpecificHumidity (boolean):''' write surface specific humidity at the moisture source projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are g per kg. Requires that source specific humidity is a variable on the particle or trajectory files.
;transportTime (boolean)
: write moisture transport time projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are hours. Example: <code>transportTime = 1</code>


<code>sourceSpecificHumidity = 0</code>
;sourceSkinTemperature (boolean)
: write skin temperature at the moisture source projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are K. Requires that skin temperature is a variable on the particle or trajectory files. Example: <code>sourceSkinTemperature = 1</code>


- '''transportDistance (boolean):''' write transport distance projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are km. Transport distance is the length of the actual travel path along the trajectories from moisture source to the arrival region.
;sourceSpecificHumidity (boolean)
: write surface specific humidity at the moisture source projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are g per kg. Requires that source specific humidity is a variable on the particle or trajectory files. Example: <code>sourceSpecificHumidity = 0</code>


<code>transportDistance = 1</code>
;transportDistance (boolean)
: write transport distance projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are km. Transport distance is the length of the actual travel path along the trajectories from moisture source to the arrival region. Example: <code>transportDistance = 1</code>


- '''sourceDistance (boolean):''' write source distance projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are km. Source distance is the shortest distance between the moisture source and the arrival region.
;sourceDistance (boolean)
: write source distance projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are km. Source distance is the shortest distance between the moisture source and the arrival region. Example: <code>sourceDistance = 1</code>


<code>sourceDistance = 1</code>
;source2mTemperature (boolean)
: write 2m temperature at the moisture source projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are K. Example: <code>source2mTemperature = 0</code>


- '''source2mTemperature (boolean):''' write 2m temperature at the moisture source projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are K.  
;sourceDeuteriumExcess (boolean)
: write deuterium excess projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are permil. Deuterium excess is calculated from the relative humidity with respect to SST and the relationship from Pfahl and Sodemann (2014). Requires that source specific humidity is a variable on the particle or trajectory files. Example: <code>sourceDeuteriumExcess = 1</code>


<code>source2mTemperature = 0</code>
;transportTemperature (boolean)
: write moisture-weighted temperature during transport projected to arrival region to grid and series output files (0: disabled, 1: enabled). Units are K. Example: <code>transportTemperature = 1</code>


- '''sourceDeuteriumExcess (boolean):''' write deuterium excess projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are permil. Deuterium excess is calculated from the relative humidity with respect to SST and the relationship from Pfahl and Sodemann (2014). Requires that source specific humidity is a variable on the particle or trajectory files.
;transportPressure (boolean)
: write moisture-weighted pressure during transport projected to arrival region to grid and series output files (0: disabled, 1: enabled). Units are hPa. Example: <code>transportPressure = 1</code>


<code>sourceDeuteriumExcess = 1</code>
;condensationTemperature (boolean)
: write moisture-weighted temperatures where RH<sub>liquid</sub> exceeds 80% to grid and series output files (0: disabled, 1: enabled). Units are K. Example: <code>condensationTemperature = 1</code>


- '''transportTemperature (boolean):''' write moisture-weighted temperature during transport projected to arrival region to grid and series output files (0: disabled, 1: enabled). Units are K.
;arrivalTemperature (boolean)
: write temperature during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are K. Example: <code>arrivalTemperature = 1</code>


<code>transportTemperature = 1</code>
;arrivalPressure (boolean)
: write pressure during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are hPa. Example: <code>arrivalPressure = 1</code>


- '''transportPressure (boolean):''' write moisture-weighted pressure during transport projected to arrival region to grid and series output files (0: disabled, 1: enabled). Units are hPa.
;arrival2mTemperature (boolean)
 
: write temperature at 2m during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are K. Requires that 2m temperature is a variable on the particle or trajectory files. Example: <code>arrival2mTemperature = 0</code>
<code>transportPressure = 1</code>
 
- '''condensationTemperature (boolean):''' write moisture-weighted temperatures where RH<sub>liquid</sub> exceeds 80% to grid and series output files (0: disabled, 1: enabled). Units are K.
 
<code>condensationTemperature = 1</code>
 
- '''arrivalTemperature (boolean):''' write temperature during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are K.
 
<code>arrivalTemperature = 1</code>
 
- '''arrivalPressure (boolean):''' write pressure during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are hPa.
 
<code>arrivalPressure = 1</code>
 
- '''arrival2mTemperature (boolean):''' write temperature at 2m during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are K. Requires that 2m temperature is a variable on the particle or trajectory files.
 
<code>arrival2mTemperature = 0</code>
 
- '''arrivalSkinTemperature (boolean):''' write skin temperature during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are K. Requires that skin temperature is a variable on the particle or trajectory files.
 
<code>arrivalSkinTemperature = 1</code>


;arrivalSkinTemperature (boolean)
: write skin temperature during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are K. Requires that skin temperature is a variable on the particle or trajectory files. Example: <code>arrivalSkinTemperature = 1</code>


----


====Parameter set Flexpart====
====Parameter set Flexpart====
Line 429: Line 352:
The parameters in this category describe the properties specific to FLEXPART input files.
The parameters in this category describe the properties specific to FLEXPART input files.


- '''inputFormat (integer):''' file format of FLEXPART particle position output files. 0: regional long output format, 1: global analysis data output format, 2: regional short format, 3: global reanalysis data short format
;inputFormat (integer)
 
: file format of FLEXPART particle position output files. 0: regional long output format, 1: global analysis data output format, 2: regional short format, 3: global reanalysis/NorESM data short format, 4: global reanalysis data long format, 5 regional reanalysis/NorESM data short format. Example: <code>inputFormat = 3</code>
<code>inputFormat = 3</code>
 
- '''maxPart (integer):''' number of particles contained in a single FLEXPART partposit or shortposit file


<code>maxPart = 5000000</code>
;maxPart (integer)
: number of particles contained in a single FLEXPART partposit or shortposit file. Example: <code>maxPart = 5000000</code>


- '''partMass (float):''' atmospheric mass represented by each particle in kilogramms. Parameter is written out by specific version of FLEXPART to create WaterSip output data.
;partMass (float)
: atmospheric mass represented by each particle in kilogramms. Parameter is written out by specific version of FLEXPART to create WaterSip output data. Example: <code>partMass = 1.01943e+12</code>


<code>partMass = 1.01943e+12</code>
;partStride (integer)
: number of particles to skip during processing to speed up calculations (1: use every particle, >=2: use every 2nd particle, etc). Example: <code>partStride = 10</code>


- '''partStride (integer):''' number of particles to skip during processing to speed up calculations (1: use every particle, >=2: use every 2nd particle, etc).
;allowReenter (boolean): needs to be enabled for global simulations, and disabled for regional domain-filling runs to avoid double accounting of air parcels (0: disabled, 1: enabled). Example: <code>allowReenter = 1</code>


<code>partStride = 10</code>
----
 
- '''allowReenter (boolean):''' needs to be enabled for global simulations, and disabled for regional domain-filling runs to avoid double accounting of air parcels (0: disabled, 1: enabled).
 
<code>allowReenter = 1</code>


====Parameter set Lagranto====
====Parameter set Lagranto====


The parameters in this category describe the properties specific to FLEXPART input files.
The parameters in this category describe the properties specific to FLEXPART input files.
----


===Full example for a FLEXPART run input file:===
===Full example for a FLEXPART run input file:===
Line 569: Line 490:
====Trajectory files====
====Trajectory files====


====Mean files====
====Mean file====
 
[[Category:Models]]

Revision as of 12:08, 8 March 2017

About WaterSip

WaterSip is a diagnostic software tool that identifies source, transport and arrival properties of atmospheric water vapour. It implements the moisture source diagnostic of Sodemann et al. (2008) for input data from either FLEXPART particle output or Lagranto trajectories.

Running the WaterSip diagnostic

The current version of WaterSip is V3.0.0. It is advised to create a link to the binary file of WaterSip in you /home/$USER/bin or project directory:

mkdir ~/bin
ln -s /Data/gfi/met_backup/progs/WaterSip_tool/WaterSip3 ~/bin

Adding ~/bin to your path will make execution of WaterSip more comfortable. To start a diagnostic run, WaterSip needs to be called from the command line. This version reads one single input file during startup which contains all parameter settings required to execute a run (the examples below assume that you are in a working directory and WaterSip3 is at a location in your $PATH environment variable):

WaterSip3 <WATERSIP_parameter_file>

Input file conversion from V2

The input file format, described below, is quite different in V3 than in previous versions. To facilite transition from V2.x input files, there is an option execute WaterSip3 with the option -c to convert to the new V3 input file format:

WaterSip3 -c <WATERSIP_V2_parameter_file>

This will create a new file named <WATERSIP_V2_parameter_file>V3 at the current directory. It is recommended to double check and edit the settings in the converted file before starting a simulation.

Parallelization

WaterSip3 has been parallelized with OpenMP, which can significantly speed up calculation time. The number of processors to be used is specified in the input file (see below).

If WaterSip3 is to be executed on the queue (this is imperative for all runs except for short tests), the following wrapper script can be used to start a run using 4 cores for parallel processing:

# start with sbatch NAME_OF_THIS_FILE directly on machine

#SBATCH --job-name=WaterSip3
#SBATCH --workdir=/tmp/
#SBATCH --partition=priority
#SBATCH --output=WaterSip_job.%j.out
#SBATCH --error=WaterSip_job.%j.err
#SBATCH --mail-type=END
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4

cd /Data/gfi/met_backup/progs/WaterSip_tool/src3.0
srun WaterSip3 INPUT_WATERSIP_global_1993


Input file options

The WaterSip input file is a text file with options that are specified for different option groups. Option groups are identified by square brackets (e.g. [Case]). There are 7 option groups which can appear in random order in the input file:

  • Case: general settings related to the case to be extracted
  • Grids: specification of different output grids
  • Diagnostrics: parameters of the moisture diagnostic
  • Output: general output settings
  • Variables: selection of output variables
  • Flexpart: options specific to runs using FLEXPART particle output
  • Lagranto: options specific to runs using Lagranto trajectories

Parameter set Case

The settings in this parameter category describe the basic conditions of the diagnostic run.

caseName (string)
identifier for the run, prepended to all output files. Example: caseName = global_201002_relative
inputDir (string)
search path of the input files. The inputDir string ends with a placeholder for the files to be read in. For FLEXPART this will be either shortposit_ or partposit_. For Lagranto this will commonly be lsl_. The %s placeholder is completed by the currently read in date at runtime. Example: inputDir = /Volumes/Data/global/shortposit_%s
outputDir (string)
path where the output files will be created. Example: outputDir = /Volumes/Data/global/output/
startDate (date string)
inital date of the run, fixed format YYYYMMDD-HHMMSS. Start date is latest date of the run which moves backward in time. Example: startDate = 20100228-180000
endDate (date string)
final date of the run, fixed format YYYYMMDD-HHMMSS. End date is earliest date of the run. Example: endDate = 20100211-000000
timeStep (integer)
time step in hours between particles or trajectory output times. (typical values 6, 3, or 1 (hours)). Example: timeStep = 6
trajPoints (integer)
number of trajectory points to be considered in a trajectory. For 5-day trajectories with a 6 hour time step, 5x4+1=21 trajPoints should be selected. Example: trajPoints = 21
minTrajPoints (integer)
minimum length of trajectories to be included in analysis. Parameter is only relevant for Lagranto simulations with uneven trajectory length. Example: minTrajPoints = 0
sectorizeRegion (integer)
region set used to divide moisture sources into different sectors (see #sectorization). Example: sectorizeRegion = 0
filterBoxFile (string)
path to the text file describing geographic boxes used to filter air parcels during transport (see #box filters). Example: filterBoxFile = /home/hso039/progs/WaterSip_tool/BOX_FILTERS_SiebenHengste
filterIndex (integer)
used line from the filterBoxFile to select/deselect trajectories. Example: filterIndex = -1
orographyFile (string)
path to the orography file used to select arrival based on underying topography, using the ETOPO2 topography. File in netcdf format. Example: orographyFile = "/Users/hso039/Library/Mobile Documents/com~apple~CloudDocs/WaterSip_tool/etopo5.nc"
lsmFile (string)
path to the file with global land-sea-mask, currently from ERA-Interim data. Domain must be global but is in principle arbitrary. File in netcdf format. Example: lsmFile = "/Users/hso039/Library/Mobile Documents/com~apple~CloudDocs/WaterSip_tool/ERA_sea_mask_inv.nc"
maskFile (string)
path to file with an arrival selection. Example: maskFile = " "
useMask (boolean)
use mask file (0=no, 1=yes). Example: useMask = 0
ompThreads (integer)
number of threads to be used with OpenMP parallelisation if compiled with flag -fopenmp (1=no parallelisation, >1 parallelisation activated.). Example: ompThreads = 1
showStats (boolean)
print statistics about particle processing to the command line (0=off, 1=on). Example: showStats = 0

Parameter set Grids

The parameters in this category specify the different output grids and the gridding method

arrivalGridMinLon (float)
minimum longitude of arrival (target region) grid box. Trajectories are traced backward from the arrival grid. Integrated source, transport and arrival parameters are put on the arrival grid, weighted by precipitation or water vapour of arriving air parcels. Example: arrivalGridMinLon = -180
arrivalGridMaxLon (float)
maximum longitude of arrival (target region) grid box. Example: arrivalgridmaxlon = 180
arrivalGridMinLat (float)
minimum latitude of arrival (target region) grid box. Example: arrivalGridMinLat = -90
arrivalGridMaxLat (float)
minimum latitude of arrival (target region) grid box. Example: arrivalGridMaxLat = 90
arrivalGridDx (float)
longitude increment of arrival (target region) grid. Example: arrivalGridDx = 1
arrivalGridDy (float)
latitude increment of arrival (target region) grid. Example: arrivalGridDy = 1
arrivalGridRadius (float)
gridding radius for information from arriving trajectories. Example: arrivalGridRadius = 200
sourceGridMinLon (float)
minimum longitude of moisture source grid box. Example: sourceGridMinLon = -180
sourceGridMaxLon (float)
maximum longitude of moisture source grid box. Example: sourceGridMaxLon = 180
sourceGridMinLat (float)
minimum latitude of moisture source grid box. Example: sourceGridMinLat = -90
sourceGridMaxLat (float)
maximum latitude of moisture source grid box. Example: sourceGridMaxLat = 90
sourceGridDx (float)
longitude increment of moisture source grid box. Example: sourceGridDx = 1
sourceGridDy (float)
latitude increment of moisture source grid box. Example: sourceGridDy = 1
sourceGridRadius (float)
longitude increment of moisture source grid box. Example: sourceGridRadius = 200
griddingType (integer)
select #gridding algorithm (1: fast and simple gridding, 2: improved but slower gridding). Example: griddingType = 2

Parameter set Diagnostics

The parameters in this category control the way how the diagnostic works, and which trajectories should be considered in the run.

uptakeThreshold (float)
Threshold value for specific humidity increases per time step in air parcels to be considered as due to physical processes (evaporation), in g per kg. If the parameter reativeThresholds is set to true, the uptakeThreshold is specified as percent increase relative to the current specific humidity of an air parcel. Value is positive because of an air-parcel relative perspective. Default absolute values are 0.1 to 0.2 for 3h and 6h time steps. Example: uptakeThreshold = 0.2
precipThreshold (float)
Threshold value for specific humidity decreases per time step in air parcels to be considered as due to physical processes (precipitation), in g per kg. Value is negative because of an air-parcel relative perspective. If the parameter reativeThresholds is set to true, the uptakeThreshold is specified as percent increase relative to the current specific humidity of an air parcel. Then the value is positive. Default absolute values are -0.1 to -0.2 for 3h and 6h time steps. Example: precipThreshold = -0.2
relativeThreshold (boolean)
determines whether absolute threshold values or relative threshold values are specified (0: absolute, 1: relative threshold values). Example: relativeThreshold = 1
arrivalPrecipMin (float)
Threshold value to consider precipitation events with a specific humidity decrease larger than the value given by arrivalPrecipMin. Units are g per kg when relativeThresholds is set to false, and fractional specific humidity decrease otherwise. For consistency, it is recommended to set the values for precipitationThreshold and arrivalPrecipMin to the same number. Example: arrivalPrecipMin = -0.2
arrivalPrecipMax (float)
Threshold value to consider precipitation events with a specific humidity decrease of up to the value given by arrivalprecipMin. Units are g per kg when relativeThresholds is set to false, and fractional specific humidity decrease otherwise. To include all precipitation events with a 6h time step, a value of -100.0 or lower can be chosen if relativeThresholds is set to false, or a value of 1.0 otherwise. The combination of the arrivalPrecipMin/Max parameters allows to focus on heavy and weak precipitation events only. Example: arrivalPrecipMax = -100.0
arrivalRHMin (float)
Threshold value to consider precipitation events when relative humidity at the arrival location is larger than the value given by . Example: arrivalRHMin. Units are %. Large-scale condensation can be assumed to occur above 80% relative humidity, to include convective cloud processes a lower threshold value may be required. Example: arrivalRHMin = 80
arrivalRHMax (float)
Threshold value to consider precipitation events when relative humidity at the arrival location is less than the value given by . Example: arrivalRHMax. Units are %. This parameter in combination with arrivalRHMin can be used to focus on condensation/no condensation cases when the parameter analyzeVapour is set to true. Example: arrivalRHMax = 110
arrivalOroMin (float)
Threshold value to consider only arrival locations where the ETOPO2 topography exceeds the given value (in m). Use negative value to include all global locations, including ocean areas, Bangladesh and Death Valley. Example: arrivalOroMin = -100
arrivalOroMax (float)
Threshold value to consider only arrival locations where the ETOPO2 topography does not exceed the given value (in m). In combination with . Example: arrivalOroMin, regions with a complex shape but common elevation can be selected easily. Example: arrivalOroMax = 12000
arrivalAltMin (float)
Threshold value to consider only arrival locations where the air parcels are above at the given altitude (in m above sea level). Example: arrivalAltMin = -100
arrivalAltMax (float)
Threshold value to consider only arrival locations where the air parcels are below the given altitude (in m above sea level). The parameters arrivalAltMin/Max can be used to conduct vertically stratified analyses.Example: arrivalAltMax = 12000
blhScale (float)
Scaling factor to decide for air parcels to be close enough to the boundary layer to consider moisture increases to evaporation to be likely due to surface evaporation below. A factor of 1.5 will assign all moisture increases within 1.5x the current boundary layer height to the category 'moisture sources boundary-layer', all others to the category 'moisture sources free troposphere'. Default value is 1.5. Example: blhScale = 1.5
analyzeVapour (boolean)
Parameter allowing to consider all air parcels that precipitate according to the . Example: precipitationThreshold and arrivalRHMin/Max parameters (0: false), or all parameters irrespective of arrival precipitation (1: true). If set to false, the weighting of source, transport and arrival properties is done using the precipitation estimate calculated from the specific humidity change during arrival. Otherwise, the weight is provided by the arrival specific humidity. When analyzeVapour is set to true, many more particles are considered, and the arrivalRHMin/Max parameters may need adjustment. Example: analyzeVapour = 0
assignToUptake (boolean)
Parameter determining the assignment of moisture uptake events to arrival time (0: disabled) or to uptake time step grid (1: enabled). The effect of this parameter will most clearly be visible on stepwise and daily output files. It can be used to relate evaporation events to the concurrent meteorological situation. Example: assignToUptake = 0
forwardProjectionMode (integer)
Parameter determining how the Lagrangian forward projection of #moisture source and moisture transport properties are calculated (1: only consider boundary-layer moisture uptakes, 2: only consider free-troposphere uptakes, 3: consider both uptakes in combination). The default value is 3 (both, boundary layer and free-troposphere uptakes). Example: forwardProjectionMode = 3

Parameter set Output

The parameters in this category determine which output files should be created.

stepFile (boolean)
write parameters on #Grid files and #Series files for each time step. Example: stepFile = 1
dayFile (boolean)
write parameters on grid and series files averaged/accumulated for each day. Example: dayFile = 1
monthFile (boolean)
write parameters on grid and series files averaged/accumulated for each month. Example: monthFile = 1
yearFile (boolean)
write parameters on grid and series files averaged/accumulated for each year. Example: yearFile = 1
allFile (boolean)
write parameters on grid and series files averaged/accumulated for all time steps. Example: allFile = 1
staticFields (boolean)
write static fields (land-sea mask and topography) onto grid files. Example: staticFields = 1
saveTraj (integer)
write particle trajectories to #Trajectory files at each time step (1) or each month (2). Option 0 disables trajectory output. Example: saveTraj = 0
skipTraj (boolean)
write every nth trajectory to reduce traj file size (1:disabled, >=2: stride size). Example: skipTraj = 1
saveHistogram (boolean)
write histogram for selected parameters to a #Histogram files (0: disabled, 1:enabled). Example: saveHistogram = 0
saveMean (boolean)
write means, minimum, maximum and standard deviation to #Mean file. This is duplicate information with the series files but available for historical reasons. The option will be removed in a forthcoming version (0: disabled, 1:enabled). Example: saveMean = 0

Parameter set Variables

The parameters in this category allow to include or exclude specific variables from the output files. Setting the output for unused variables to disabled will speed up computation time, reduce the memory footprint, and reduce the output file size. Only parameters that are really required from a run should therefore selected as enabled.

sourcesBoundaryLayer (boolean)
write accounted moisture uptakes in the boundary layer to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files. Example: sourcesBoundaryLayer = 1
sourcesFreeTroposphere (boolean)
write accounted moisture uptakes in the free troposphere to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files. Example: sourcesFreeTroposphere = 1
evaporationMinusPrecipitation (boolean)
write unweighted evaporation minus precipitation along entire trajectory length to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files. Example: evaporationMinusPrecipitation = 1
moistureTransport (boolean)
write weighted moisture transport along trajectories to grid and series output files (0: disabled, 1: enabled). Units are mm. Example: moistureTransport = 1
trajectoryLocations (boolean)
write trajectory locations to grid and series output files (0: disabled, 1: enabled). Units are counts per km2. Example: trajectoryLocations = 1
precipitationEstimate (boolean)
write precipitation estimate at arrival to grid and series output files (0: disabled, 1: enabled). Units are mm per time step for step files, and mm per day on all other files. Example: precipitationEstimate = 1
sourceLongitude (boolean)
write weighted moisture source longitude projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are degrees longitude. Example: sourceLongitude = 1
sourceLatitude (boolean)
write moisture source latitude projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are degrees latitude. Example: sourceLatitude = 1
convectionCount (boolean)
write convection count projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are counts per km2. Convection count can be written to the FLEXPART particle files with a special version of FLEXPART_WATER. convectionCount is not on the ERA-Interim climatology run. The counter is increased each time the particles passes the convection scheme upwards. Example: convectionCount = 0
convectionHeight (boolean)
write convection height projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are km. Convection height can be written to the FLEXPART particle files with a special version of FLEXPART_WATER. convectionHeight is not on the ERA-Interim climatology run. The value gives an average height of vertical displacement when the particles passes the convection scheme. Example: convectionHeight = 0
landFraction (boolean)
write fraction of moisture sources over land projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Example: landFraction = 1
boundaryLayerFraction (boolean)
write accounted fraction of boundary layer uptakes projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Example: boundaryLayerFraction = 1
freeTroposphereFraction (boolean)
write accounted fraction of free troposphere uptakes projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Example: freeTroposphereFraction = 1
combinedFraction (boolean)
write accounted fraction of boundary layer and free troposphere uptakes projected to the arrival region to grid and series output files (0: disabled, 1: enabled). This is the sum of the two previous variables. Example: combinedFraction = 0
transportTime (boolean)
write moisture transport time projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are hours. Example: transportTime = 1
sourceSkinTemperature (boolean)
write skin temperature at the moisture source projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are K. Requires that skin temperature is a variable on the particle or trajectory files. Example: sourceSkinTemperature = 1
sourceSpecificHumidity (boolean)
write surface specific humidity at the moisture source projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are g per kg. Requires that source specific humidity is a variable on the particle or trajectory files. Example: sourceSpecificHumidity = 0
transportDistance (boolean)
write transport distance projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are km. Transport distance is the length of the actual travel path along the trajectories from moisture source to the arrival region. Example: transportDistance = 1
sourceDistance (boolean)
write source distance projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are km. Source distance is the shortest distance between the moisture source and the arrival region. Example: sourceDistance = 1
source2mTemperature (boolean)
write 2m temperature at the moisture source projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are K. Example: source2mTemperature = 0
sourceDeuteriumExcess (boolean)
write deuterium excess projected to the arrival region to grid and series output files (0: disabled, 1: enabled). Units are permil. Deuterium excess is calculated from the relative humidity with respect to SST and the relationship from Pfahl and Sodemann (2014). Requires that source specific humidity is a variable on the particle or trajectory files. Example: sourceDeuteriumExcess = 1
transportTemperature (boolean)
write moisture-weighted temperature during transport projected to arrival region to grid and series output files (0: disabled, 1: enabled). Units are K. Example: transportTemperature = 1
transportPressure (boolean)
write moisture-weighted pressure during transport projected to arrival region to grid and series output files (0: disabled, 1: enabled). Units are hPa. Example: transportPressure = 1
condensationTemperature (boolean)
write moisture-weighted temperatures where RHliquid exceeds 80% to grid and series output files (0: disabled, 1: enabled). Units are K. Example: condensationTemperature = 1
arrivalTemperature (boolean)
write temperature during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are K. Example: arrivalTemperature = 1
arrivalPressure (boolean)
write pressure during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are hPa. Example: arrivalPressure = 1
arrival2mTemperature (boolean)
write temperature at 2m during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are K. Requires that 2m temperature is a variable on the particle or trajectory files. Example: arrival2mTemperature = 0
arrivalSkinTemperature (boolean)
write skin temperature during moisture arrival to grid and series output files (0: disabled, 1: enabled). Units are K. Requires that skin temperature is a variable on the particle or trajectory files. Example: arrivalSkinTemperature = 1

Parameter set Flexpart

The parameters in this category describe the properties specific to FLEXPART input files.

inputFormat (integer)
file format of FLEXPART particle position output files. 0: regional long output format, 1: global analysis data output format, 2: regional short format, 3: global reanalysis/NorESM data short format, 4: global reanalysis data long format, 5 regional reanalysis/NorESM data short format. Example: inputFormat = 3
maxPart (integer)
number of particles contained in a single FLEXPART partposit or shortposit file. Example: maxPart = 5000000
partMass (float)
atmospheric mass represented by each particle in kilogramms. Parameter is written out by specific version of FLEXPART to create WaterSip output data. Example: partMass = 1.01943e+12
partStride (integer)
number of particles to skip during processing to speed up calculations (1: use every particle, >=2: use every 2nd particle, etc). Example: partStride = 10
allowReenter (boolean)
needs to be enabled for global simulations, and disabled for regional domain-filling runs to avoid double accounting of air parcels (0: disabled, 1: enabled). Example: allowReenter = 1

Parameter set Lagranto

The parameters in this category describe the properties specific to FLEXPART input files.


Full example for a FLEXPART run input file:

[Case]
caseName = global_201002_final_relativex
inputDir = /Volumes/Data_B/flexpart/global/shortposit_%s
outputDir=/Volumes/Data_B/watersip/global_201002_V3/
startDate = 20100228-180000
endDate = 20100211-000000
timeStep = 6
sectorizeRegion = 0
filterBoxFile = /home/hso039/progs/WaterSip_tool/BOX_FILTERS_SiebenHengste
filterIndex = -1
orographyFile = "/Users/hso039/Library/Mobile Documents/com~apple~CloudDocs/WaterSip_tool/etopo5.nc"
lsmFile = "/Users/hso039/Library/Mobile Documents/com~apple~CloudDocs/WaterSip_tool/ERA_sea_mask_inv.nc"
maskFile = " "
useMask = 0
trajPoints = 41
minTrajPoints = 0
ompThreads = 1
showStats = 0

[Grids]
arrivalGridMinLon = -180
arrivalGridMaxLon = 180
arrivalGridMinLat = -90
arrivalGridMaxLat = 90
arrivalGridDx = 1
arrivalGridDy = 1
arrivalGridRadius = 200
sourceGridMinLon = -180
sourceGridMaxLon = 180
sourceGridMinLat = -90
sourceGridMaxLat = 90
sourceGridDx = 1
sourceGridDy = 1
sourceGridRadius = 200
griddingType = 2

[Diagnostics]
uptakeThreshold = 0.05
precipThreshold = 0.05
blhScale = 1.5
arrivalPrecipMin = 0.05
arrivalPrecipMax = 1.0
arrivalRHMin = 80
arrivalRHMax = 110
arrivalOroMin = -100
arrivalOroMax = 12000
arrivalAltMin = -100
arrivalAltMax = 12000
analyzeVapour = 0
assignToUptake = 0
forwardProjectionMode = 3
relativeThreshold = 1

[Output]
stepFile = 1
dayFile = 1
monthFile = 1
yearFile = 1
allFile = 1
staticFields = 1
saveTraj = 0
skipTraj = 0
saveHistogram = 0
saveMean = 0

[Variables]
sourcesBoundaryLayer = 1
sourcesFreeTroposphere = 1
evaporationMinusPrecipitation = 1
moistureTransport = 1
trajectoryLocations = 1
precipitationEstimate = 1
sourceLongitude = 1
sourceLatitude = 1
convectionCount = 0
convectionHeight = 0
landFraction = 1
boundaryLayerFraction = 1
freeTroposphereFraction = 1
combinedFraction = 0
transportTime = 1
sourceSkinTemperature = 1
sourceSpecificHumidity = 0
transportDistance = 1
sourceDistance = 1
source2mTemperature = 0
sourceDeuteriumExcess = 1
transportTemperature = 1
transportPressure = 1
condensationTemperature = 1
arrivalTemperature = 1
arrivalPressure = 1
arrival2mTemperature = 0
arrivalSkinTemperature = 1

[Flexpart]
inputFormat = 3
maxPart = 5000000
partMass = 1.01943e+12
partStride = 10
allowReenter = 1

Output file formats

Grid files

Series files

Histogram files

Trajectory files

Mean file