-
Notifications
You must be signed in to change notification settings - Fork 14
Level 6
Peter Isaac edited this page Oct 12, 2021
·
2 revisions
- Read the Level 5 netCDF4 file; make a copy of the L5 data, ds6 = pfp_io.copy_datastructure(cf, ds5)
- ds6 will be empty (logical false) if an error occurs in copy_datastructure, return from this routine if this is the case
- Set some attributes for this level - pfp_utils.UpdateGlobalAttributes(cf, ds6, "L6")
- Parse the control file - l6_info = pfp_rp.ParseL6ControlFile(cf, ds6)
- Check to see if we have any imports - pfp_gf.ImportSeries(cf, ds6)
- Check units of Fc - Fc_list = [label for label in ds6.series.keys() if label[0:2] == "Fc"], pfp_utils.CheckUnits(ds6, Fc_list, "umol/m2/s", convert_units=True)
- ER
- Get ER from the observed Fc - pfp_rp.GetERFromFc(cf, ds6)
- Return code will be non-zero if turbulance filter not applied to CO2 flux, if not zero return
- Estimate ER using SOLO - pfp_rp.ERUsingSOLO(main_gui, ds6, l6_info, "ERUsingSOLO")
- Estimate ER using FFNET - pfp_rp.ERUsingFFNET(cf, ds6, l6_info)
- Estimate ER using Lloyd-Taylor - pfp_rp.ERUsingLloydTaylor(cf, ds6, l6_info)
- Estimate ER using Lasslop et al - pfp_rp.ERUsingLasslop(ds6, l6_info)
- Merge the estimates of ER with the observations - pfp_ts.MergeSeriesUsingDict(ds6, l6_info, merge_order="standard")
- Get ER from the observed Fc - pfp_rp.GetERFromFc(cf, ds6)
- NEE
- Calculate NEE from Fc and ER - pfp_rp.CalculateNEE(cf, ds6, l6_info)
- Calculate NEP from NEE - pfp_rp.CalculateNEP(cf, ds6)
- ET
- Calculate ET from Fe - pfp_rp.CalculateET(ds6)
- Partitioning
- Partition NEE into GPP and ER - pfp_rp.PartitionNEE(ds6, l6_info)
- Data stats and clean up
- Write the percentage of good data as a variable attribute - pfp_utils.get_coverage_individual(ds6)
- Write the percentage of good data for groups - pfp_utils.get_coverage_groups(ds6)
- Remove intermediate series from the data structure - pfp_ts.RemoveIntermediateSeries(ds6, l6_info)
- Do the L6 summary - pfp_rp.L6_summary(cf, ds6)