TraDSSAT is a library to easily read and write DSSAT input and output files.
pdm add tradssat
or
pip install tradssat
Read the full thing here.
If you use traDSSAT, please consider citing this repository until we write a real publication about traDSSAT.
Parse and edit any DSSAT file directly:
from tradssat import SoilFile, WTHFile, ExpFile, set_dssat_dir
from tradssat import GeneticMgr, CULFile, ECOFile
# Read, edit and write soil files
soil = SoilFile('path/to/my/file.SOL')
# Read and write weather files as well
wth = WTHFile('path/to/my/WTHR0001.WTH')
# ...and experiment files!
exp = ExpFile('path/to/my/experiment.EXP')
# Access genetic coefficients by cultivar file or ecotype file
cul = CULFile('path/to/my/MZIXM.CUL')
eco = ECOFile('path/to/my/MZIXM.ECO')
cul.get_value('P1') # returns array of all varieties' P1
eco.get_value('TOPT') # returns array of all ecotypes' TOPT
# ...or automagically!
set_dssat_dir('C:/DSSAT47')
gen = GeneticMgr(crop='MZIXM', cult='PC0001')
gen.get_value('P1') # Returns P1 for MZIXM cultivar PC0001
gen.get_value('TOPT') # Returns ecotype variable TOPT for cultivar PC0001
Read, edit and write experiments, with automatic access to referenced external soil, genetic and weather files:
from tradssat import DSSATRun
run = DSSATRun('path/to/my/experiment.EXP')
run.get_trt_val('INGENO', trt=1) # Get cultivar for treatment 1
run.set_trt_factor_level(trt=1, factor='CULTIVARS', level=2) # Change level of treatment factor
run.set_factor_level_val('INGENO', 'IB0067', level=1) # Change value of a factor level (in this case cultivar type)
Access output from a run:
from tradssat import DSSATResults
out = DSSATResults('path/to/my/output/dir')
out.get_value('FWAD', trt=1)
# Get results at specific time (day of year, days after planting or days after start)
out.get_value('FWAD', trt=1, t=13, at='DAS') # Get result at 13 days after start
out.get_value('FWAD', trt=1, t=13, at='DAP') # Get result at 13 days after planting
out.get_value('FWAD', trt=1, t='1989 123', at='DOY') # Get result at 123th day of year 1989
Don't forget to add your name to the authors list in the docs/source/acknow.rst
file!
MIT License