1+ ---
2+ # HEALPix MCS tracking configuration file
3+ # Tracking uses collocated Tb + Precipitation
4+
5+ # Processing steps:
6+ run_idfeature : True # parallel
7+ run_tracksingle : True # parallel
8+ run_gettracks : True # serial
9+ run_trackstats : True # parallel
10+ run_identifymcs : True # serial
11+ run_matchpf : True # parallel
12+ run_robustmcs : True # serial
13+ run_mapfeature : True # parallel
14+ run_speed : True # parallel
15+ run_remap_healpix : True # parallel
16+
17+ # Parallel processing set up
18+ # run_parallel: 1 (local cluster), 2 (Dask MPI)
19+ run_parallel : 1
20+ nprocesses : 64 # Number of processors to use if run_parallel=1
21+ dask_tmp_dir : /tmp # Dask temporary directory if run_parallel=1
22+ timeout : 3600 # [seconds] Dask timeout limit
23+
24+ # Start/end date and time
25+ startdate : ' 20200201.0000'
26+ enddate : ' 20200203.0000'
27+
28+ # HEALPix parameters
29+ # catalog_file: /global/cfs/cdirs/m4581/gsharing/scream-cess-healpix/main.yaml
30+ catalog_file : https://digital-earths-global-hackathon.github.io/catalog/catalog.yaml
31+ catalog_location : NERSC
32+ catalog_source : scream2D_hrly
33+ # Catalog parameters, can have multiple entries
34+ catalog_params :
35+ zoom : 7
36+ # time: PT1H
37+ olr_varname : rlut # OLR variable name
38+ pcp_varname : pr # Precipitation variable name
39+ pcp_convert_factor : 3600000. # Convert precipitation flux from [m/s] to [mm/h]
40+ input_format : zarr # zarr or netcdf
41+
42+ # Specify tracking input data date/time string format
43+ # This is the preprocessed file that contains Tb & rainrate
44+ # E.g., databasename20181101.011503.nc --> yyyymodd.hhmmss
45+ # E.g., databasename2018-11-01_01:15:00 --> yyyy-mo-dd_hh:mm:ss
46+ time_format : yyyymoddhh
47+ databasename : ' ' # This is not used for HEALPix data
48+
49+ # Input files directory
50+ clouddata_path : ' ' # Not needed for catalog data
51+ # Working directory for the tracking data
52+ root_path : /pscratch/sd/w/wcmca1/scream-cess-healpix/mcs_tracking_hp7/
53+ # Working sub-directory names
54+ tracking_path_name : tracking
55+ stats_path_name : stats
56+ pixel_path_name : mcstracking
57+
58+ # Land mask file (target lat/lon grid for converting HEALPix to lat/lon)
59+ landmask_filename : /pscratch/sd/f/feng045/DYAMOND/maps/IMERG_landmask_180W-180E_60S-60N_0.5deg.nc
60+ landmask_varname : landseamask
61+ landmask_x_dimname : lon
62+ landmask_y_dimname : lat
63+ landmask_x_coordname : lon
64+ landmask_y_coordname : lat
65+ landfrac_thresh : [0, 90] # Define the range of fraction for land (depends on what value is land the landmask file)
66+
67+ # Input dataset structure
68+ pixel_radius : 50.0 # [km] Spatial resolution of the input data
69+ datatimeresolution : 1.0 # [hour] Temporal resolution of the input data
70+ # Variable names in the input data
71+ olr2tb : True
72+ clouddatasource : model
73+ time_dimname : time
74+ x_dimname : lon
75+ y_dimname : lat
76+ time_coordname : time
77+ x_coordname : lon
78+ y_coordname : lat
79+
80+ # Specify types of feature being tracked
81+ # This adds additional feature-specific statistics to be computed
82+ feature_type : tb_pf
83+
84+ # Cloud identification parameters
85+ mincoldcorepix : 1 # Minimum number of pixels for the cold core
86+ smoothwindowdimensions : 2 # Dimension of the Box2DKernel filter on Tb.
87+ medfiltsize : 5 # Window size to perform medfilt2d to fill missing Tb pixels, must be an odd number
88+ geolimits : [-60, -360, 60, 360] # [lat_min, lon_min, lat_max, lon_max] 4-element array to subset domain boundaries
89+ area_thresh : 800 # [km^2] Minimum area to define a cloud
90+ miss_thresh : 0.4 # Missing data fraction threshold. If missing data exceeds this, the time frame will be omitted.
91+ cloudtb_core : 225.0 # [K]
92+ cloudtb_cold : 241.0 # [K]
93+ cloudtb_warm : 261.0 # [K]
94+ cloudtb_cloud : 261.0 # [K]
95+ absolutetb_threshs : [160, 330] # K [min, max] absolute Tb range allowed.
96+ warmanvilexpansion : 0 # Not working yet, set this to 0 for now
97+ cloudidmethod : label_grow
98+ # Specific parameters to link cloud objects using PF
99+ linkpf : 1 # Set to 1 to turn on linkpf option; default: 0
100+ pf_smooth_window : 5 # Smoothing window for identifying PF
101+ pf_dbz_thresh : 1 # [dBZ] for reflectivity, or [mm/h] for rainrate
102+ pf_link_area_thresh : 648.0 # [km^2]
103+
104+ # Periodic boundary conditions
105+ pbc_direction : x # (options: x, y, both, none)
106+ # Fraction to extend the domain to label features at the periodic boundary
107+ pbc_extended_fraction : 0.1 # (range: 0 to 1)
108+ # Fraction of the domain to wrap feature position
109+ # If feature center movement between two time steps > max_domain_fraction * domain size,
110+ # the feature position will be wrapped to the other side of the domain
111+ pbc_max_domain_fraction : 0.5 # (range: 0 to 1)
112+
113+ # Tracking parameters
114+ othresh : 0.5 # overlap fraction threshold. Clouds that overlap more than this between times are tracked.
115+ timegap : 3.1 # [hour] If missing data duration longer than this, tracking restarts
116+ nmaxlinks : 50 # Maximum number of clouds that any single cloud can be linked to
117+ maxnclouds : 3000 # Maximum number of clouds in one snapshot
118+ duration_range : [2, 650] # A vector [minlength,maxlength] to specify the duration range for the tracks
119+ # Flag to remove short-lived tracks [< min(duration_range)] that are not mergers/splits with other tracks
120+ # 0:keep all tracks; 1:remove short tracks
121+ remove_shorttracks : 1
122+ # Set this flag to 1 to write a dense (2D) trackstats netCDF file
123+ # Note that for datasets with lots of tracks, the memory consumption could be large
124+ trackstats_dense_netcdf : 1
125+ # Minimum time difference threshold to match track stats with cloudid files
126+ match_pixel_dt_thresh : 60.0 # seconds
127+
128+ # MCS Tb parameters
129+ mcs_tb_area_thresh : 40000 # [km^2] Tb area threshold
130+ mcs_tb_duration_thresh : 4 # [hour] Tb minimum length of a mcs
131+ mcs_tb_split_duration : 12 # [hour] Tb tracks smaller or equal to this length will be included with the MCS splits from
132+ mcs_tb_merge_duration : 12 # [hour] Tb tracks smaller or equal to this length will be included with the MCS merges into
133+ mcs_tb_gap : 1 # [unitless] Allowable temporal gap in Tb data for MCS area threshold
134+ # MCS PF parameters
135+ mcs_pf_majoraxis_thresh : 0 # [km] MCS PF major axis length lower limit
136+ max_pf_majoraxis_thresh : 100000 # [km] MCS PF major axis length upper limit
137+ mcs_pf_durationthresh : 4 # [hour] PF minimum length of mcs
138+ mcs_pf_majoraxis_for_lifetime : 20 # [km] Minimum PF size to count PF lifetime
139+ mcs_pf_gap : 1 # [unitless] Allowable temporal gap in PF data for MCS characteristics
140+
141+ # Specify rain rate parameters
142+ pf_rr_thres : 0.5 # [mm/hr] Rain rate threshold
143+ nmaxpf : 3 # Maximum number of precipitation features that can be within a cloud feature
144+ nmaxcore : 20 # Maximum number of convective cores that can be within a cloud feature
145+ pcp_thresh : 0.5 # Pixels with hourly precipitation larger than this will be labeled with track number
146+ heavy_rainrate_thresh : 5.0 # [mm/hr] Heavy rain rate threshold
147+ mcs_min_rainvol_thresh : 20000 # [km^2 mm/h] Min rain volumne threshold
148+ mcs_volrain_duration_thresh : 1.0 # [hour] Min volume rain threshold
149+
150+ # Define tracked feature variable names
151+ feature_varname : feature_number
152+ nfeature_varname : nfeatures
153+ featuresize_varname : npix_feature
154+
155+ # Track statistics output file dimension names
156+ tracks_dimname : tracks
157+ times_dimname : times
158+ pf_dimname : nmaxpf
159+ fillval : -9999
160+ # MCS track stats file base names
161+ mcstbstats_filebase : mcs_tracks_
162+ mcspfstats_filebase : mcs_tracks_pf_
163+ mcsrobust_filebase : mcs_tracks_robust_
164+ pixeltracking_filebase : mcstrack_
165+ mcsfinal_filebase : mcs_tracks_final_
166+
167+ # Feature movement speed parameters
168+ lag_for_speed : 1 # lag intervals between tracked features to calculate movement
169+ track_number_for_speed : pcptracknumber
170+ track_field_for_speed : precipitation
171+ min_size_thresh_for_speed : 20 # [km] Min PF major axis length to calculate movement
172+ max_speed_thresh : 50 # [m/s]
173+ max_speed_for_trajectory_smoothing : 40 # [m/s] Max speed for smoothing lat/lon (only for visualization)
174+
175+ # MCSMIP standardized outputs (Zarr)
176+ # Flags to convert Zarr output
177+ create_mask_zarr : True
178+ create_tbpr_zarr : True
179+ create_full_zarr : False
180+ overwrite_zarr : True # Overwrite existing Zarr files
181+ # Zarr chunk sizes (default: auto)
182+ chunksize_time : 24 # time
183+ chunksize_lat : 240 # y
184+ chunksize_lon : 600 # x
185+ chunksize_cell : auto # HEALPix cell
186+ # Zarr output presets - configure different outputs
187+ zarr_output_presets :
188+ mask :
189+ write : False
190+ out_filebase : mcs_mask_latlon_
191+ # Variables to include in Zarr output
192+ var_list :
193+ - cloudtracknumber
194+ - cloudnumber
195+ # Variable renaming mapping for Zarr output
196+ var_rename :
197+ cloudtracknumber : mcs_mask
198+ cloudnumber : ccs_mask
199+
200+ # Remap back to healpix
201+ healpix :
202+ out_filebase : scream2D_hrly_mcsmask_
203+ zoom : 7 # zoom level to remap
204+ version : v1 # version in zarr filename
0 commit comments