forked from perabrahamsen/daisy-model
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
6451 lines (4079 loc) · 184 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
* NEWS --- Changes in the Daisy program and libraries -*- outline -*-
This file contains an overview of changes between Daisy releases. When
you upgrade Daisy, it is recommended that you read at least the
headlines of the changes since the last version. For more detailed
information on changes, read the 'ChangeLog' file from the source
release.
* 5.28
** New 'Crop' log parameterization in log-std.dai.
This is a simplified version of "Crop Production", and documented in
the tutorial.
** Bug fixes.
* 5.27
** The 'with' condition allows you to restrict a test to a specific column.
** The 'active' log parameter allows you to conditionally log flux variables.
E.g. only log root uptake when DS > 1.0.
** Fix various units.
* 5.26
** Duplicate definitions are now an error instead of a warning.
** New 'fractiles' summary model.
Calculate fractiles for specific log variables.
(defsummary NYield fractiles
(tags "Matrix-Leaching" sorg_N sorg_DM)
(fractiles 10 50 90 [%]))
** New harvest log variable.
This allows you to add details from the harvest log into normal log files.
(deflog MyHarvest crop
(where "myharvest.dlf")
(when true)
(entries (number (path column "${column}" Vegetation crops
harvest "${crop}" sorg_DM)
(handle content_sum)
(spec fixed Harvest sorg_DM))))
(output (MyHarvest (crop Grass) (when monthly)))
** New 'store_SOM' and 'restore_SOM' management actions.
This will store / restore the state of the SOM pools. Intended use for
long run scenarios to test short term effects of weather without long
term effects of changes to SOM pools.
** Atmospheric 'CO2' can now be specified in weather file.
Currently this is only used in conjunction with the Farquhar
photosynthesis model, where it is required.
* 5.25
** Made duplicate definitions errors instead of warnings.
** Better logging of biopores.
Biopore leaching is now included in the Soil/Field Nitrogen/Chemical
logs, the same way biopore percolation has been included in the
Soil/Field water logs. You can now also seperate drain flow from soil
matrix or biopores, and seperate input and output from biopores,
rather than just the net exchange.
You no longer need to include the bottom of the biopore zone in order
to balance Field nitrogen and Field chemical. You still need to
include the entire root zone though.
* 5.24
** FAO_PM now assume dry surface by default.
This what most people would expect. Use (pet (FAO_PM (use_wet true)))
to get higher potential evapotranspiration for wet surfaces.
** Bug fixes.
* 5.23
** No slurry volatilization by default.
Specify 'volatilization" manually.
** You now need to specify Soil border when logging to a specific depth.
E.g. you need
(Soil (border -75 -150 [cm]))
in the column definition, for
(output ("Field water" (from -75 [cm]) (to -150 [cm])))
to work.
** You can now specify initial values of soil variables with a PLF.
E.g. to specify initial value of h that is at field capacy near the
soil surface and two meter below ground, but at -50 cm one meter
below, write this:
(defcolumn Test Askov
(SoilWater (initial_h_plf (-2 [m] -100 [cm])
(-100 [cm] -50 [cm])
(0 [m] 2 [pF]))))
As all PLF's, values between the specified point will be interpolated,
so the pressure 1.5 meter below ground is -75 cm. The numeric cells
will be initialized so the center of the cell has the specified value.
** New 'handle_z' and 'handle_x' parameters in the 'post-process' program.
These allows you to turn a 2D log file into a 1D or 0D log file. The
valid values are 'sum' and 'average' to either add or average the
values for the dimension you want to collapse, wighted by the length
of the numeric cells in the same dimension. The default value for both
is 'all', which will not collapse the dimension.
E.g.
(defprogram test post-process
(top -0 [cm])
(bottom -100 [cm])
(file "soil_water_content.dlf")
(handle_z sum)
(handle_x average)
(dimension [mm])
(where "average_swc.dlf"))
(run test)
will give you to average water content in mm
in the top meter of the soil
for each timestep.
* 5.22
** Fix compability problems with OSX.
** New 'pipe_outlet' parameter for 2D description of drains.
(Movement rectangle
(pipe_outlet PLF
;; ((YEAR MONTH DAY) WATER_LEVEL)
((1987 9 1) -200 [cm]) ;; Interpolates between values.
((1987 10 1) -50 [cm]) ;; So mid-September is -125 cm.
((1988 2 1) -50 [cm])
((1988 3 1) -200 [cm])))
Any drain points specified with 'drainpoints' that are located below
the pipe outlet will have the specified pressure. This means that the
drain points may act as a subsoil irrigation system. The intention is
to simulate drain outlets that are located below the water level in
the recepient.
Note that this is different from the similarly named 'pipe_outlet' in
the 'lateral' drain model, where submerged drains will simply cease to
be active.
** New 'crop' log parameter.
All the relevant log parameterizations in 'log.dai' now support a
'crop' parameter, with the name of the crop to log.
* 5.21
** You can now specify seasonal variation in aquifer pressure.
(Drain lateral)
(Groundwater aquitard
(pressure_table season
((1 [d] -10 [cm])
(100 [d] -100 [cm])
(361 [d] -10 [cm])))))
** 'minimal_timestep' changed to 1 microsecond.
Use
(minimal_timestep (hours 1))
to go back to 1 hour timesteps.
* 5.20
** Theta_res now defaults to 0.01 in the hypres hydraulic model.
Old value was 0.
** The 'pipe' Grounwater model removed.
Use
(Drain lateral)
(Groundwater aquitard)
instead.
** The 'default' horizon model removed.
Please be explicit about the texture classification system.
'USDA3' is what Daisy used to assume.
** You can now specify chalk content in horizons.
It is currently mostly ignored by the model, but might make it easier
to make the soil fractions add up to 1.
** Removed "N balance" and "Root Zone Water Balance".
Use "Field nitrogen", "Soil nitrogen", "Field water", eller "Soil
water" i stedet for.
** "Soil water" log now includes biopores.
** "Field water" log now include biopore percolation.
** New 'PenWaterFac' root parameter.
Allow water content to affect root penetration.
(sow ("Spring Barley" (Root (PenWaterFac (0 1) (0.9 1) (1 0)))))
In this example, root penetration will occur at full speed when the
soil water content is root depth is less than 90% saturated, and stop
when it fully saturated.
* 5.19
** Volatilization is back in Field nitrogen.
** Bug fixes for surface detension.
* 5.18
** You can now specify pH of soil.
The new 'SoilpH' parameter in the default column model allows you to
specify a 'soilph' model. Two models are implemented. The default is
'neutral' which specify a soil pH of seven. The other is named 'year',
and allows you to specify pH as a function of calendar year and soil
depth.
** Organic matter turnover can now depend on soil pH.
The new 'pH_factor' parameter in the default organim matter model
allows you to specify how turnover is affected by pH.
** New 'afforestation' vegetation model.
This is a forced growth model, i.e. not based on any growth factors
beside time. An example can be found in the 'sample' folder, as
'afforestation.dai'.
** You can now log the highest or lowest value in a volume.
The new 'space' parameter of the 'volume' select model has three
values, 'min', max', and 'sum'. The later is default and enable the
current behaviour.
** The "Field nitrogen" log parameterization has changed.
Dead leaves are now included as part of the crop nitrogen, instead of
seperately. The parameterization now works for permanent vegetation as
well.
* 5.17
** New 'post-process' program to convert daisy log files.
The program converts a Daisy log file into a Daisy log file. The main
function is to select a subset of the data, but it may also convert
between units.
(defprogram convert post-process
;; Select a subset of a ldf file.
(file "Estrup-content-Bromide.dlf") ;Input file.
(where "post.dlf") ;Output file.
;; Limit x position.
(left 300 [cm])
(right 400 [cm])
;; Limit depth.
(top -50 [cm])
(bottom -100 [cm])
;; Limit in time.
(after 2000 1 1)
(before 2001 1 1)
;; Convert unit.
(dimension [kg/m^3]))
(run convert)
* 5.16
** New action 'spray_surface'.
Apply chemical directly to surface, ignoring canopy. The
'irrigate_surface' and 'fertilize' actions now also ignore canopy.
** The 'Freundlich' sorption model changed.
The 'K_OC', 'K_clay', and 'm' parameters now all assumed they have
been calibrated for 'C' having the unit mg/L, rather g/cm^3 as before.
* 5.14
** Fix calculation of 'runoff'.
* 5.13
** New 'pipe_outlet' parameter for the 'lateral' drain model.
This allows (partial) simulation of high water level in drain outlet.
(Drain lateral
(pipe_outlet PLF
;; ((YEAR MONTH DAY) WATER_LEVEL)
((1987 9 1) -200 [cm]) ;; Interpolates between values.
((1987 10 1) -50 [cm]) ;; So mid-September is -125 cm.
((1988 2 1) -50 [cm])
((1988 3 1) -200 [cm]))))
** New "Drain lateral" log to keep track of above.
** New 'RsqrW' model for weighted opservations.
** The 'B_C' and 'M_C' hydraulic models now takes an 'l' parameter.
** Some fixes in weather support, might have broken stuff.
** Some prototype work on the GUI.
* 5.12
** "AOM Pools" and "Organic Matter" log models should work again.
Individual pools (SOM1, SOM2, SOM3) is refered to by name (SOM-SLOW,
SOM-FAST, SOM-INERT) rather than numbers.
** New "polygon" soil zone model.
When using 2D geomerties you can now specify soil zones with arbitrary
polygons. Specifically, the "zones" Soil parameter now accept "zone"
models. The "box" model works as before, but the "polygon" model
allows you to specify an arbitrary polygon. E.g.
(defcolumn Andeby default
(Soil (horizons (-20 [cm] Ap) (-2.5 [m] C))
(zones ((polygon (outer (0 0) (0 10) (-10 0))) HorX)
((box (top finite -3 [cm]) (bottom finite -24 [cm])
(left finite 0 [cm]) (right finite 25 [cm]))
HorY))
** You can now plot 2D soil type profile.
To plot the soil type profile of the column Andeby:
(defgnuplot PlotMe profile
(where "andeby-soil.pdf")
(column Andeby))
(defprogram RunMe gnuplot
(graph PlotMe))
(run RunMe)
** New "growth" root density model.
Use it like this:
(sow ("Spring Barley" (Root (rootdens growth))))
Or for row crops, like this:
(sow ("Spring Barley" (Root (rootdens growth (row_distance 80 [cm]))))
("row_width" 80 [cm]))
The models works like this:
When the root mass is growing, new roots are distributed equally in
the root zone up to DensRtTip (default 0.1 [cm/cm^3]), and any
additional roots are distributed according to the existing root mass.
When the root mass is shrinking, roots are lost proportional to the
existing root mass.
Unlike the existing models, this model is dynamic, that is, the
spatial distribution of the roots will depend on the history. If most
root mass is added while the root zone is small, the roots will be
concentrated in the initial root zone. If the root mass is mainly
added when the root zone is fully developed, the roots will be more
equally distributed within the root zone.
** Bug fixes.
* 5.08
** Bug fixes, mostly affecting variable timesteps.
* 5.07
** New "vector" gnuplot model.
This model will plot 2D flux values as a vector field.
(defgnuplot MyVector vector
(when 2000 1 1) ; At point
;; (begin 2000 1 1) (end 2001 1 1) ; Sum in interval.
(factor 0.4) ; Adjust lenght of vectors.
(legend none)
(file "matrix_water_flux.dlf"))
* 5.06
** Numeric adjustment of water movement and solute transport.
* 5.05
** New 'stabilizing_method' in the Mollerup transport method.
** New 'max_rain' weather parameter.
Set this to decrease timestep under heavy rain.
* 5.04
** Bug fix in secondary domain sorption.
* 5.03
** Stabilizing secondary domain solute transport.
* 5.02
** Numeric adjustment of water movement.
* 5.01
** New conditions 'daily_precipitation_above' and 'daily_air_temperature_above'.
* 5.00
** Bug fixes.
** New 'solubility' and 'solubility_infiltration_factor' parameters.
In the default chemical model. These control the maximum concentration
in water that enters the soil.
** New 'Rsqr' summary model.
Will compare simulation results with a data set and calculate R^2.
** New 'minimize' program.
Allow you to find the parameters that constitute the best fit.
** New 'r_pore_min' horizon parameter.
This parameter controls the division of sorption sites between primary
and secondary domain.
** New 'B2M' and 'M2B' biopore log variables.
These will allow you to log water entering and leaving the biopores
seperately.
** New units [fraction dry soil] and [dry soil ppm] for logging.
To log content as fraction of dry soil. Just using [ppm] only works
for mediums with the same mass/volume ratio as water.
** New 'profile' xysource model.
** New 'valid' parameter in the 'expr' xysource model.
** Restore model sample to reference manual.
* 4.99
Bug fixes.
* 4.98
Bug fixes.
* 4.97
Bug fixes.
* 4.96
** New TempOffset weather parameter.
Works like PrecipScale.
* 4.95
** Restored 'TempOffset'.
* 4.94
** Bug fixes.
* 4.93
** More flexible weather data handling.
*** The 'simple' and 'none' weather models are gone.
The new 'const' model (see later) can sometimes be used as
replacement.
*** The 'default' weather model is rewritten.
There are probably many new bugs, and the error messages are likely
less informative. However, it is more flexible as described below.
**** More fine grained weather data available weather files.
You can now specify "Minute", "Second", and even "Microsecond" in the
weather files. If you have set 'minimal_timestep', Daisy will try to
make the timesteps match the weather data.
You can also specify time with a "Date" (or "time") column. The
format is one of
yyyy-mm-dd
yyyy-mm-ddThh
yyyy-mm-ddThh:mm
yyyy-mm-ddThh:mm:ss
yyyy-mm-ddThh:mm:ss.uuuuuu
depending on the desired resolution.
All weather data describe the preceding time step, except for daily
data which describe the specified date. So
1999-02-05
will specify the weather for the fifth of February, 1999, while
1999-02-05T04
will specify the weather for the the hour between 3 and 4 the same day
(assuming hourly data).
**** Keywords, columns, and parameters interchangeable.
All numeric data about the weather files can be specified as keywords,
columns, or parameters. For example, to run with a constant vapour
pressure of 1000 Pascal, you can specify
VapPres: 1000 Pa
in the weather file header. Or alternatively, as a parameter:
(weather default "dk-taastrup.dwf"
(VapPres 1000 [Pa]))
Doing the later will overwrite any value specified in dk-taastrup.dwf.
Data that are not simple numbers (like Surface or PrecipCorrect) can
be specified as keywords or parameters.
**** Single number allowed for PrecipCorrect and PrecipScale.
If you specify a single number, it is assumed to represent the whole
year.
*** New 'table' model.
The new 'table' model differs from the 'default' model on three points.
1. The file name is specified with an explicit 'file' parameter. E.g.
(weather table (file "dk-taastrup.dwf"))
2. The 'missing_years' parameter is not supported.
3. The 'table' model can be used with the 'combine' and 'time' models,
explained below.
*** New 'const' model.
This is identical to the 'table' model, except that the 'file'
parameter is not accepted. This means weather data must be specified
as parameters. The value will therefore be constant, except the
radiation which will still follow a day cycle based on relative
extraterrestrial radiation.
*** New 'combine' model.
The 'combine' model will allow you to combine multiple sources of
weather data. It has a single parameter 'entry', which is a list of
weather sources entries. Each entry have 'begin', 'end', 'use', and
'source' parameters. The 'begin' and 'end' parameters specify the
time interval where we should use this particular source. The 'use'
parameter specified the data we should extract from this particular
source. The particular value 'Any' specifies that we should use all
the data provided by the source. Finally, 'source' specifies the
source. This can be any weather model but 'default'. For each type
of weather data, Daisy will examine each entry in sequence, and use
the first match. If the 'begin' and 'end' parameters are unspecified,
the entry will cover from the start to the end of the simulation. The
default value for 'use' is 'Any'.
Fo example, we might want to use weather data from the file
"dk-taastrup.dwf", except for precipitation during the summer, where
we instead use data from file "dk-taastrup-hourly.dwf".
(weather combine
(entry ((begin 2006 6 1 0)
(end 2006 9 1 0)
(use Precip)
(source table (file "dk-taastrup-hourly.dwf")))
((source table (file "dk-taastrup.dwf")))))
*** New 'time' model.
The time model allows you to use weather data from a different period.
E.g.
(weather time (from 2002) (to 2006)
(source table (file "dk-taastrup.dwf")))
will use four years old weather data in the simulation. Note that all
weather data is mapped, so 2001 data will be used for 2005, and 2003
data for 2007. It can be combined with the 'combine' model to map
only a selected period. For example
(weather combine
(entry ((begin 2006 1 1 0)
(end 2007 1 1 0)
(source time (from 2002) (to 2006)
(source table (file "dk-taastrup.dwf"))))
((source table (file "dk-taastrup.dwf")))))
will use data from "dk-taastrup.dwf", with the exception that 2002
data will be used for 2006.
Note that while dates until the 28 of February will be an exact match
for the two specified years, other dates may be one day off due to
leap years.
If you don't want to map year to year, you can specify 'offset'
instead of 'from' and 'to'.
(weather time (source table (file "dk-taastrup.dwf"))
(offset (days 1) (hours 0) (minutes 0) (seconds 0) (microseconds 0)))
This will use yesterdays weather data. So will this
(weather time (source table (file "dk-taastrup.dwf"))
(offset (days 1)))
as all the 'offset' parameters default to zero. There is no 'year'
parameter to offset, since that is not a well defined length of time.
* 4.92
** Bug fixes and code cleanup.
* 4.91
** Bug fixes and code cleanup.
* 4.90
** New "log_prefix" top level parameter.
All output files will have this added to the front of their names.
Can be used as an alternative to the "directory" parameter, but
remember the directory seperator. E.g.
(log_prefix "C:/foo/")
to put all log files in "C:\foo".
** Fixed OpenMI bug.
** New 'reset_offset' column source parameter.
This allows you to force time plots to start at zero.
** New 'sequence' action.
This is just like activity, except that all the action list is within
a 'do' parameter.
** Some work on ice.
It doesn't really work yet, though.
** Allow plot of boundaries with xysource.
** Prevent rain from being below 0.1 degrees.
** New "source" groundwater model.
Reads data from a ".ddf" file, unlike the old "file" model.
** Don't infiltrate chemicals when negligible water enter the soil.
* 4.89
Bug fix affecting OpenMI.
* 4.88
Bug fixes.
* 4.87
** FAO_PM pet model: 'use_wet' now default true.
Should lead to more evapotranspiration from wet surfaces.
** Reduced memory use during initialization by orders of magnitude.
** Dimension change in log files.
The dimension of most flux variables in the standard log files has
changed so it no longer contain the log timestep. For example,
logging "Field water" weekly would have the unit for fluxes be mm/w,
while logging monthly would have the same units be mm/m. Now it will
be mm. The actual values will be the same, the interpretation is
"amount of water since last we logged".
The advantages of this new interpretation are that 1) We avoid weird
units, 2) it works with intervals that have no nice symbol (like
biweekly), and 3) it works with variable timesteps.
Technically, internally in Daisy most flux unit are per time
(independent of the actual timestep used by Daisy). When a log file
parametrization specifies (handle sum) this value will be multiplied
with the length of the timestep. What happens now is that the unit is
also multiplied be the unit of the timestep [h].
If you really want the dimension of flux variables to be per time,
specify (handle average) instead, which will divide the value and unit
by the total time between log entries in hours, returning to the
original unit. You can then tell Daisy to convert this to another
timestep by specifying 'dimension' explicitly.
** Variable timesteps.
Yo can now allow Daisy to temporarily decrease timesteps in order to
achieve more stable results. You do this by setting the parameter
'minimal_timesteps', like this:
(minimal_timestep (microseconds 1))
One microsecond is the smallest possible timestep. The 'timestep'
parameter specifies the largest timestep. There is no hard upper limit
here, but many models will likely fail to work with timesteps larger
than one hour.
By default, 'minimal_timestep' is set to the same value as 'timestep',
thus forcing the models to use fixed timesteps.
This variable timestep affects all Daisy processes, unlike the already
existing variable timesteps internal to the water movement and solute
transport processes.
** Drain component and biopore tertiary model may limit timestep
If you specify drain pipes with the 'Drain' column parameter, or
specify macropores by setting the Tertiary parameter to the 'biopores'
model, the timestep may be limited by the source/sink terms. Daisy
will calculate an initial estimate for the source/sink terms, and try
to limit the timesteps so that the water change in each numerical cell
stay "reasonable" within the timestep.
What is reasonable is determined by the 'max_sink_change' parameter in
SoilWater. It is given as percentage of the difference in water
content between wilting and saturation point.
(SoilWater (max_sink_change 1 [%]))
The default value is 10%.
** Chemistry may also limit timestep.
This is again based on the matrix water sink term from the drain
component and biopore tertiary model.
You can specify acceptable loss relative to the total content
(including sorbed forms), the solute content alone, or the content of
the secondary domain (if applicable). The parameters, together with
their default values, are specified like this.
(Chemistry original
(max_sink_total 50 [%])
(max_sink_solute 90 [%])
(max_sink_secondary 150 [%])
(min_sink_total 1 [%]))
The last parameter, 'min_sink_total' overwrites the other, meaning
that 1% of the total content of a cell will always be allowed to
escape through the sinks.
** New 'microsecond' resolution.
Daisy can now track time on microsecond basis if so desired. You can
specify microseconds all the same places where you used to be able to
specify seconds. For example, to get microseconds in log files, specify
(log_time_columns year month mday hour minute second microsecond)
** New 'Time' log.
This log will provide information about the timestep.
** The 'none' chemistry is now build in.
So there is no longer any reason to load 'chemistry.dai' just in order
to disable chemistry.
** Biopore wall resistance change.
The R_primary and R_secondary parameters are gone, instead we have
K_wall_relative, which denote the conductivity of the biopore wall
relative to the surrounding matrix.
** Water movement on the x surface with 2D simulations.
The water movement on surface within the system being simulated is now
controlled by a new Surface parameter LocalDetentionCapacity. If the
average ponding on the surface is above this threshold, all part of
the surface will have the same ponding. Otherwise, if the ponding
locally is above this threshold, excess water will be distributed
evenly to the rest of the surface (limited by the threshold).
** Tertiary flux below surface now approximated.
The 'biopores' tertiary model didn't use to calculate a flux below
surface. It still doesn't but it find an approximate value based on a
mass balance that ignores the storage capacity of the biopores. The
values will likely be very much of for individual timesteps, but
averaged over a long period (long enough that the storage capacity
become an insignificant part of the mass balance), the approximation
should work well.
** New 2D plot facilities.
*** Content.
Assuming 'soil_water_content.dlf' list water content in all cells, the
following small setup file will generate a 'daisy.gnuplot' file, which
will show a 2D representation on the screen when feed into the gnuplot
program.
(defgnuplot sample soil
(file "soil_water_content.dlf")
(when 2000 5 28))
(defprogram showme gnuplot
(graph sample))
(run showme)
The 'type' parameter allows you to select between 'block', 'smooth',
'surface', and 'contour' plots, and the 'top', 'bottom', 'left' and
'right' parameters allows you to zoom into a rectangular subset of the
soil.. More information about generating plots can be found in the
tutorial, and more details on the 'soil' model can be found in the
reference manual.
*** Flux
You can now plot horizontal flux as a function of depth, or vertical
flux as a function of the x-position. Here is an example that plot
horizontal flux at two different distances from the drain.
(defxysource hor50 flux
"Horizontal flux at x=50."
(file "matrix-water-flux.dlf")
(x 50 [cm])
(when 1999 9 28))
(defxysource hor150 flux
"Horizontal flux at x=150."
(file "matrix-water-flux.dlf")
(x 150 [cm])
(when 1999 9 28))
(defgnuplot plothor xy
"Horizontal flux at x=50 and x=150."
(source hor50 hor150))
(defprogram showit gnuplot
(graph plothor))
(run showit)
* 4.86
** No externally visible changes.
* 4.85
** Made albedo logable.
* 4.84
** Surface decompose rate now defaults to canopy dissipation rate.
It use to default to soil decompose rate.
** Drain moved from Movement to column.
(defcolumn Example default
(Drain lateral
(L 18 [m])
(pipe_position -110.0 [cm]))
(Groundwater aquitard
(K_aquitard 0.050 [cm/h])
(Z_aquitard 200 [cm])
(pressure_table (file "Rorrende_88.gwt"))))
* 4.83
** Made 'K_at_h' with with the 'B_C_inverse' hydraulic model.
* 4.82
** New LAIfactor permanent vegetation parameter.
This is used for scaling LAI. For example
(Vegetation (Coniferous (LAIfactor 2.0 [])) )
will use the Coniferous parameters, with twice as much LAI.
* 4.81
** Many speedups.
** The default weather model will now distribute daily rain better.
Rain intensity below the value of 'minimum_precipitation' parameter
will be applied beginning at midnight at the rate specified by the
parameter, followed dry weather for the rest of the day.
The default value (0.83 mm/h) is the average hourly rain intensity at
the Taastrup agrometeorological station.
The effect of is that transpiration and soil evaporation increase, and
evaporation from ponded and intercepted water decreases.
** Most management actions are now instantanious.
They used to take one timestep (1 hour).
For example
(wait (at 1987 4 5 1))
(fertilize (pig_slurry (first_year_utilization 100 [%]))
(equivalent_weight 100 [kg N/ha]))
(sow "Grass")
(sow "Spring Barley")
will now both fertilize and sow the two crops during the same hour, it
used to take three hours to complete all three actions.
This includes irrigation, even when a irrigation duration is
specified. For example
(wait (at 1987 6 5 1))
(irrigate_overhead 2 [mm/h] (hours 3)
(solute (NH4 1 [g N/l])(NO3 2 [g N/l])))
(fertilize (mineral (weight 80.0 [kg N/ha])
(NH4_fraction 0.5 [])))
will start the irrigation and then immidiately fertilize in the first
hour. The irrigation will then continue for two more hours, without
need for further manager involvement.
This affects the 'activity' action model. The change was made to make
management more independent of the selected timestep, and because the
old semantics could be problematic to get right.
** New EpFacWet canopy parameter.
Specifies K_c for wet surface. By default it is identical to EpFac.
** The FAO_PM reference evapotranpiration model used actual albedo.
Not it used the reference value.