Ejemplo n.º 1
0
from tradssat.tmpl.output import OutFile
from tradssat.tmpl.var import FloatVar, IntegerVar


class ETOut(OutFile):
    filename = 'ET.OUT'

    def _get_var_info(self):
        return vars_


vars_ = {
    IntegerVar('YEAR', 4, info='Year'),
    IntegerVar('DOY', 3, info='Day of year starting on Jan 1.'),
    IntegerVar('DAS', 3, info='Day after start'),
    FloatVar('SRAA', 4, 2, info='Average solar radiation (MJ/(m2.day'),
    FloatVar('TMAXA', 5, 2, info='Average maximum air temperature (°C)'),
    FloatVar('TMINA', 5, 2, info='Average minimum air temperature (°C)'),
    FloatVar('EOAA', 4, 3, info='Average potential evapotranspiration (mm/d)'),
    FloatVar('EOPA', 4, 3, info=' Average potential transpiration (mm/d)'),
    FloatVar('EOSA', 4, 3, info='Average potential soil evaporation per day (mm/day)'),
    FloatVar('ETAA', 4, 3, info='Average evapotranspiration (mm/d)'),
    FloatVar('EPAA', 4, 0, info=' Average plant transpiration (mm/d)'),
    FloatVar('ESAA', 4, 3, info='Average soil evaporation (mm/d)'),
    FloatVar('EFAA', 4, 0, info='Average flood evaporation (mm/d)'),
    FloatVar('EMAA', 4, 3, info='Average mulch evaporation (mm/d)'),
    FloatVar('EOAC', 4, 2, info='Cumulative potential evapotranspiration (mm)'),
    FloatVar('ETAC', 4, 2, info='Cumulative evapotranspiration (mm)'),
    FloatVar('EPAC', 4, 0, info=' Cumulative transpiration (mm)'),
    FloatVar('ESAC', 4, 2, info='Cumulative soil evaporation (mm)'),
    FloatVar('EFAC', 4, 0, info='Cumulative floodwater evaporation (mm)'),
Ejemplo n.º 2
0
from tradssat.tmpl.var import CharacterVar, FloatVar, IntegerVar

vars_ = {
    CharacterVar('INSI', 4, spc=2, info='Institute + Site code'),
    FloatVar('LAT', 8, 3, info='Latitude, degrees (decimals)'),
    FloatVar('LONG', 8, 3, info='Longitude, degrees (decimals)'),
    FloatVar('ELEV', 5, 0, info='Elevation, m'),
    FloatVar('TAV', 5, 1, info='Air temperature average, °C'),
    FloatVar('AMP', 5, 1, info='Air temperature amplitude, monthly averages, °C'),
    FloatVar('REFHT', 5, 1, info='Height of temperature measurements, m'),
    FloatVar('WNDHT', 5, 1, info='Height of wind measurements, m'),
    IntegerVar('CCO2', 4, info='Atmospheric CO2, ppm'),

    CharacterVar('DATE', 5, spc=0, info='Year + days from Jan. 1'),
    FloatVar('SRAD', 5, 1, info='Solar radiation, MJ m-2 day-1'),
    FloatVar('TMAX', 5, 1, info='Air temperature maximum, °C'),
    FloatVar('TMIN', 5, 1, info='Air temperature minimum, °C'),
    FloatVar('RAIN', 5, 1, info='Precipitation, mm'),
    FloatVar('DEWP', 5, 1, info='Dewpoint temperature5, °C'),
    FloatVar('WIND', 5, 1, info='Wind run, km day-1'),
    FloatVar('PAR', 5, 1, info='Photosynthetic active radiation (PAR)5, moles m-2 day-1'),
    FloatVar('EVAP', 5, 1),
    FloatVar('RHUM', 5, 1)

}
Ejemplo n.º 3
0
from tradssat.tmpl.output import OutFile
from tradssat.tmpl.var import FloatVar, IntegerVar


class SoilWatOut(OutFile):
    filename = 'SoilWat.Out'

    def _get_var_info(self):
        return vars_


vars_ = {
    IntegerVar('YEAR', 4, info='Year'),
    IntegerVar('DOY', 3, info='Day of year starting on Jan 1.'),
    IntegerVar('DAS', 3, info='Day after start'),
    IntegerVar('SWTD', 4, info='total soil water in profile, mm'),
    IntegerVar('SWXD', 4, info='potentially extractable water, cm'),
    IntegerVar('ROFC', 4, info='cumulative runoff'),
    IntegerVar('DRNC', 4, info='cumulative drainage'),
    IntegerVar('PREC', 4, info='cumulative precipitation'),
    IntegerVar('IR#C', 4, info='irrigation'),
    IntegerVar('IRRC', 4, info='cumulative irrigation'),
    IntegerVar('DTWT', 4, info='water table depth, cm'),
    FloatVar('MWTD', 4, 2, info='water stored in mulch layer, mm'),
    FloatVar('TDFD', 4, 0, info='water lost to tile drainage, mm/d'),
    FloatVar('TDFC', 4, 0, info='cumulative water lost to tile drainage, mm'),
    FloatVar('ROFD', 4, 0, info='total daily surface runoff, mm/d'),
    FloatVar('SW1D', 4, 3, info='soil water content at 0-5 cm depth, mm3/mm3'),
    FloatVar('SW2D', 4, 3, info='soil water content at 5-15 cm depth, mm3/mm3'),
    FloatVar('SW3D', 4, 3, info='soil water content at 15-30 cm depth, mm3/mm3'),
    FloatVar('SW4D', 4, 3, info='soil water content at 30-45 cm depth, mm3/mm3'),
Ejemplo n.º 4
0
from tradssat.tmpl.output import OutFile
from tradssat.tmpl.var import FloatVar, IntegerVar


class SoilNiOut(OutFile):
    """
    Reader for DSSAT soil nitrogen (SOILNI.OUT) files.
    """
    filename = 'SoilNi.Out'

    def _get_var_info(self):
        return vars_


vars_ = {
    IntegerVar('YEAR', 4, info='Year'),
    IntegerVar('DOY', 3, info='Day of year starting on Jan 1.'),
    IntegerVar('DAS', 3, info='Day after start'),
    IntegerVar('NAPC', 4, info='Cumulative inorganic N applied, kg/ha'),
    IntegerVar('NI#M', 4, info='N application numbers'),
    FloatVar('NIAD', 4, 1, info='Inorganic N in soil, kg/ha'),
    FloatVar('NITD', 4, 1, info='Amount of total NO3, kg/ha'),
    FloatVar('NHTD', 4, 1, info='Amount of total NH4, kg/ha'),
    FloatVar('NI1D', 4, 2, info='NO3 at 0-5 cm soil depth, ppm'),
    FloatVar('NI2D', 4, 2, info='NO3 at 5-15 cm soil depth, ppm'),
    FloatVar('NI3D', 4, 2, info='NO3 at 15-30 cm soil depth, ppm'),
    FloatVar('NI4D', 4, 2, info='NO3 at 30-45 cm soil depth, ppm'),
    FloatVar('NI5D', 4, 2, info='NO3 at 45-60 cm soil depth, ppm'),
    FloatVar('NI6D', 4, 2, info='NO3 at 60-90 cm soil depth, ppm'),
    FloatVar('NI7D', 4, 2, info='NO3 at 90-110 cm soil depth, ppm'),
    FloatVar('NH1D', 4, 2, info='NH4 at 0-5 cm soil depth, ppm'),
Ejemplo n.º 5
0
GENERAL = 'GENERAL'

header_vars = [
    CharacterVar('EXPCODE', 10, info='Experiment identifier'),
    CharacterVar('ENAME', 60, info='Experiment name')
]

main_vars = {

    # General
    CharacterVar('PEOPLE', 75, sect=GENERAL, info='Names of scientists'),
    CharacterVar('ADDRESS', 75, sect=GENERAL, info='Contact address of principal scientist'),
    CharacterVar('SITE', 75, sect=GENERAL, info='Name and location of experimental site(s)'),

    FloatVar('PAREA', 6, 1, sect=GENERAL, spc=3, info='Gross plot area per rep, m-2'),
    IntegerVar('PRNO', 5, sect=GENERAL, info='Rows per plot'),
    FloatVar('PLEN', 5, 1, sect=GENERAL, info='Plot length, m'),
    IntegerVar('PLDR', 5, sect=GENERAL, info='Plots relative to drains, degrees'),
    IntegerVar('PLSP', 5, sect=GENERAL, info='Plot spacing, cm'),
    CharacterVar('PLAY', 5, sect=GENERAL, info='Plot layout'),
    FloatVar('HAREA', 5, 1, sect=GENERAL, info='Harvest area, m-2'),
    IntegerVar('HRNO', 5, sect=GENERAL, info='Harvest row number'),
    FloatVar('HLEN', 5, 1, sect=GENERAL, info='Harvest row length, m'),
    CharacterVar('HARM', 15, sect=GENERAL, info='Harvest method'),

    CharacterVar('NOTES', 500, sect=GENERAL, info='Notes'),

    # Treatments
    IntegerVar('N', 2, spc=0, sect=TRT_HEAD, info='Treatment number'),
    IntegerVar('R', 1, sect=TRT_HEAD, info='Rotation component: number (default=1)'),
    IntegerVar('O', 1, sect=TRT_HEAD, info='Rotation component: option (default=1)'),
Ejemplo n.º 6
0
    CharacterVar(
        'VAR-NAME', 16, header_fill='.', info='Name of cultivar as recognized commercially or within industry.'
    ),
    CharacterVar('EXPNO', 5, miss='.', info='Number of experiments used to estimate cultivar parameters.'),
    CharacterVar('ECO#', 6, info='Ecotype code of this cultivar in the ECO input file'),

    FloatVar(
        'LFMAX', 5, 3,
        info='Maximum leaf photosynthesis rate, 30 C, 350 ppm CO2 and high '
             'light (used in leaf-level ET routine - Not yet in CASUPRO). mg CO2/m2-s'),
    FloatVar(
        'PHTMX', 5, 1, info='Maximum amount of CH20 which can be produced if PAR is very high, g[CH2O]/m2-d'
    ),
    FloatVar('Stalk', 5, 3),
    FloatVar('Sucro', 5, 3),
    IntegerVar('Null1', 5),
    FloatVar('PLF1', 5, 3),
    FloatVar('PLF2', 5, 3),
    FloatVar('Gamma', 5, 3),
    FloatVar('StkB', 5, 3),
    FloatVar('StkM', 5, 3),
    IntegerVar('Null3', 5),
    FloatVar('SIZLF', 5, 2),
    FloatVar('PLF2', 5, 3),
    FloatVar('LIsun', 5, 3),
    FloatVar('LIshd', 5, 3),
    IntegerVar('Null4', 5),
    FloatVar('TB(1)', 5, 3),
    FloatVar('TO1(1)', 5, 2),
    FloatVar('TO2(1)', 5, 2),
    FloatVar('TM(1)', 5, 2),
Ejemplo n.º 7
0
from tradssat.tmpl.var import CharacterVar, FloatVar, IntegerVar

vars_ = {
    CharacterVar('INSI', 4, spc=2, info='Institute + Site code'),
    FloatVar('LAT', 8, 3, info='Latitude, degrees (decimals)'),
    FloatVar('LONG', 8, 3, info='Longitude, degrees (decimals)'),
    FloatVar('ELEV', 5, 0, info='Elevation, m'),
    FloatVar('TAV', 5, 1, info='Air temperature average, °C'),
    FloatVar('AMP', 5, 1, info='Air temperature amplitude, monthly averages, °C'),
    FloatVar('SRAY', 5, 1, info=''),
    FloatVar('TMXY', 5, 1, info=''),
    FloatVar('TMNY', 5, 1, info=''),
    IntegerVar('RAIY', 5, info=''),

    IntegerVar('START', 5, spc=0, info=''),
    IntegerVar('DURN', 5, info=''),
    FloatVar('ANGA', 5, 2, info=''),
    FloatVar('ANGB', 5, 2, info=''),
    FloatVar('REFHT', 5, 1, info=''),
    FloatVar('WNDHT', 5, 1, info=''),
    CharacterVar('SOURCE', 50, info=''),
    IntegerVar('GSST', 5, info=''),
    IntegerVar('GSDU', 5),

}
Ejemplo n.º 8
0
     info='Fr.of assimilate designated for tops sent to storage root (#)'),
 FloatVar('HMPC', 5, 0, info='Harvest product moisture content (%)'),
 FloatVar(
     'PHINT',
     5,
     0,
     info='Interval between leaf tip appearances for first leaves (oC.d)'),
 FloatVar(
     'LA1S',
     5,
     0,
     info='Area/leaf (cm2) of the first leaves when growing without stress.'
 ),
 FloatVar('LAXS', 5, 0, info='Area/leaf at maximum area/leaf (cm2)'),
 IntegerVar('LAXND',
            5,
            info='Node # at which maximum potential area/leaf reached (#)'),
 IntegerVar(
     'LAXN2',
     5,
     info='Node # at which potential area/leaf begins to decline (#)'),
 FloatVar('LAFS', 5, 0, info='End of cycle area/leaf (cm2)'),
 IntegerVar('LAFND',
            5,
            info='Node # at which the end of cycle area/leaf reached (#)'),
 IntegerVar(
     'SLAS',
     5,
     info=
     'Specific leaf lamina area when crop growing without stress (cm2/g)'),
 FloatVar(
Ejemplo n.º 9
0
from tradssat.tmpl.output import OutFile
from tradssat.tmpl.var import FloatVar, IntegerVar


class MulchOut(OutFile):
    filename = 'Mulch.Out'

    def _get_var_info(self):
        return vars_


vars_ = {
    IntegerVar('YEAR', 4, info='Year'),
    IntegerVar('DOY', 3, info='Day of year starting on Jan 1.'),
    IntegerVar('DAS', 5, info='Day after start'),
    FloatVar('MCFD', 7, 3, info='fraction of soil covered by mulch'),
    FloatVar('MDEPD', 7, 2, info='thickness of mulch layer, cm'),
    IntegerVar('MWAD', 7, info='mass of mulch layer, kg/ha'),
    FloatVar('MWTD', 7, 2, info='water stored in mulch layer, mm'),
}
Ejemplo n.º 10
0
from tradssat.tmpl.output import FinalOutFile
from tradssat.tmpl.var import IntegerVar, CharacterVar, FloatVar


class SummaryOut(FinalOutFile):
    """
    Reader for DSSAT run summary (SUMMARY.OUT) output files.
    """
    filename = 'Summary.OUT'

    def _get_var_info(self):
        return _vars


_vars = {
    IntegerVar('RUNNO', 5, spc=4, info='Run number'),
    IntegerVar('TRNO', 5, spc=2, info='Run number'),
    IntegerVar('R#', 2, info='Repetition number'),
    IntegerVar('O#', 2, info=''),
    IntegerVar('C#', 2, info=''),
    CharacterVar('CR', 2, info='Crop code'),
    CharacterVar('MODEL', 8, header_fill='.', info='DSSAT crop model used'),
    CharacterVar('EXNAME', 8, header_fill='.', info='Experiment file name'),
    CharacterVar('TNAM', 25, header_fill='.', info='Treatment name'),
    CharacterVar('FNAM', 8, header_fill='.', info='Field name'),
    CharacterVar('WSTA', 8, header_fill='.', info='Weather station name'),
    CharacterVar('SOIL_ID', 10, header_fill='.', info='Soil name'),
    IntegerVar('SDAT', 7, info='Start date, YYYYDDD'),
    IntegerVar('PDAT', 7, info='Planting date, YYYYDDD'),
    IntegerVar('EDAT', 7, info='Emergence date, YYYYDDD'),
    IntegerVar('ADAT', 7, info='Anthesis date, start, YYYYDDD'),
Ejemplo n.º 11
0
from tradssat.tmpl.var import FloatVar, IntegerVar

vars_ = {
    IntegerVar('StYr', 5, info='Start year'),
    IntegerVar('StMn', 5, info='Start month'),
    IntegerVar('SpYr', 5, info='Stop year'),
    IntegerVar('SpMn', 5, info='Stop month'),
    IntegerVar('yr', 4, spc=0, info='Year'),
    IntegerVar('mo', 2, info='Month'),
    FloatVar('srmn', 5, 2, info='Solar radiation mean, MJ m-2 day-1'),
    FloatVar('srsd',
             5,
             2,
             info='Solar radiation standard deviation, MJ m-2 day-1'),
    FloatVar('txmn', 5, 2, info='Temperature maximum mean, °C'),
    FloatVar('txsd', 5, 2, info='Temperature maximum standard deviation, °C'),
    FloatVar('tnmn', 5, 2, info='Temperature minimum mean, °C'),
    FloatVar('tnsd', 5, 2, info='Temperature minimum standard deviation, °C'),
    FloatVar('ramn', 5, 2, info='Rainfall mean, mm'),
    FloatVar('rasd', 5, 2, info='Rainfall standard deviation, mm'),
}
Ejemplo n.º 12
0
from tradssat.tmpl.output import OutFile
from tradssat.tmpl.var import FloatVar, IntegerVar


class PlantGroOut(OutFile):
    """
    File reader for DSSAT plant growth (PLANTGRO.OUT) output files.
    """
    filename = 'PlantGro.OUT'

    def _get_var_info(self):
        return vars_


vars_ = {
    IntegerVar('TREATMENT', 2, info='Treatment number'),
    IntegerVar('YEAR', 4, info='Year'),
    IntegerVar('DOY', 3, info='Day of year starting on Jan 1.'),
    IntegerVar('DAS', 5, info='Day after start'),
    IntegerVar('DAP', 5, info='Days after planting'),
    FloatVar('L#SD', 6, 0, info='Leaf number'),
    IntegerVar('GSTD', 6, info='Growth stage'),
    FloatVar('LAID', 6, 2, info='Leaf Area Index'),
    IntegerVar('CWAD', 6, info='Tops dry weight, kg/Ha'),
    IntegerVar('VWAD', 6, info='Veg dry weight, kg/Ha'),
    IntegerVar('LWAD', 6, info='Leaf dry weight, kg/Ha'),
    IntegerVar('SWAD', 6, info='Stem dry weight, kg/Ha'),
    IntegerVar('FLWAD', 6, info='Flower dry weight, kg/Ha'),
    IntegerVar('FWAD', 6, info='Fruit dry weight, kg/Ha'),
    IntegerVar('CRAD', 6, info='Crown dry weight, kg/Ha'),
    IntegerVar('BWAD', 6, info='Basal dry weight, kg/Ha'),
Ejemplo n.º 13
0
from tradssat.tmpl.output import OutFile
from tradssat.tmpl.var import FloatVar, IntegerVar


class PlantGroOut(OutFile):
    """
    File reader for DSSAT plant growth (PLANTGRO.OUT) output files.
    """
    filename = 'PlantGro.OUT'

    def _get_var_info(self):
        return vars_

vars_ = {
    IntegerVar('TREATMENT', 2, info='Treatment number'),

    IntegerVar('YEAR', 4, info='Year'),
    IntegerVar('DOY', 3, info='Day of year starting on Jan 1.'),
    IntegerVar('DAS', 3, info='Day after start'),
    IntegerVar('DAP', 3, info='Days after planting'),
    FloatVar('L#SD', 4, 0, info='Leaf number'),
    FloatVar('GSTD', 4, 4, info='Growth stage'),
    FloatVar('LAID', 4, 2, info='Leaf Area Index'),
    IntegerVar('CWAD', 4, info='Tops dry weight, kg/Ha'),
    IntegerVar('VWAD', 4, info='Veg dry weight, kg/Ha'),
    IntegerVar('LWAD', 4, info='Leaf dry weight, kg/Ha'),
    IntegerVar('SWAD', 4, info='Stem dry weight, kg/Ha'),
    IntegerVar('FLWAD', 5, info='Flower dry weight, kg/Ha'),
    IntegerVar('FWAD', 4, info='Fruit dry weight, kg/Ha'),
    IntegerVar('CRAD', 4, info='Crown dry weight, kg/Ha'),
    IntegerVar('BWAD', 4, info='Basal dry weight, kg/Ha'),
Ejemplo n.º 14
0
from tradssat.tmpl.var import CharacterVar, FloatVar, IntegerVar

vars_ = {
    CharacterVar('INSI', 4, spc=2, info='Institute + Site code'),
    FloatVar('LAT', 8, 3, info='Latitude, degrees (decimals)'),
    FloatVar('LONG', 8, 3, info='Longitude, degrees (decimals)'),
    FloatVar('ELEV', 5, 0, info='Elevation, m'),
    FloatVar('TAV', 5, 1, info='Air temperature average, °C'),
    FloatVar('AMP',
             5,
             1,
             info='Air temperature amplitude, monthly averages, °C'),
    FloatVar('REFHT', 5, 1, info='Height of temperature measurements, m'),
    FloatVar('WNDHT', 5, 1, info='Height of wind measurements, m'),
    IntegerVar('DATE', 5, spc=0, info='Year + days from Jan. 1'),
    FloatVar('SRAD', 5, 1, info='Solar radiation, MJ m-2 day-1'),
    FloatVar('TMAX', 5, 1, info='Air temperature maximum, °C'),
    FloatVar('TMIN', 5, 1, info='Air temperature minimum, °C'),
    FloatVar('RAIN', 5, 1, info='Precipitation, mm'),
    FloatVar('DEWP', 5, 1, info='Dewpoint temperature5, °C'),
    FloatVar('WIND', 5, 1, info='Wind run5, km day-1'),
    FloatVar('PAR',
             5,
             1,
             info='Photosynthetic active radiation (PAR)5, moles m-2 day-1'),
    FloatVar('EVAP', 5, 1),
    FloatVar('RHUM', 5, 1)
}