|
4 | 4 | ! observation_file = "downscale_options.nml"
|
5 | 5 | ! prediction_file = "downscale_options.nml"
|
6 | 6 |
|
7 |
| - output_file = "log_reg_output/" |
| 7 | + output_file = "output/gard_out_" ! prefix for output files |
8 | 8 |
|
9 | 9 | start_date = "2000-01-01 00:00:00" ! start time for the output data (only needs to exist in the prediction dataset)
|
10 | 10 | end_date = "2000-01-31 23:00:00" ! end time for the output data
|
|
15 | 15 | start_transform = "1990-01-01 00:00:00" ! start time for any transformations (e.g. quantile mapping) (must exist in both the training and the prediction datasets)
|
16 | 16 | end_transform = "1999-01-01 23:00:00" ! end time for the transformation period
|
17 | 17 |
|
| 18 | + start_post = "1990-01-01 00:00:00" ! start time for any post processing transformations (e.g. quantile mapping) (must exist in the prediction dataset) |
| 19 | + end_post = "1999-01-01 23:00:00" ! end time for the post-proc transformation period |
| 20 | + |
| 21 | + |
18 | 22 | ! model types
|
19 |
| - pure_regression = False ! set to true (and others to false) to compute a single regression (no analogs) between training variables and observations to be applied to all predictor data |
20 |
| - pure_analog = False ! set to true (and others to false) to use the selected analogs (no regression) to predict the output |
21 |
| - analog_regression = True ! set to true (and others to false) to perform a regression only on the selected analog days when predicting the output |
| 23 | + pure_regression = False ! set to true (and others to false) to compute a single regression (no analogs) between training variables and observations to be applied to all predictor data |
| 24 | + pure_analog = False ! set to true (and others to false) to use the selected analogs (no regression) to predict the output |
| 25 | + analog_regression = True ! set to true (and others to false) to perform a regression only on the selected analog days when predicting the output |
| 26 | + |
| 27 | + ! Non-model type |
| 28 | + pass_through = False ! set to true to simply pass a predictor variable through instead of computing regressions or analogs |
| 29 | + pass_through_var = 1 ! Option to select which predictor variable is passed through |
22 | 30 |
|
23 | 31 | ! analog selection parameters
|
24 |
| - n_analogs = 200 ! set the number of analogs to find for each time step |
25 |
| - ! n_log_analogs = 20 ! set to the number of analogs to use for the logistic_from_analog_exceedance calculation if using something other than n_analogs |
26 |
| - ! analog_threshold = 0.25 ! set to use a threshold distance when selecting analogs instead of a fixed number (in units of standard deviations averaged across input variables) |
| 32 | + n_analogs = 200 ! set the number of analogs to find for each time step |
| 33 | + ! n_log_analogs = 20 ! set to the number of analogs to use for the logistic_from_analog_exceedance calculation if using something other than n_analogs |
| 34 | + ! analog_threshold = 0.25 ! set to use a threshold distance when selecting analogs instead of a fixed number (in units of standard deviations averaged across input variables) |
27 | 35 |
|
28 | 36 | ! model options
|
29 | 37 | sample_analog = False ! when using pure_analog this will sample randomly from the selection of analogs instead of using the mean
|
30 | 38 | logistic_from_analog_exceedance = False ! when true the logistic probability is calculated from the number of analogs that exceed the threshold instead of from a logistic regression
|
31 | 39 | logistic_threshold = 0 ! when set, the probability of exceeding this value will be calculated and the standard output will be trained only for the data that exceed this value
|
32 | 40 | weight_analogs = True ! when calculating analog_mean, analog_error, or logistic_from_analog, weight each analog by it's inverse square distance from the current input
|
33 | 41 |
|
| 42 | + ! output post processing transformation |
| 43 | + post_correction_transform = 0 ! post processing to apply (e.g. quantile mapping to entire input obs period) (one entry for every output variable) |
| 44 | + |
34 | 45 | debug = False ! prints more output at runtime and outputs files including the coefficients used in each analog regression (or analog values) as well as the predictor data
|
| 46 | + interactive = False ! Print downscaling status as a percentage on the command line |
35 | 47 | /
|
36 | 48 |
|
37 | 49 | ! define the input atmospheric model data to be used when training the model
|
|
45 | 57 | lon_name = "XLONG" ! name of a variable in the input data that contains the longitude of each grid cell (can be a 1D or 2D variable)
|
46 | 58 | time_name = "XTIME" ! name of a variable in the input data that contains the time data (must be a number ideally with a units attribute such as "days since YYYY-MM-DD hh:mm:ss")
|
47 | 59 | nfiles = 21 ! the number of files to be read
|
| 60 | + selected_level = -1 ! If the input data have 4 dimensions (e.g. one dimension is elevation) this is the index that will be used |
| 61 | + ! this assumes that the z dimension is the 2nd (time, z, y, x) in the NetCDF file |
| 62 | + ! if -1, the first level will be used. |
| 63 | + |
| 64 | + ! Controls normalization applied to training data. |
| 65 | + ! 0 = don't normalize, 1 = normalize based on the training data mean and standard deviation |
| 66 | + normalization_method = 1 |
48 | 67 |
|
49 | 68 | ! the following are arrays with one element for each input variable
|
50 | 69 | input_transformations = 0, 0, 3, 3 ! transformations to apply to each input variable (0=none, 1=qm?, 2=log, 3=cuberoot, 4=fifthroot)
|
|
55 | 74 |
|
56 | 75 | ! calendar to be used when interpreting the time variable, "gregorian", "standard", "noleap", "365-day","360-day" all work
|
57 | 76 | calendar = "gregorian"
|
| 77 | + calendar_start_year = 1900 ! set this to the year the time data use as time 0, will be read from the NetCDF units attribute if possible |
| 78 | + timezone_offset = 0 ! offset (in hours) to add to the time data to permit a better match with the local obs. data |
| 79 | + |
| 80 | + ! the following options are primarily for forecasting |
| 81 | + ! GEFS data have n time-steps per file, corresponding to the n-forecast lead times |
| 82 | + selected_time = -1 ! if set, only this time step will be read from each input file |
| 83 | + time_indices = -1, -1, -1 ! this can be a list of time steps to read and average over instead |
58 | 84 | /
|
59 | 85 |
|
60 | 86 | ! Define the input atmospheric model data to be used when applying the model for future predictions
|
|
72 | 98 |
|
73 | 99 | input_transformations = 0, 0, 3, 3
|
74 | 100 |
|
75 |
| - ! this is the main difference between training and prediction data, permits an additional transformation to e.g. quantile map (transformation=1) each variable to match the training data |
| 101 | + ! Here is the main difference between training and prediction data |
| 102 | + ! This permits an additional transformation to e.g. quantile map (transformation=1) each variable to match the training data |
| 103 | + ! this is primarily for climate simulations |
76 | 104 | transformations = 0, 0, 0, 0
|
| 105 | + ! Also, if normalization_method = 2, the means and standard deviations from the training data will be used to normalize the predictors |
| 106 | + ! this is primarily for forecasting applications. 1=Normalize based on prediction data, 0=no normalization applied |
| 107 | + normalization_method = 1 |
77 | 108 |
|
78 | 109 | var_names = "T2", "PSFC", "PREC_ACC_NC", "PREC_ACC_C"
|
79 | 110 | file_list = "filelists/erai_files_200x.txt", "filelists/erai_files_200x.txt", "filelists/erai_files_200x.txt", "filelists/erai_files_200x.txt"
|
80 | 111 |
|
81 | 112 | calendar = "gregorian"
|
| 113 | + calendar_start_year = 1900 |
| 114 | + timezone_offset = 0 |
| 115 | + |
| 116 | + selected_time = -1 |
| 117 | + time_indices = -1, -1, -1 |
82 | 118 | /
|
83 | 119 |
|
84 | 120 | ! Define the input observation data to be used when training the model
|
|
99 | 135 | file_list = "filelists/obs_files_complete.txt"
|
100 | 136 |
|
101 | 137 | calendar = "gregorian"
|
| 138 | + calendar_start_year = 1900 |
| 139 | + |
| 140 | + ! specify a variable to use to find which grid cells should be masked |
| 141 | + mask_variable = 1 |
| 142 | + ! specify a value to use to in that variable to define masked gridcells |
| 143 | + mask_value = 1e20 |
102 | 144 | /
|
0 commit comments