| 120 | 1)Change the value for an already-existing PFT-parameter : |
| 121 | |
| 122 | {{{ |
| 123 | LAI_MAX__10 = 3.5 |
| 124 | }}} |
| 125 | |
| 126 | 2)Create a new pft that differs only by one parameter value. For that, follow these two steps : |
| 127 | a) Associate your new PFT to one MTC using the array called PFT_TO_MTC. If you want your 14th PFT to possess the carateristics of the C3 grass , set exactly in « orchidee.def » : |
| 128 | |
| 129 | |
| 130 | {{{ |
| 131 | NVM =14 |
| 132 | |
| 133 | PFT_TO_MTC__14 =10 |
| 134 | }}} |
| 135 | (the 10th MTC is C3 grass according to the previous array) |
| 136 | |
| 137 | At this point, your new pft will share automatically all the standard values taken by the parameters of the C3 grass. |
| 138 | |
| 139 | |
| 140 | b) Now, your new PFT is not exactly the C3 grass. It differs from the C3 grass by one value. For example, let's suppose that the LAI_MAX parameter for your PFT is different from the standard value. All you have to do is to set in the « orchidee.def »: |
| 141 | |
| 142 | {{{ |
| 143 | LAI_MAX__14 = 3.5 |
| 144 | }}} |
| 145 | |
| 146 | |
| 147 | These two examples are not similar : in the first case, you change the '''LAI_MAX''' value from the default one for the PFT 10 (C3 grass). In the second case, you introduce a new specie of C3 grass (PFT 14).[[BR]] |
| 148 | |
| 149 | You have just seen an example with one parameter. You are not limited to one : you can change the values for any given set of parameters.You can also change NVM in the other way ; you could set NVM less than 13 and considering only a given number of MTCs (4 or 5 for example)[[BR]] |
| 150 | |
| 151 | Let's suppose you only want temperate vegetation and natural grass for your job. All you have to do is to set : |
| 152 | |
| 153 | {{{ |
| 154 | NVM = 6 |
| 155 | |
| 156 | PFT_TO_MTC__01 = 1 |
| 157 | PFT_TO_MTC__02 = 4 |
| 158 | PFT_TO_MTC__03 = 5 |
| 159 | PFT_TO_MTC__04 = 6 |
| 160 | PFT_TO_MTC__05 = 10 |
| 161 | PFT_TO_MTC__06 = 11 |
| 162 | }}} |
| 163 | |
| 164 | '''NB: Concerning the other arrays parameters'''[[BR]] |
| 165 | |
| 166 | For the other arrays parameters, you have to set directly the new values. |
| 167 | |
| 168 | For example, let's consider the parameter called albsoil_vis. His key word is ALBSOIL_VIS and it is of dimension 9, corresponding to the dimensioning parameter for the soil color numbers and their albedo. Its standard values are : |
| 169 | {{{ |
| 170 | albsoil_vis = (/0.18, 0.16, 0.16, 0.15, 0.12, 0.105, 0.09, 0.075, 0.25/) |
| 171 | }}} |
| 172 | |
| 173 | If you want to change the third value, set in « orchidee.def » : |
| 174 | {{{ |
| 175 | ALBSOIL_VIS__03 = 0.25 |
| 176 | }}} |
| 177 | |
| 178 | |
| 179 | (for example). You could change the values of the third, sixth and ninth components. Just set : |
| 180 | |
| 181 | {{{ |
| 182 | ALBSOIL_VIS__03 = 0.25 |
| 183 | ALBSOIL_VIS__06 = 0.120 |
| 184 | ALBSOIL_VIS__09 = 0.27 |
| 185 | }}} |
| 186 | |
| 187 | This last example is available for all parameters-arrays (PFT or others), except PFT_TO_MTC. |
| 188 | |
| 189 | '''Warning ''': all parameters depend on the differents flags of ORCHIDEE like river_routing, ok_co2, ok_stomate, etc.... For example, the parameters used by stomate will be read only if the option STOMATE_OK_STOMATE is set to TRUE in « orchidee.def ». You will find the list of the flags and the corresponding parameters in « sechiba_parameters_default_values.txt » and « stomate_parameters_default_values.txt ». |
| 190 | |
| 191 | |
| 192 | |
| 193 | == How can you control your values after your job == |
| 194 | |
| 195 | If you want to see if ORCHIDEE takes into account your modifications, you must go in a first step to the following folder : |
| 196 | |
| 197 | |
| 198 | {{{ |
| 199 | ...../IGCM_OUT/OL2/JOB_JobName/OOL/Debug/ |
| 200 | }}} |
| 201 | |
| 202 | You will find three types of files (this is a my own example, replace SECHSTOM by the name of your job) : |
| 203 | {{{ |
| 204 | SECHSTOM_19820101_19820131_out_orchidee_ol |
| 205 | SECHSTOM_19820101_19820131_run.def |
| 206 | SECHSTOM_19820101_19820131_used_run.def |
| 207 | ..... |
| 208 | }}} |
| 209 | |
| 210 | The file « SECHSTOM_19820101_19820131_run.def » is a copy of your initial « orchidee.def ». |
| 211 | In this one, you could find of course the values you imposed.[[BR]] |
| 212 | |
| 213 | The file « SECHSTOM_19820101_19820131_used_run.def » contains the list of all the parameters read by the driver in « orchidee.def ». For the scalar parameters read by ORCHIDEE, you will find this comment for example in « SECHSTOM_19820101_19820131_used_run.def » : |
| 214 | {{{ |
| 215 | # Values of LIMIT_NORTH comes from run.def |
| 216 | }}} |
| 217 | |
| 218 | Thanks to that coment, you know that the LIMIT_NORTH parameter has been imposed by the user. |
| 219 | Unfortunately, in the case of the arrays, it will give you only the values which were default or imposed. For example, you could find : |
| 220 | {{{ |
| 221 | # Values of LAI_MAX are all defaults. |
| 222 | }}} |
| 223 | |
| 224 | or : |
| 225 | {{{ |
| 226 | # Values of ALBSOIL_VIS are a mix of run.def and defaults |
| 227 | }}} |
| 228 | |
| 229 | but it won't tell you which value is default or not. Normally, it would be sufficient to know if ORCHIDEE has correctly read your « orchidee.def ». |
| 230 | |
| 231 | |
| 232 | The file « SECHSTOM_19820101_19820131_out_orchidee_ol » will list only the default values : |
| 233 | |
| 234 | {{{ |
| 235 | USING DEFAULTS : ALBSOIL_VIS__00001 = 0.180000000000000 |
| 236 | USING DEFAULTS : ALBSOIL_VIS__00002 = 0.160000000000000 |
| 237 | USING DEFAULTS : ALBSOIL_VIS__00004 = 0.150000000000000 |
| 238 | USING DEFAULTS : ALBSOIL_VIS__00005 = 0.120000000000000 |
| 239 | }}} |
| 240 | |
| 241 | You notice that ALBSOIL_VIS__03 is missing. Comparing the files « SECHSTOM_19820101_19820131_used_run.def » and |
| 242 | « SECHSTOM_19820101_19820131_run.def » to be absolutely sure to know whether ORCHIDEE has taken into account your new values. |
| 243 | |
| 244 | |
| 245 | == Some rules to respect for this version == |
| 246 | |
| 247 | |
| 248 | There are few rules you have to respect for the moment (discussions are needed with the people involved to solve these restrictions) : |
| 249 | |
| 250 | -'''First rule''': Except if you use the standard configuration of ORCHIDEE, you always have to fill the array PFT_TO_MTC in « orchidee.def ». |
| 251 | |
| 252 | It is very important because without it, the code won't be able to make the link between PFT and MTC. |
| 253 | The dimension of PFT_TO_MTC is NVM. Even the parameter NVM is optional : if you don't set it, NVM will take the default value 13. |
| 254 | |
| 255 | So if you have |
| 256 | more PFTs, ORCHIDEE will only read the first 13 values of your correspondence table. This rule is also applied to the four following parameters when you |
| 257 | activate IMPOSE_VEG : |
| 258 | |
| 259 | {{{ |
| 260 | SECHIBA_VEG |
| 261 | SECHIBA_VEGMAX |
| 262 | SECHIBA_LAI |
| 263 | SLOWPROC_HEIGHT |
| 264 | }}} |
| 265 | The sum of the elements of SECHIBA_VEG and SECHIBA_VEGMAX must be equal to 1. |
| 266 | |
| 267 | |
| 268 | |
| 269 | -'''Second rule :''' You have to generate yourself or to provide your veget map with the good number of PFTs for using the "externalized" version. Soon |
| 270 | a python script will be provided for generating a veget map. This veget map is based on the Olson classification. With the script, you will be able to choose the number of PFTs of your map. A page on the wiki will be created. |
| 271 | |
| 272 | If you don't want to use a new map, you can set the flag IMPOSE_VEG to TRUE. In this case, you will work without a veget map. Be sure to have filled PFT_TO_MTC. |
| 273 | |
| 274 | -'''Third rule :'''the first PFT has to be associated to the first MTC : |
| 275 | {{{ |
| 276 | ie PFT_TO_MTC__01 = 1 |
| 277 | }}} |
| 278 | Moreover, you can't have two PFTs corresponding to the bare soil . To sum up, the only PFT associated to the bare soil (the first MTC) '''has to be''' the first PFT. |
| 279 | |
| 280 | |
| 281 | |